SlideShare a Scribd company logo
1 of 12
m26906
Live Streaming of Video and Subtitles
            using DASH

                  Cyril Concolato
                  Jean Le Feuvre

    {concolato, lefeuvre} @ telecom-paristech.fr
Context

    ■ Need for live subtitles also on the Internet!
    ■ Multiple specification developments
       • MPEG DASH Amendment on Timed Text and Timed
         Overlays
       • W3C Media Source Extension API
       • WHATWG/W3C WebVTT
       • 3GPP Timed Text
    ■ Development of a Proof-of-Concept




1                       M26906 – Live Streaming of Video and Subtitles using DASH
Demonstration formats

    ■ The MP4 file format
       • To represent live video stream segments
    ■ The WebVTT subtitle format
       • To represent live subtitle segments as text files (similar
         to HLS v9)
    ■ MPEG DASH MPD
       • to represent a dynamic adaptive live/long-running
         streaming service
       • to enable synchronization of the video and subtitle
         streams.




2                                          test
Demonstration software components

    ■ GPAC MP4Box
      • To produce video segments on-the-fly and delete old
        ones
    ■ VTTLiveGenerator
      • Ad-hoc tool
      • To produce subtitle segments on-the-fly and delete old
        ones
    ■ Google Chrome
      • Canary version 24
      • To display the content




3                                       test
Usage of MP4Box
    ■ Fragmenting a file repeatedly using -dash-ctx option
       MP4Box.exe -dash-ctx dash-live.txt
                  -dash 2000 -rap
                  -segment-name counter-live
                  -url-template
                  counter.mp4
    ■ Example of MP4Box’s DASH context
       [DASH]
       InitializationSegment=counter_liveinit.mp4
       BitstreamSwitching=yes
       InitializationSegmentSize=860
       MaxSegmentDuration=1.000000
       NextSegmentIndex=11
       NextFragmentIndex=11
       PeriodDuration=9.960000

       [TrackID_1]
       NextDecodingTime=249000


4                                       test
Example of Video Content




5                          test
Example of WebVTT Segment
    ■ Each segment is a complete WebVTT file with multiple
      cues,
       • changing header, cue indices, and timing values

       WEBVTT Segment 6

       61
       00:00:12.200 --> 00:00:12.400
       This is cue 61 (start: 00:00:12.200 -- end:
       00:00:12.400)

       ...

       70
       00:00:14.000 --> 00:00:14.200
       This is cue 70 (start: 00:00:14.000 -- end:
       00:00:14.200)



6                                             test
MPD Example

    ■ Dynamic MPD
       • 1 single period
       • 2 adaptation sets (1 video, 1 subtitle)
          − ContentComponent@type=« text » for subtitles
       • No minUpdate attribute
       • Same video and subtitle segments duration (easy)
    ■ live-vtt-mp4.mpd




7                                      test
Rendering using Google Chrome Canary
    ■ HTML page with JavaScript code to:
       • Fetch and parse the MPD,
       • Create a HTML 5 <video> element to render the video
         and an HTML 5 <track> element to render the subtitles,
       • Fetch the video and subtitles segments using the
         XMLHttpRequest API (as demonstrated in DASH-JS),
       • Feed the video segments to the media decoder engine
         using the Media Source extension API (as
         demonstrated by YouTube MPEG DASH player),
       • Load each subtitle segment separately (using a work-
         around current HTML 5 limitations)
    ■ Synchronization is handled by the video element
       • Possible improvments: HTML5 timestampOffset and
         DASH @presentationTimeOffset and
         @suggestedPresentationDelay


8                                        test
Results




9             test
Problems/Limitations

     ■ Synchronization problems
        • Too many cues per seconds (Chrome performance?)
        • Some cues are not loaded correctly (Chrome bug?)
        • Need a work-around to load cues (HTML5 limitation)
           − No MSE equivalent for cues
           − No easy method to parse cues
     ■ Limitations
        •   Really only a proof of concept (ugly code)
        •   No real MPD parsing yet
        •   Very simple segment index algorithm
        •   No GUI for selecting subtitles



10                                          test
Questions ?

More Related Content

What's hot

NextJS - Online Summit for Frontend Developers September 2020
NextJS - Online Summit for Frontend Developers September 2020NextJS - Online Summit for Frontend Developers September 2020
NextJS - Online Summit for Frontend Developers September 2020Milad Heydari
 
Online Tours and travel
Online Tours and travelOnline Tours and travel
Online Tours and travelAmit Patil
 
Web based tourism system
Web based tourism system Web based tourism system
Web based tourism system Shivangi Singh
 
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial之宇 趙
 
Creating a Website Sitemap
Creating a Website SitemapCreating a Website Sitemap
Creating a Website SitemapJeannie Melinz
 
WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentRandy Connolly
 
Ppt of web development
Ppt of web developmentPpt of web development
Ppt of web developmentbethanygfair
 
Introduction To WordPress
Introduction To WordPressIntroduction To WordPress
Introduction To WordPressCraig Bailey
 
Rapidly Iterating Across Platforms using Server-Driven UI
Rapidly Iterating Across Platforms using Server-Driven UIRapidly Iterating Across Platforms using Server-Driven UI
Rapidly Iterating Across Platforms using Server-Driven UILaura Kelly
 
PMT-013-總合生產計劃
PMT-013-總合生產計劃PMT-013-總合生產計劃
PMT-013-總合生產計劃handbook
 
WordPress what is Wordpress
WordPress what is WordpressWordPress what is Wordpress
WordPress what is WordpressShahid Husain
 
10 Principles Of Effective Web Design
10 Principles Of Effective Web Design10 Principles Of Effective Web Design
10 Principles Of Effective Web Designsirferds
 

What's hot (20)

NextJS - Online Summit for Frontend Developers September 2020
NextJS - Online Summit for Frontend Developers September 2020NextJS - Online Summit for Frontend Developers September 2020
NextJS - Online Summit for Frontend Developers September 2020
 
Online final report
Online final reportOnline final report
Online final report
 
Online Tours and travel
Online Tours and travelOnline Tours and travel
Online Tours and travel
 
Web based tourism system
Web based tourism system Web based tourism system
Web based tourism system
 
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial
 
Creating a Website Sitemap
Creating a Website SitemapCreating a Website Sitemap
Creating a Website Sitemap
 
WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web Development
 
Collector 01
Collector 01Collector 01
Collector 01
 
React Server Side Rendering with Next.js
React Server Side Rendering with Next.jsReact Server Side Rendering with Next.js
React Server Side Rendering with Next.js
 
Wordpress Development Introduction
Wordpress Development IntroductionWordpress Development Introduction
Wordpress Development Introduction
 
Ppt of web development
Ppt of web developmentPpt of web development
Ppt of web development
 
Sequnce diagram for ONLINE EXAMINATION SYSTEM
Sequnce diagram for ONLINE EXAMINATION SYSTEMSequnce diagram for ONLINE EXAMINATION SYSTEM
Sequnce diagram for ONLINE EXAMINATION SYSTEM
 
Introduction To WordPress
Introduction To WordPressIntroduction To WordPress
Introduction To WordPress
 
SRS
SRSSRS
SRS
 
Rapidly Iterating Across Platforms using Server-Driven UI
Rapidly Iterating Across Platforms using Server-Driven UIRapidly Iterating Across Platforms using Server-Driven UI
Rapidly Iterating Across Platforms using Server-Driven UI
 
PMT-013-總合生產計劃
PMT-013-總合生產計劃PMT-013-總合生產計劃
PMT-013-總合生產計劃
 
WordPress what is Wordpress
WordPress what is WordpressWordPress what is Wordpress
WordPress what is Wordpress
 
Developpement Web.pptx
Developpement Web.pptxDeveloppement Web.pptx
Developpement Web.pptx
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
10 Principles Of Effective Web Design
10 Principles Of Effective Web Design10 Principles Of Effective Web Design
10 Principles Of Effective Web Design
 

Viewers also liked

Using DASH and MPEG-2 TS
Using DASH and MPEG-2 TSUsing DASH and MPEG-2 TS
Using DASH and MPEG-2 TSAlex Giladi
 
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASHTutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASHCyril Concolato
 
Extensions for Hybrid Delivery using MPEG-2 TS and DASH
Extensions for Hybrid Delivery using MPEG-2 TS and DASHExtensions for Hybrid Delivery using MPEG-2 TS and DASH
Extensions for Hybrid Delivery using MPEG-2 TS and DASHCyril Concolato
 
Building a Dash-264 Player
Building a Dash-264 PlayerBuilding a Dash-264 Player
Building a Dash-264 Playerjeff tapper
 
Streaming of SVG animations on the Web
Streaming of SVG animations on the WebStreaming of SVG animations on the Web
Streaming of SVG animations on the WebCyril Concolato
 
Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0Christopher Mueller
 
Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Alpen-Adria-Universität
 
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionDynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionAlpen-Adria-Universität
 
Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...
Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...
Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...Förderverein Technische Fakultät
 
Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043mc_killah
 
MPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
MPEG-DASH: Overview, State-of-the-Art, and Future RoadmapMPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
MPEG-DASH: Overview, State-of-the-Art, and Future RoadmapAlpen-Adria-Universität
 
Development of an FHMA-based Underwater Acoustic Communications System for Mu...
Development of an FHMA-based Underwater Acoustic Communications System for Mu...Development of an FHMA-based Underwater Acoustic Communications System for Mu...
Development of an FHMA-based Underwater Acoustic Communications System for Mu...Waqas Tariq
 
GPAC Team Research Highlights
GPAC Team Research HighlightsGPAC Team Research Highlights
GPAC Team Research HighlightsCyril Concolato
 
Adaptive Media Streaming over Emerging Protocols
Adaptive Media Streaming over Emerging ProtocolsAdaptive Media Streaming over Emerging Protocols
Adaptive Media Streaming over Emerging ProtocolsAlpen-Adria-Universität
 
Energy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingEnergy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingVideoguy
 
Investigation of Quick Handover Algorithm for Wireless Video Streaming App
Investigation of Quick Handover Algorithm for Wireless Video Streaming AppInvestigation of Quick Handover Algorithm for Wireless Video Streaming App
Investigation of Quick Handover Algorithm for Wireless Video Streaming AppRajvi Jagirdar
 
Streaming Video over a Wireless Network.ppt
Streaming Video over a Wireless Network.pptStreaming Video over a Wireless Network.ppt
Streaming Video over a Wireless Network.pptVideoguy
 

Viewers also liked (20)

Using DASH and MPEG-2 TS
Using DASH and MPEG-2 TSUsing DASH and MPEG-2 TS
Using DASH and MPEG-2 TS
 
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASHTutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
 
Extensions for Hybrid Delivery using MPEG-2 TS and DASH
Extensions for Hybrid Delivery using MPEG-2 TS and DASHExtensions for Hybrid Delivery using MPEG-2 TS and DASH
Extensions for Hybrid Delivery using MPEG-2 TS and DASH
 
Building a Dash-264 Player
Building a Dash-264 PlayerBuilding a Dash-264 Player
Building a Dash-264 Player
 
HTTP Streaming of MPEG Media
HTTP Streaming of MPEG MediaHTTP Streaming of MPEG Media
HTTP Streaming of MPEG Media
 
Streaming of SVG animations on the Web
Streaming of SVG animations on the WebStreaming of SVG animations on the Web
Streaming of SVG animations on the Web
 
Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0
 
Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)
 
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionDynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
 
Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...
Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...
Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...
 
Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043
 
MPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
MPEG-DASH: Overview, State-of-the-Art, and Future RoadmapMPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
MPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
 
Development of an FHMA-based Underwater Acoustic Communications System for Mu...
Development of an FHMA-based Underwater Acoustic Communications System for Mu...Development of an FHMA-based Underwater Acoustic Communications System for Mu...
Development of an FHMA-based Underwater Acoustic Communications System for Mu...
 
GPAC Team Research Highlights
GPAC Team Research HighlightsGPAC Team Research Highlights
GPAC Team Research Highlights
 
Adaptive Media Streaming over Emerging Protocols
Adaptive Media Streaming over Emerging ProtocolsAdaptive Media Streaming over Emerging Protocols
Adaptive Media Streaming over Emerging Protocols
 
Energy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingEnergy-Aware Wireless Video Streaming
Energy-Aware Wireless Video Streaming
 
Investigation of Quick Handover Algorithm for Wireless Video Streaming App
Investigation of Quick Handover Algorithm for Wireless Video Streaming AppInvestigation of Quick Handover Algorithm for Wireless Video Streaming App
Investigation of Quick Handover Algorithm for Wireless Video Streaming App
 
Distributed DASH Dataset
Distributed DASH DatasetDistributed DASH Dataset
Distributed DASH Dataset
 
libdash 2.0
libdash 2.0libdash 2.0
libdash 2.0
 
Streaming Video over a Wireless Network.ppt
Streaming Video over a Wireless Network.pptStreaming Video over a Wireless Network.ppt
Streaming Video over a Wireless Network.ppt
 

Similar to Live streaming of video and subtitles with MPEG-DASH

Streaming video to html
Streaming video to htmlStreaming video to html
Streaming video to htmljeff tapper
 
Introduction to Amazon Elastic Transcoder
 Introduction to Amazon Elastic Transcoder  Introduction to Amazon Elastic Transcoder
Introduction to Amazon Elastic Transcoder Amazon Web Services
 
AWS Webcast - What's New with Amazon Elastic Transcoder
AWS Webcast - What's New with Amazon Elastic TranscoderAWS Webcast - What's New with Amazon Elastic Transcoder
AWS Webcast - What's New with Amazon Elastic TranscoderAmazon Web Services
 
Silverlight Wireshark Analysis
Silverlight Wireshark AnalysisSilverlight Wireshark Analysis
Silverlight Wireshark AnalysisYoss Cohen
 
Media Source Extensions
Media Source ExtensionsMedia Source Extensions
Media Source ExtensionsFITC
 
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Shuo LI
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media WorkflowMooYeol Lee
 
Integrating CMAF into a Vod Workflow
Integrating CMAF into a Vod WorkflowIntegrating CMAF into a Vod Workflow
Integrating CMAF into a Vod WorkflowTomas Bacik
 
Wwx2014 - Todd Kulick "Shipping One Million Lines of Haxe to (Over) One Milli...
Wwx2014 - Todd Kulick "Shipping One Million Lines of Haxe to (Over) One Milli...Wwx2014 - Todd Kulick "Shipping One Million Lines of Haxe to (Over) One Milli...
Wwx2014 - Todd Kulick "Shipping One Million Lines of Haxe to (Over) One Milli...antopensource
 
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...Igalia
 
Persistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvPersistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvIntel® Software
 
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for WindowsFord AntiTrust
 
Webcast - Making kubernetes production ready
Webcast - Making kubernetes production readyWebcast - Making kubernetes production ready
Webcast - Making kubernetes production readyApplatix
 
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...Samsung Open Source Group
 

Similar to Live streaming of video and subtitles with MPEG-DASH (20)

Mm sys 2013-demo
Mm sys 2013-demoMm sys 2013-demo
Mm sys 2013-demo
 
Streaming video to html
Streaming video to htmlStreaming video to html
Streaming video to html
 
Introduction to Amazon Elastic Transcoder
 Introduction to Amazon Elastic Transcoder  Introduction to Amazon Elastic Transcoder
Introduction to Amazon Elastic Transcoder
 
AWS Webcast - What's New with Amazon Elastic Transcoder
AWS Webcast - What's New with Amazon Elastic TranscoderAWS Webcast - What's New with Amazon Elastic Transcoder
AWS Webcast - What's New with Amazon Elastic Transcoder
 
SDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLSSDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLS
 
Silverlight Wireshark Analysis
Silverlight Wireshark AnalysisSilverlight Wireshark Analysis
Silverlight Wireshark Analysis
 
Media Source Extensions
Media Source ExtensionsMedia Source Extensions
Media Source Extensions
 
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media Workflow
 
Integrating CMAF into a Vod Workflow
Integrating CMAF into a Vod WorkflowIntegrating CMAF into a Vod Workflow
Integrating CMAF into a Vod Workflow
 
Apan media encoding
Apan media encodingApan media encoding
Apan media encoding
 
Wwx2014 - Todd Kulick "Shipping One Million Lines of Haxe to (Over) One Milli...
Wwx2014 - Todd Kulick "Shipping One Million Lines of Haxe to (Over) One Milli...Wwx2014 - Todd Kulick "Shipping One Million Lines of Haxe to (Over) One Milli...
Wwx2014 - Todd Kulick "Shipping One Million Lines of Haxe to (Over) One Milli...
 
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
 
Persistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvPersistent Memory Programming with Pmemkv
Persistent Memory Programming with Pmemkv
 
Technology Update: MPEG-Dash
Technology Update: MPEG-DashTechnology Update: MPEG-Dash
Technology Update: MPEG-Dash
 
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
/* pOrt80BKK */ - PHP Day - PHP Performance with APC + Memcached for Windows
 
Webcast - Making kubernetes production ready
Webcast - Making kubernetes production readyWebcast - Making kubernetes production ready
Webcast - Making kubernetes production ready
 
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
 
Remix
RemixRemix
Remix
 
Html 5
Html 5Html 5
Html 5
 

More from Cyril Concolato

Comments on carriage of timed text and visual overlays in MP4
Comments on carriage of timed text and visual overlays in MP4Comments on carriage of timed text and visual overlays in MP4
Comments on carriage of timed text and visual overlays in MP4Cyril Concolato
 
Delivery of Timeline for External Data in MPEG-2 Transport Stream
Delivery of Timeline for External Data in MPEG-2 Transport StreamDelivery of Timeline for External Data in MPEG-2 Transport Stream
Delivery of Timeline for External Data in MPEG-2 Transport StreamCyril Concolato
 
Carriage of timed subtitles and graphics in MP4
Carriage of timed subtitles and graphics in MP4Carriage of timed subtitles and graphics in MP4
Carriage of timed subtitles and graphics in MP4Cyril Concolato
 
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio servicesMPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio servicesCyril Concolato
 
Usages of DASH for Rich Media Services
Usages of DASH for Rich Media ServicesUsages of DASH for Rich Media Services
Usages of DASH for Rich Media ServicesCyril Concolato
 
Adaptive Video and Metadata Display using Multimedia Documents
Adaptive Video and Metadata Display using Multimedia DocumentsAdaptive Video and Metadata Display using Multimedia Documents
Adaptive Video and Metadata Display using Multimedia DocumentsCyril Concolato
 
Usages of DASH for Rich Media Services
Usages of DASH for Rich Media ServicesUsages of DASH for Rich Media Services
Usages of DASH for Rich Media ServicesCyril Concolato
 
Electronic Program Guides using SVG
Electronic Program Guides using SVGElectronic Program Guides using SVG
Electronic Program Guides using SVGCyril Concolato
 

More from Cyril Concolato (9)

Comments on carriage of timed text and visual overlays in MP4
Comments on carriage of timed text and visual overlays in MP4Comments on carriage of timed text and visual overlays in MP4
Comments on carriage of timed text and visual overlays in MP4
 
Delivery of Timeline for External Data in MPEG-2 Transport Stream
Delivery of Timeline for External Data in MPEG-2 Transport StreamDelivery of Timeline for External Data in MPEG-2 Transport Stream
Delivery of Timeline for External Data in MPEG-2 Transport Stream
 
Carriage of timed subtitles and graphics in MP4
Carriage of timed subtitles and graphics in MP4Carriage of timed subtitles and graphics in MP4
Carriage of timed subtitles and graphics in MP4
 
MPEG-4 BIFS Overview
MPEG-4 BIFS OverviewMPEG-4 BIFS Overview
MPEG-4 BIFS Overview
 
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio servicesMPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services
 
Usages of DASH for Rich Media Services
Usages of DASH for Rich Media ServicesUsages of DASH for Rich Media Services
Usages of DASH for Rich Media Services
 
Adaptive Video and Metadata Display using Multimedia Documents
Adaptive Video and Metadata Display using Multimedia DocumentsAdaptive Video and Metadata Display using Multimedia Documents
Adaptive Video and Metadata Display using Multimedia Documents
 
Usages of DASH for Rich Media Services
Usages of DASH for Rich Media ServicesUsages of DASH for Rich Media Services
Usages of DASH for Rich Media Services
 
Electronic Program Guides using SVG
Electronic Program Guides using SVGElectronic Program Guides using SVG
Electronic Program Guides using SVG
 

Recently uploaded

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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 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
 
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
 

Recently uploaded (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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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...
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 

Live streaming of video and subtitles with MPEG-DASH

  • 1. m26906 Live Streaming of Video and Subtitles using DASH Cyril Concolato Jean Le Feuvre {concolato, lefeuvre} @ telecom-paristech.fr
  • 2. Context ■ Need for live subtitles also on the Internet! ■ Multiple specification developments • MPEG DASH Amendment on Timed Text and Timed Overlays • W3C Media Source Extension API • WHATWG/W3C WebVTT • 3GPP Timed Text ■ Development of a Proof-of-Concept 1 M26906 – Live Streaming of Video and Subtitles using DASH
  • 3. Demonstration formats ■ The MP4 file format • To represent live video stream segments ■ The WebVTT subtitle format • To represent live subtitle segments as text files (similar to HLS v9) ■ MPEG DASH MPD • to represent a dynamic adaptive live/long-running streaming service • to enable synchronization of the video and subtitle streams. 2 test
  • 4. Demonstration software components ■ GPAC MP4Box • To produce video segments on-the-fly and delete old ones ■ VTTLiveGenerator • Ad-hoc tool • To produce subtitle segments on-the-fly and delete old ones ■ Google Chrome • Canary version 24 • To display the content 3 test
  • 5. Usage of MP4Box ■ Fragmenting a file repeatedly using -dash-ctx option MP4Box.exe -dash-ctx dash-live.txt -dash 2000 -rap -segment-name counter-live -url-template counter.mp4 ■ Example of MP4Box’s DASH context [DASH] InitializationSegment=counter_liveinit.mp4 BitstreamSwitching=yes InitializationSegmentSize=860 MaxSegmentDuration=1.000000 NextSegmentIndex=11 NextFragmentIndex=11 PeriodDuration=9.960000 [TrackID_1] NextDecodingTime=249000 4 test
  • 6. Example of Video Content 5 test
  • 7. Example of WebVTT Segment ■ Each segment is a complete WebVTT file with multiple cues, • changing header, cue indices, and timing values WEBVTT Segment 6 61 00:00:12.200 --> 00:00:12.400 This is cue 61 (start: 00:00:12.200 -- end: 00:00:12.400) ... 70 00:00:14.000 --> 00:00:14.200 This is cue 70 (start: 00:00:14.000 -- end: 00:00:14.200) 6 test
  • 8. MPD Example ■ Dynamic MPD • 1 single period • 2 adaptation sets (1 video, 1 subtitle) − ContentComponent@type=« text » for subtitles • No minUpdate attribute • Same video and subtitle segments duration (easy) ■ live-vtt-mp4.mpd 7 test
  • 9. Rendering using Google Chrome Canary ■ HTML page with JavaScript code to: • Fetch and parse the MPD, • Create a HTML 5 <video> element to render the video and an HTML 5 <track> element to render the subtitles, • Fetch the video and subtitles segments using the XMLHttpRequest API (as demonstrated in DASH-JS), • Feed the video segments to the media decoder engine using the Media Source extension API (as demonstrated by YouTube MPEG DASH player), • Load each subtitle segment separately (using a work- around current HTML 5 limitations) ■ Synchronization is handled by the video element • Possible improvments: HTML5 timestampOffset and DASH @presentationTimeOffset and @suggestedPresentationDelay 8 test
  • 10. Results 9 test
  • 11. Problems/Limitations ■ Synchronization problems • Too many cues per seconds (Chrome performance?) • Some cues are not loaded correctly (Chrome bug?) • Need a work-around to load cues (HTML5 limitation) − No MSE equivalent for cues − No easy method to parse cues ■ Limitations • Really only a proof of concept (ugly code) • No real MPD parsing yet • Very simple segment index algorithm • No GUI for selecting subtitles 10 test