Articles on: Using Quortex Switch

Packagers and content steering

For the player to request the CDN priority to Quortex Switch, the packager/origin server needs to add the content steering informations in the DASH manifest or the HLS playlist.

These changes are defined in the DASH and HLS standards.


The added informations are:

  • The content steering server URL
  • The default CDN to use
  • The pathway associated to each available CDN


DASH manifest update

In the DASH manisfest, the content URL and the CDN pathways are added as specified below:


<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dolby="http://www.dolby.com/ns/online/DASH" xmlns:scte35="urn:scte:scte35:2014:xml+bin" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilityStartTime="1970-01-01T00:00:00.000Z" publishTime="2025-09-24T12:41:47.170Z" minBufferTime="PT10S" minimumUpdatePeriod="PT2S" suggestedPresentationDelay="PT6S" timeShiftBufferDepth="PT300S" maxSegmentDuration="PT7S" type="dynamic">    
<ContentSteering defaultServiceLocation="cdn1">https://contentSteeringServerURL/dash.dcsm</ContentSteering>
<BaseURL serviceLocation="cdn1">https://cdn1-base-url/channel-1/</BaseURL>
<BaseURL serviceLocation="cdn2">https://cdn2-base-url/channel-1/</BaseURL>
<BaseURL serviceLocation="cdn3">https://cdn2-base-url/channel-1/</BaseURL>
<Period id="2025-09-23T07:07:47.056Z+42_90kHz" start="PT1758611267.056S">


Here you have the content steering informations with the default CDN to use:

<ContentSteering defaultServiceLocation="cdn1">https://contentSteeringServerURL/dash.dcsm</ContentSteering>


Then the available CDNs are listed along with their pathways ("cdn1", "cdn2", "cdn3"). Each CDN has a different base URL and can have different content structure.

<BaseURL serviceLocation="cdn1">https://cdn1-base-url/channel-1/</BaseURL>
<BaseURL serviceLocation="cdn2">https://cdn2-base-url/channel-1/</BaseURL>
<BaseURL serviceLocation="cdn3">https://cdn2-base-url/channel-1/</BaseURL>


HLS playlist update

In the HLS plalist, the content URL and the CDN pathways are added as specified below:


#EXTM3U
#EXT-X-VERSION:7

#EXT-X-CONTENT-STEERING:SERVER-URI="https://contentSteeringServerURL/hls.hcsm",PATHWAY-ID="cdn1"

# Audio/subtitles
#EXT-X-MEDIA:NAME="eng",TYPE=AUDIO,LANGUAGE="eng",GROUP-ID="audio_mp4a.40.2_96000_0",STABLE-VARIANT-ID="eng-axn2Cl4cl",CODECS="mp4a.40.2",DEFAULT=YES,AUTOSELECT=YES,URI="https://cdn1.base.url/channel1/media-axn2Cl4cl.m3u8"
#EXT-X-MEDIA:NAME="eng",TYPE=AUDIO,LANGUAGE="eng",GROUP-ID="audio_mp4a.40.2_96000_1",STABLE-VARIANT-ID="eng-axn2Cl4cl",CODECS="mp4a.40.2",DEFAULT=YES,AUTOSELECT=YES,URI="https://cdn2.base.url/channel1/media-axn2Cl4cl.m3u8"
#EXT-X-MEDIA:NAME="eng",TYPE=AUDIO,LANGUAGE="eng",GROUP-ID="audio_mp4a.40.2_96000_2",STABLE-VARIANT-ID="eng-axn2Cl4cl",CODECS="mp4a.40.2",DEFAULT=YES,AUTOSELECT=YES,URI="https://cdn3.base.url/channel1/media-axn2Cl4cl.m3u8"

# video
#EXT-X-STREAM-INF:CODECS="avc1.4d401f,mp4a.40.2",BANDWIDTH=1896000,AUDIO="audio_mp4a.40.2_96000_0",RESOLUTION=960x540,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn1"
https://cdn1.base.url/channel1/media-vj9gB2Icl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401f,mp4a.40.2",BANDWIDTH=1896000,AUDIO="audio_mp4a.40.2_96000_1",RESOLUTION=960x540,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn2"
https://cdn2.base.url/channel1/media-vj9gB2Icl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401f,mp4a.40.2",BANDWIDTH=1896000,AUDIO="audio_mp4a.40.2_96000_2",RESOLUTION=960x540,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn3"
https://cdn3.base.url/channel1/media-vj9gB2Icl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401e,mp4a.40.2",BANDWIDTH=1696000,AUDIO="audio_mp4a.40.2_96000_0",RESOLUTION=768x432,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn1"
https://cdn1.base.url/channel1/media-vgjeR82cl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401e,mp4a.40.2",BANDWIDTH=1696000,AUDIO="audio_mp4a.40.2_96000_1",RESOLUTION=768x432,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn2"
https://cdn2.base.url/channel1/media-vgjeR82cl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401e,mp4a.40.2",BANDWIDTH=1696000,AUDIO="audio_mp4a.40.2_96000_2",RESOLUTION=768x432,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn3"
https://cdn3.base.url/channel1/media-vgjeR82cl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401e,mp4a.40.2",BANDWIDTH=1296000,AUDIO="audio_mp4a.40.2_96000_0",RESOLUTION=640x360,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn1"
https://cdn1.base.url/channel1/media-v2PLwCYcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401e,mp4a.40.2",BANDWIDTH=1296000,AUDIO="audio_mp4a.40.2_96000_1",RESOLUTION=640x360,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn2"
https://cdn2.base.url/channel1/media-v2PLwCYcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401e,mp4a.40.2",BANDWIDTH=1296000,AUDIO="audio_mp4a.40.2_96000_2",RESOLUTION=640x360,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn3"
https://cdn3.base.url/channel1/media-v2PLwCYcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d4015,mp4a.40.2",BANDWIDTH=896000,AUDIO="audio_mp4a.40.2_96000_0",RESOLUTION=512x288,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn1"
https://cdn1.base.url/channel1/media-vQ4b3Whcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d4015,mp4a.40.2",BANDWIDTH=896000,AUDIO="audio_mp4a.40.2_96000_1",RESOLUTION=512x288,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn2"
https://cdn2.base.url/channel1/media-vQ4b3Whcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d4015,mp4a.40.2",BANDWIDTH=896000,AUDIO="audio_mp4a.40.2_96000_2",RESOLUTION=512x288,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn3"
https://cdn3.base.url/channel1/media-vQ4b3Whcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d400d,mp4a.40.2",BANDWIDTH=596000,AUDIO="audio_mp4a.40.2_96000_0",RESOLUTION=384x216,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn1"
https://cdn1.base.url/channel1/media-vQnCglpcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d400d,mp4a.40.2",BANDWIDTH=596000,AUDIO="audio_mp4a.40.2_96000_1",RESOLUTION=384x216,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn2"
https://cdn2.base.url/channel1/media-vQnCglpcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d400d,mp4a.40.2",BANDWIDTH=596000,AUDIO="audio_mp4a.40.2_96000_2",RESOLUTION=384x216,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn3"
https://cdn3.base.url/channel1/media-vQnCglpcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d400c,mp4a.40.2",BANDWIDTH=396000,AUDIO="audio_mp4a.40.2_96000_0",RESOLUTION=320x180,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn1"
https://cdn1.base.url/channel1/media-vAqzEJNcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d400c,mp4a.40.2",BANDWIDTH=396000,AUDIO="audio_mp4a.40.2_96000_1",RESOLUTION=320x180,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn2"
https://cdn2.base.url/channel1/media-vAqzEJNcl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d400c,mp4a.40.2",BANDWIDTH=396000,AUDIO="audio_mp4a.40.2_96000_2",RESOLUTION=320x180,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn3"
https://cdn3.base.url/channel1/media-vAqzEJNcl.m3u8


Here you have the content steering informations with the default CDN to use:

#EXT-X-CONTENT-STEERING:SERVER-URI="https://contentSteeringServerURL/hls.hcsm",PATHWAY-ID="cdn1"


Then all the variantes are listed with each of the available CDNs and their pathways ("cdn1", "cdn2", "cdn3").

#EXT-X-STREAM-INF:CODECS="avc1.4d401f,mp4a.40.2",BANDWIDTH=1896000,AUDIO="audio_mp4a.40.2_96000_0",RESOLUTION=960x540,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn1"
https://cdn1.base.url/channel1/media-vj9gB2Icl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401f,mp4a.40.2",BANDWIDTH=1896000,AUDIO="audio_mp4a.40.2_96000_1",RESOLUTION=960x540,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn2"
https://cdn2.base.url/channel1/media-vj9gB2Icl.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.4d401f,mp4a.40.2",BANDWIDTH=1896000,AUDIO="audio_mp4a.40.2_96000_2",RESOLUTION=960x540,STABLE-VARIANT-ID="Video-0",PATHWAY-ID="cdn3"
https://cdn3.base.url/channel1/media-vj9gB2Icl.m3u8
...


You need to ensure that your packager/origin server is adding this information in the manifest/playlist.


Updated on: 24/09/2025

Was this article helpful?

Share your feedback

Cancel

Thank you!