Replies: 1 comment 1 reply
-
|
Since OME's edge does not receive HLS files from the origin but does HLS packaging itself, segment numbering can vary depending on timing. OME Enterprise supports ServerTimeBasedSegmentNumbering, but it is not perfect either. (This should only work for streams that can be managed precisely.) I recommend using an HTTP Proxy like nginx instead of using OME's edge for HLS. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, I've got multiple edges setup pulling from an origin. RTMP ingest, LLHLS publisher. All edges are using OriginMode true.
When using LLHLS and OriginMode, I noticed that the playlists are slightly different between the edges because they might not start pulling from the origin at exactly the same time. If for example we use round robin from our CDN to the multple edges, I'm hit with errors/warnings like this:
We could use sticky backend routing from our CDN, perhaps by IP hash or a cookie, etc to hit a consistent edge. We've tested that and it works. However we also have to consider that the CDN will health check each edge and if one goes down viewers will then get rerouted to a different oven edge. Or if we want to dynamically scale the number of edges up/down while streams are live, which creates complications with rebalancing load if sticky routing is used. Both cases could lead to mismatched playlists and cause playback stuttering/errors.
In our case, every edge is "warmed up" by a script that fetches the stream names from the redis used by OriginMapStore and makes a HEAD request to the playlist url on an interval less than UnusedStreamDeletionTimeout. But this doesn't happen at exactly the same moment for all edges and thus the playlists aren't consistent.
So, I'm wondering if it's possible to make the edge playlists consistent across multiple edges in OriginMode? Perhaps redis that oven already uses for OriginMapStore could be used to share more information between origin+edges.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions