OvenMediaEngine Enterprise
English
English
  • About
    • Introduction
    • Release Notes
      • 0.19.0
      • 0.18.3
      • 0.18.2
      • 0.18.1
      • 0.18.0
      • 0.17.3
      • 0.17.2
      • 0.17.1
      • 0.17.0
      • 0.16.8
      • 0.16.7
      • 0.16.6
      • 0.16.5
      • 0.16.4
  • Pre-Built Package Installation
    • Getting Started
      • Getting Started with Ubuntu
      • Getting Started with RHEL
      • Getting Started with Docker
    • Configuration Structure Overview
  • Advanced Security
    • Digital Rights Management (DRM)
      • OvenMediaEngine Configuration for DRM
      • PallyCon DRM Configuration
    • RTMP Authentication
  • SHA-2 Support
  • High Availability
    • Origin Redundancy
  • Web Console
    • Getting Started with Web Console
    • Web Console Overview
      • Sign In
      • Change Password
      • Web Console Home
      • Stream List
        • Managed and Instant Streams
        • Scheduled Channels
        • Multiplex Channels
      • Event Monitoring
        • Configuration
        • Event Specification
      • Web Console Publishing
      • Logs
      • Configuration Files
      • Restart
    • Web Console Settings
      • Server Settings
      • Live Sources (Ingress) Settings
      • ABR and Transcoding Settings
      • Streaming (Egress) Settings
      • TLS Encryption Settings
      • Access Control Settings
      • Thumbnail Settings
      • Recording Settings
      • Push Publishing Settings
      • REST API Settings
      • Alert Settings
  • Operations & Monitoring
    • API Storage
    • Recording Delivery
  • Performance Optimization
    • Hardware Encoder Support
  • Workflow Integration & External System Connectivity
    • CDN Cache Control
    • Proxy Protocol
    • SEI Insertion
    • AMF0 Message Insertion
    • HLS Markers (CUE-OUT/IN)
    • onCuePoint Message Insertion
    • Delay Buffer
    • Query String Handling
    • Default Playlist Creation
    • iOS Audio PTS
  • REST API
    • v2
      • Statistics
        • Current
Powered by GitBook
On this page
  1. Workflow Integration & External System Connectivity

Query String Handling

PreviousDelay BufferNextDefault Playlist Creation

Last updated 1 month ago

CtrlK
  • Default Query String Settings
  • Using Propagate Query String

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:

<?xml version="1.0" encoding="UTF-8"?>
<Server version="8">
  ...
  <VirtualHosts>
    <VirtualHost>
      <Applications>
        <Application>
          <Publishers>
            ...
            <LLHLS>
              <DefaultQueryString>
		        <Query>
				  <Key>_HLS_legacy</Key>
				  <Value>NO</Value>
		        </Query>
		        <Query>
				  <Key>_HLS_rewind</Key>
				  <Value>YES</Value>
			    </Query>
			  </DefaultQueryString>
            </LLHLS>
          </Publishers>
        </Application>
      </Applications>
    </VirtualHost>
  </VirtualHosts>
</Server>

This setting is ignored if the playback URL already has a query string appended to it.

Key
Value
Description

_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

If the _HLS_rewind value is set to YES and the feature is enabled, old segment information will be included in the playlist.

Using Propagate 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:

<?xml version="1.0" encoding="UTF-8"?>
<Server version="8">
  ...
  <VirtualHosts>
    <VirtualHost>
      <Applications>
        <Application>
          <Publishers>
            ...
            <LLHLS>
              <OriginMode>true</OriginMode>
              <PropagateQueryString>true</PropagateQueryString>
            </LLHLS>
          </Publishers>
        </Application>
      </Applications>
    </VirtualHost>
  </VirtualHosts>
</Server>

You should take care not to include sensitive information in the Query String directly.

Live Rewind