SlideShare uma empresa Scribd logo
1 de 15
Using DASH and MPEG-2 TS
for Adaptive Multiplatform Delivery


            Alex Giladi
MPEG DASH
Dynamic Adaptive Streaming over HTTP
  – ISO/IEC 23009-1, expected in Dec. 2011
  – Defines manifest and segment formats
      Manifest (MPD)
        – Media description using a hierarchical data model;
        – Timing and segment availability
        – Segment and MPD location
      Segments
        – Media Segment (ISO-BMFF and MPEG-2 TS)
        – Index Segment
        – Initialization Segment
DASH System Model
                                             DASH client


                      HTTP GET

   Content            DASH MPD      Access     Media,      Media
               CDN
 preparation                        Engine     Timing      Engine
                      HTTP GET

                     DASH Segment




                                                            Unspecified interface




 DASH specifies on-the-wire interface
 – No “DASH server”: only HTTP 1.1 assumed;
 – No normative client
DASH Taxonomy
Representation
      – “Encoding profile” of an asset
      – Multiplexed or non-multiplexed
Media Segment
      – Time-delimited part of an asset
      – Addressable via HTTP GET
MPD
      – Description of representations;
      – Derivation of segment URL’s
<Representation id="A" bandwidth="3600000“
 width=“1280” height=“720” samplingRate=“48000”
 mimeType="video/mp2t" codecs="avc1,mp4a">
        <SegmentList duration="10">
          <SegmentURL media="BBB_3600_00001.ts"/>
          <SegmentURL media="BBB_3600_00002.ts"/>
          <SegmentURL media="BBB_3600_00003.ts"/>
        </SegmentList>
 </Representation>
Hierarchical Data Model
MPD
                                                                               Period   Period   Period
 Period
 Time-limited subset of a presentation

                                                     Adaptation   Adaptation
  Adaptation Set                                     Set          Set
  Switchable group of representations
            Same components, same timeline


   Representation                   Representation

                                    Representation
      Subrepresentation   Segment

      Subrepresentation   Segment   Representation
      Subrepresentation   Segment
                                    Representation
URL construction
    –    Segment URL’s are resolved relative to BaseURL’s
    –    Allow URL diversity by using several BaseURL’s;
MPD.BaseURL=http://cdn1.example.com
MPD.BaseURL=http://cdn2.example.com
    Period.BaseURL=“/MovieName/”
        SegmentInfo.BaseURL=“seg_00001.ts”
        SegmentInfo.BaseURL=“seg_00002.ts”

                                     http://cdn2.example.com/MovieName/seg_00001.ts
                                     http://cdn1.example.com/MovieName/seg_00001.ts


    –    URL templates allow printf-style variable substitution
        • Important in case of small segments
<SegmentTemplate                             > ls *.ts
        media=“seg_$Index%05$.ts"            seg_00001.ts seg_00002.ts seg_00003.ts
        duration="4"                         seg_00004.ts seg_00005.ts seg_00006.ts
        startNumber="1"/>                    seg_00007.ts seg_00008.ts seg_00009.ts
Index Segment
Benefits
  – fine-grain random access and switching;
  – efficient trick modes
Format
  – Separate file, URL provided via MPD;
  – Per-representation or per-segment;
  – Extensible syntax – additional items can be added
Segment Index (`sidx`)
  –   Defines subsegments (byte ranges within a segment)
  –   Provides timing and random access information
Subsegment Index (`ssix`)
  –   Defines byte ranges for extracting “levels”
Index Segment Example
`sidx`: maps GOP’s to subsegments
`ssix`: maps temporal subsequences
  L0: I frames + ECM’s, 8x trick mode
  L1: P frames, depends on L0, 4x trick mode
Initialization Segment
Initialization Segment
  – Contains data that does not change between segments
      • PAT
      • PMT (if same version is used in all segments)
      • ECM’s (if cryptoperiod doesn’t change)
  – May contain other program data;
  – May not contain playable media
  – Is optional
      media segments can be “self-initializing”;
Bitstream Switching
@segmentAlignment=“true”: segment borders are time-aligned
    –   bitstream switching feasible at segment borders
@startWithSAP=N: segments start with a RAP
    – IDR for N=1-2 , Open GOP for N=3
@bitstreamSwitching=“true”: segment concatenation is a valid MPEG-2 TS
    –   seamless bitstream switching w/o overlapped downloading
    –   some decoders may have problems at resolution changes in valid sequences
More features
Content Protection
  –    DASH is DRM-agnostic, DRM signaled in MPD;
  –    Any DRM schema (and number of schemas) can be supported
  –    MPEG-2 CA explicitly supported
      • ECM behavior specified at media segment level

Quality Metrics
  –   Set of metrics for QoS/QoE monitoring and reporting

MPD Assembly
  – Elements can be stored remotely and loaded on demand

                                                             …
Profiles
  – “Claim and permission”
       MPD and segments claimed to be compliant;
       Client permitted to ignore some MPD elements;
  – Defined for ISO-BMFF and MPEG-2 TS;
  – Can be combined within same MPD;
MPEG-2 TS profiles
  – Main: segments are time-aligned
  – Simple: seamlessly switchable subset of Main
      Segments start with PAT, PMT, ECM, PCR
      Segments contain only complete AU’s
Use Cases
Live
–   Multiple short segments;
–   Per-segment index file (if used);
–   Templated MPD’s
–   Limited segment availability window
    –   Larger window allows time-shift TV

On Demand
–   Single or multiple segments per period;
–   Per-representation index file;
–   Additional languages in separate representations;
Dual TS-based deployments

HLS
  –   Simple TS profile content
         Main profile if HLS content is reused
  –   Templated MPD, if naming convention is followed
  –   Index file (per-representation for VoD)
Legacy VoD
  –   Per-representation index file
  –   Can be also used for CDN’ized traditional VoD
Summary

Using DASH with MPEG-2 TS
  –   Standardized solution, avoids vendor lock-in;
  –   DRM-agnostic – no restrictions on DRM
  –   No server-side support needed;
  –   No need to replace equipment or workflows;
  –   Existing VoD and HLS content can be reused;
  –   Simple client implementation with Simple TS profile;

Mais conteúdo relacionado

Mais procurados

The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message BrokerMartin Toshev
 
Introduction To RabbitMQ
Introduction To RabbitMQIntroduction To RabbitMQ
Introduction To RabbitMQKnoldus Inc.
 
An Introduction to OAuth2
An Introduction to OAuth2An Introduction to OAuth2
An Introduction to OAuth2Aaron Parecki
 
HATEOAS 101 - Opinionated Introduction to a REST API Style
HATEOAS 101 - Opinionated Introduction to a REST API StyleHATEOAS 101 - Opinionated Introduction to a REST API Style
HATEOAS 101 - Opinionated Introduction to a REST API StyleApigee | Google Cloud
 
Introduction oauth 2.0 et openid connect 1.0
Introduction oauth 2.0 et openid connect 1.0Introduction oauth 2.0 et openid connect 1.0
Introduction oauth 2.0 et openid connect 1.0Marc-André Tousignant
 
Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3Gunjan Patel
 
Kafka: All an engineer needs to know
Kafka: All an engineer needs to knowKafka: All an engineer needs to know
Kafka: All an engineer needs to knowThao Huynh Quang
 
Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPEberhard Wolff
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?connectwebex
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practicesAnkita Mahajan
 
Tailwind CSS - KanpurJS
Tailwind CSS - KanpurJSTailwind CSS - KanpurJS
Tailwind CSS - KanpurJSNaveen Kharwar
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key conceptsICS
 
19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQWoo Young Choi
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - IntroductionKnoldus Inc.
 
Web Components Everywhere
Web Components EverywhereWeb Components Everywhere
Web Components EverywhereIlia Idakiev
 

Mais procurados (20)

The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
 
Introduction To RabbitMQ
Introduction To RabbitMQIntroduction To RabbitMQ
Introduction To RabbitMQ
 
Qt Qml
Qt QmlQt Qml
Qt Qml
 
An Introduction to OAuth2
An Introduction to OAuth2An Introduction to OAuth2
An Introduction to OAuth2
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
HATEOAS 101 - Opinionated Introduction to a REST API Style
HATEOAS 101 - Opinionated Introduction to a REST API StyleHATEOAS 101 - Opinionated Introduction to a REST API Style
HATEOAS 101 - Opinionated Introduction to a REST API Style
 
Introduction oauth 2.0 et openid connect 1.0
Introduction oauth 2.0 et openid connect 1.0Introduction oauth 2.0 et openid connect 1.0
Introduction oauth 2.0 et openid connect 1.0
 
Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3
 
Kafka: All an engineer needs to know
Kafka: All an engineer needs to knowKafka: All an engineer needs to know
Kafka: All an engineer needs to know
 
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt
 
Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQP
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
OAuth 2.0
OAuth 2.0OAuth 2.0
OAuth 2.0
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
 
Rabbitmq basics
Rabbitmq basicsRabbitmq basics
Rabbitmq basics
 
Tailwind CSS - KanpurJS
Tailwind CSS - KanpurJSTailwind CSS - KanpurJS
Tailwind CSS - KanpurJS
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
 
19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
 
Web Components Everywhere
Web Components EverywhereWeb Components Everywhere
Web Components Everywhere
 

Semelhante a Using DASH and MPEG-2 TS

Understanding MPEG DASH
Understanding MPEG DASHUnderstanding MPEG DASH
Understanding MPEG DASHSeung-Bum Lee
 
Edge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format TodayEdge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format TodayAkamai Technologies
 
MPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference SoftwareMPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference SoftwareAlpen-Adria-Universität
 
MPEG DASH White Paper
MPEG DASH White PaperMPEG DASH White Paper
MPEG DASH White Paperidrajeev
 
Three Challenges in Reliable Data Transport over Heterogeneous ...
Three Challenges in Reliable Data Transport over Heterogeneous ...Three Challenges in Reliable Data Transport over Heterogeneous ...
Three Challenges in Reliable Data Transport over Heterogeneous ...Videoguy
 
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdfAliIssa53
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime Martin Losa
 
DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2Rufael Mekuria
 
ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier
ConférenSquad #4 - Hulu et DASH par Baptiste CoudurierConférenSquad #4 - Hulu et DASH par Baptiste Coudurier
ConférenSquad #4 - Hulu et DASH par Baptiste CoudurierJustindwah
 
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014Jaime Martin Losa
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresVideoguy
 
Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainVideoguy
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
Streaming video to html
Streaming video to htmlStreaming video to html
Streaming video to htmljeff tapper
 
iPRES 2015 premis implementation fair
iPRES 2015 premis implementation fairiPRES 2015 premis implementation fair
iPRES 2015 premis implementation fairJesse de Vos
 

Semelhante a Using DASH and MPEG-2 TS (20)

Understanding MPEG DASH
Understanding MPEG DASHUnderstanding MPEG DASH
Understanding MPEG DASH
 
Edge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format TodayEdge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format Today
 
MPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference SoftwareMPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference Software
 
MPEG DASH White Paper
MPEG DASH White PaperMPEG DASH White Paper
MPEG DASH White Paper
 
Three Challenges in Reliable Data Transport over Heterogeneous ...
Three Challenges in Reliable Data Transport over Heterogeneous ...Three Challenges in Reliable Data Transport over Heterogeneous ...
Three Challenges in Reliable Data Transport over Heterogeneous ...
 
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
DDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data LinksDDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data Links
 
Ingest oct-9-update
Ingest oct-9-updateIngest oct-9-update
Ingest oct-9-update
 
DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2
 
ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier
ConférenSquad #4 - Hulu et DASH par Baptiste CoudurierConférenSquad #4 - Hulu et DASH par Baptiste Coudurier
ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier
 
INFO
INFOINFO
INFO
 
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_Pres
 
Rtp
RtpRtp
Rtp
 
Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag Jain
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
Streaming video to html
Streaming video to htmlStreaming video to html
Streaming video to html
 
Mulesoft lisbon_meetup_asyncapis
Mulesoft lisbon_meetup_asyncapisMulesoft lisbon_meetup_asyncapis
Mulesoft lisbon_meetup_asyncapis
 
iPRES 2015 premis implementation fair
iPRES 2015 premis implementation fairiPRES 2015 premis implementation fair
iPRES 2015 premis implementation fair
 

Último

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Using DASH and MPEG-2 TS

  • 1. Using DASH and MPEG-2 TS for Adaptive Multiplatform Delivery Alex Giladi
  • 2. MPEG DASH Dynamic Adaptive Streaming over HTTP – ISO/IEC 23009-1, expected in Dec. 2011 – Defines manifest and segment formats  Manifest (MPD) – Media description using a hierarchical data model; – Timing and segment availability – Segment and MPD location  Segments – Media Segment (ISO-BMFF and MPEG-2 TS) – Index Segment – Initialization Segment
  • 3. DASH System Model DASH client HTTP GET Content DASH MPD Access Media, Media CDN preparation Engine Timing Engine HTTP GET DASH Segment Unspecified interface DASH specifies on-the-wire interface – No “DASH server”: only HTTP 1.1 assumed; – No normative client
  • 4. DASH Taxonomy Representation – “Encoding profile” of an asset – Multiplexed or non-multiplexed Media Segment – Time-delimited part of an asset – Addressable via HTTP GET MPD – Description of representations; – Derivation of segment URL’s <Representation id="A" bandwidth="3600000“ width=“1280” height=“720” samplingRate=“48000” mimeType="video/mp2t" codecs="avc1,mp4a"> <SegmentList duration="10"> <SegmentURL media="BBB_3600_00001.ts"/> <SegmentURL media="BBB_3600_00002.ts"/> <SegmentURL media="BBB_3600_00003.ts"/> </SegmentList> </Representation>
  • 5. Hierarchical Data Model MPD Period Period Period Period Time-limited subset of a presentation Adaptation Adaptation Adaptation Set Set Set Switchable group of representations Same components, same timeline Representation Representation Representation Subrepresentation Segment Subrepresentation Segment Representation Subrepresentation Segment Representation
  • 6. URL construction – Segment URL’s are resolved relative to BaseURL’s – Allow URL diversity by using several BaseURL’s; MPD.BaseURL=http://cdn1.example.com MPD.BaseURL=http://cdn2.example.com Period.BaseURL=“/MovieName/” SegmentInfo.BaseURL=“seg_00001.ts” SegmentInfo.BaseURL=“seg_00002.ts” http://cdn2.example.com/MovieName/seg_00001.ts http://cdn1.example.com/MovieName/seg_00001.ts – URL templates allow printf-style variable substitution • Important in case of small segments <SegmentTemplate > ls *.ts media=“seg_$Index%05$.ts" seg_00001.ts seg_00002.ts seg_00003.ts duration="4" seg_00004.ts seg_00005.ts seg_00006.ts startNumber="1"/> seg_00007.ts seg_00008.ts seg_00009.ts
  • 7. Index Segment Benefits – fine-grain random access and switching; – efficient trick modes Format – Separate file, URL provided via MPD; – Per-representation or per-segment; – Extensible syntax – additional items can be added Segment Index (`sidx`) – Defines subsegments (byte ranges within a segment) – Provides timing and random access information Subsegment Index (`ssix`) – Defines byte ranges for extracting “levels”
  • 8. Index Segment Example `sidx`: maps GOP’s to subsegments `ssix`: maps temporal subsequences L0: I frames + ECM’s, 8x trick mode L1: P frames, depends on L0, 4x trick mode
  • 9. Initialization Segment Initialization Segment – Contains data that does not change between segments • PAT • PMT (if same version is used in all segments) • ECM’s (if cryptoperiod doesn’t change) – May contain other program data; – May not contain playable media – Is optional  media segments can be “self-initializing”;
  • 10. Bitstream Switching @segmentAlignment=“true”: segment borders are time-aligned – bitstream switching feasible at segment borders @startWithSAP=N: segments start with a RAP – IDR for N=1-2 , Open GOP for N=3 @bitstreamSwitching=“true”: segment concatenation is a valid MPEG-2 TS – seamless bitstream switching w/o overlapped downloading – some decoders may have problems at resolution changes in valid sequences
  • 11. More features Content Protection – DASH is DRM-agnostic, DRM signaled in MPD; – Any DRM schema (and number of schemas) can be supported – MPEG-2 CA explicitly supported • ECM behavior specified at media segment level Quality Metrics – Set of metrics for QoS/QoE monitoring and reporting MPD Assembly – Elements can be stored remotely and loaded on demand …
  • 12. Profiles – “Claim and permission”  MPD and segments claimed to be compliant;  Client permitted to ignore some MPD elements; – Defined for ISO-BMFF and MPEG-2 TS; – Can be combined within same MPD; MPEG-2 TS profiles – Main: segments are time-aligned – Simple: seamlessly switchable subset of Main  Segments start with PAT, PMT, ECM, PCR  Segments contain only complete AU’s
  • 13. Use Cases Live – Multiple short segments; – Per-segment index file (if used); – Templated MPD’s – Limited segment availability window – Larger window allows time-shift TV On Demand – Single or multiple segments per period; – Per-representation index file; – Additional languages in separate representations;
  • 14. Dual TS-based deployments HLS – Simple TS profile content  Main profile if HLS content is reused – Templated MPD, if naming convention is followed – Index file (per-representation for VoD) Legacy VoD – Per-representation index file – Can be also used for CDN’ized traditional VoD
  • 15. Summary Using DASH with MPEG-2 TS – Standardized solution, avoids vendor lock-in; – DRM-agnostic – no restrictions on DRM – No server-side support needed; – No need to replace equipment or workflows; – Existing VoD and HLS content can be reused; – Simple client implementation with Simple TS profile;