Origin Server Redundancy
Origin Redundancy Settings
When configuring redundancy for OvenMediaEngine's Low-Latency HLS Origin Servers (or HLS Origin Servers), you can make the Segment file names on the Primary and Secondary Origin Servers the same through the Origin redundancy setting. This ensures that the Edge Server or CDN Cache Server connects to the Secondary Origin Server instead of the Primary Origin Server and downloads the same content seamlessly if the Primary Origin Server fails.
Enable <Publishers><LLHLS><ServerTimeBasedSegmentNumbering>
(or <Publishers><HLS><ServerTimeBasedSegmentNumbering>
) in Server.xml
as follows:
This feature generates segment file names based on server time, so you must synchronize the time on your primary and secondary origin servers.
Default Query String Settings
You can control the fundamental operations of Low-Latency HLS (or Legacy HLS) via the <DefaultQueryString>
.
Set in <Publishers><LLHLS><DefaultQueryString>
(or <Publishers><HLS><DefaultQueryString>
) in Server.xml
as follows:
_HLS_legacy
YES | NO * Default: NO
Sets the _HLS_legacy
value to YES
will remove partial segment information from LL-HLS playlists, making them work the same as legacy HLS like HLSv6.
* LL-HLS Only
_HLS_rewind
YES | NO * Default: YES
Using Propagatet Query String
When you enable <PropagateQueryString>
, the query string included in the initial Master Playlist request is automatically carried over to all sub-requests (Media Playlist, Segment, and Partial Segment). By including session keys, authentication tokens, etc., in the query string and utilizing this feature, content access control becomes easier as all requests can be verified at the CDN level.
Set the <Publishers><LLHLS><PropagateQueryString>
(or <Publishers><HLS><PropagateQueryString>
) in Server.xml
like this:
You should take care not to include sensitive information in the Query String directly.
Cache Validation
Enabling this feature allows identification of whether the cached resource version matches the resource in OvenMediaEngine. When the HTTP request includes the If-None-Match: "<etag_value>"
header, it compares the resource Etag with OvenMediaEngine's resource Etag, and if the values match, it returns 304 Not-Modified
.
Set the <Modules><ETag>
in Server.xml
like this: