edge 2014: mpeg dash – tomorrow's format today
DESCRIPTION
MPEG DASH – Tomorrow's Format Today by Nicolas Weil Senior Solutions Architect, Akamai Technologies & Will Law, Chief Architect, Media Cloud Engineering, Akamai Technologies As an open standard designed to help simplify video delivery across connected devices, MPEG-DASH is continuing to gain momentum in the OTT, broadcast and wireless industries. Join Akamai's DASH experts for a discussion on what differentiates the emerging standard from legacy formats along with a demonstration showing the ease of deploying DASH playback across devices. The panel will also highlight current deployments, offer a review of the industry and provide a three-year outlook. Akamai Edge is the premier event for Internet innovators, tech professionals and online business pioneers who together are forging a Faster Forward World. At Edge, the architects, experts and implementers of the most innovative global online businesses gather face-to-face for an invaluable three days of sharing, learning and together pushing the limits of the Faster Forward World. Learn more at: http://www.akamai.com/edgeTRANSCRIPT
MPEG DASH – Tomorrow's Format Today Will Law, Chief Architect, Media Division & Nicolas Weil, Senior Solutions Architect
©2014 AKAMAI | FASTER FORWARDTM
Streaming is a feudal landscape
SMOOTH HDS HLS
©2014 AKAMAI | FASTER FORWARDTM
Streaming is a feudal landscape
MPEG-DASH
©2014 AKAMAI | FASTER FORWARDTM
©2014 AKAMAI | FASTER FORWARDTM
6
DASH intends to be to the Internet world …
what MPEG2-TS and NTSC have been to the broadcast world.
©2014 AKAMAI | FASTER FORWARDTM
What is DASH?
MPEG-DASH is an ISO standard for the adaptive delivery of segmented content.
Dynamic Adaptive Streaming over HTTP
HLS
HDS
Smooth DASH
©2014 AKAMAI | FASTER FORWARDTM
ISO 23009: Timeline and Standards in MPEG
ISO/IEC 23009 Parts • Part 1: Media Presentation Description and Segment Formats
• 2nd edition has already been released
• Part 2: Conformance and Reference Software (Finished 2nd study of DIS) • Part 3: Implementation Guidelines (Finished study of PDTR) • Part 4: Format Independent Segment Encryption and Authentication (FDIS) Other Relevant Specifications • 14496-12: ISO Base Media File Format • 14496-15: Advanced Video Coding (AVC) File Format • 23001-7: Common Encryption in ISO-BMFF • 23001-8: Coding-Independent Code Points
8
CfT Issued April 2010 18 Responses and Working Draft (WD)
July 2010
Committee Draft (CD) Oct. 2010
Draft International Standard (DIS)
Jan. 2011
Final Draft International Standard
August 2011
Published as International Standard
April 2012
Fastest time ever that a standard was developed in MPEG to address the demand of the market
©2014 AKAMAI | FASTER FORWARDTM
Segment Info
Initialization Segment http://www.e.com/ahs-5.3gp
Media Presentation Description (MPD) Data Model
MPD describes accessible Segments and corresponding timing
Media Presentation Period, start=0s
…
Period, start=100s
…
Period, start=295s
…
…
Period, • start=100 • baseURL=http://www.e.com/
Adaptation Set 1 video
…
Adaptation Set 2 audio
…
Media Segment 1 start=0s http://www.e.com/ahs-5-1.3gs
Media Segment 2 start=10s http://www.e.com/ahs-5-2.3gs
Media Segment 3 start=20s http://www.e.com/ahs-5-3.3gh
Media Segment 20 start=190s http://www.e.com/ahs-5-20.3gs
Representation 1 • bandwidth=500kbit/s • width 640, height 480
Segment Info duration=10s
Template: ./ahs-5-$Index$.3gs
…
Representation 2 • bandwidth=250kbit/s • width 640, height 480
…
Splicing of arbitrary content Selection of Components
Select/Switch of Bandwidth
<MPD type="static" xmlns="urn:mpeg:DASH:schema:MPD:2011" profiles="urn:mpeg:dash:profile:full:2011" minBufferTime="PT1.5S" mediaPresentationDuration="PT0H1M59.91S”> <ProgramInformation moreInformationURL=http://gpac.sourceforge.net> <Title>Media Presentation Description for file hdworld_0696kbps.f4v.video_temp.mp4 generated with GPAC </Title> </ProgramInformation> <Period start="PT0S" duration="PT0H1M59.91S”> <AdaptationSet> <ContentComponent id="1" contentType="video"/> <SegmentTemplate initialization="HDWorld_init.mp4"/> <Representation id="1" mimeType="video/mp4" codecs="avc1.64001f" width="1280" height="720" startWithSAP="1" bandwidth="534520”> <SegmentTemplate timescale="1000" duration="9750" media="hdworld_seg_hdworld_0696kbps_ffmpeg.mp4.video_temp$Number$.m4s" startNumber="1"/> </Representation> <Representation id="2" mimeType="video/mp4" codecs="avc1.64001f" width="1280" height="720" startWithSAP="1" bandwidth="812797”> <SegmentTemplate timescale="1000" duration="9750" media="hdworld_seg_hdworld_0996kbps_ffmpeg.mp4.video_temp$Number$.m4s" startNumber="1"/> </Representation> <Representation id="3" mimeType="video/mp4" codecs="avc1.64001f" width="1280" height="720" startWithSAP="1" bandwidth="1607936”> <SegmentTemplate timescale="1000" duration="9750" media="hdworld_seg_hdworld_1896kbps_ffmpeg.mp4.video_temp$Number$.m4s" startNumber="1"/> </Representation> </AdaptationSet> <AdaptationSet> <ContentComponent id="1" contentType="audio" lang="und"/> <SegmentTemplate initialization="HDWorld_audio_init.mp4"/> <Representation id="1" mimeType="audio/mp4" codecs="mp4a.40.02" sampleRate="44100" numChannels="2" lang="und" startWithSAP="1" bandwidth="257141”> <SegmentTemplate timescale="1000" duration="9980" media="hdworld_seg_audio$Number$.m4s" startNumber="1"/> </Representation> </AdaptationSet> </Period> </MPD>
©2014 AKAMAI | FASTER FORWARDTM
Highlighted Features
Live, on-demand and time-shift services. Efficient and ease of use of existing CDNs, proxies, caches, NATs and
firewalls. Independency of request size and segment size (byte range requests). Segment formats.
• ISO base media FF and TS. • Codec independent: guidelines for integrating any other format.
Control of entire streaming session by the client. Support of seamless switching of tracks. The concept of switching and selectable streams.
©2014 AKAMAI | FASTER FORWARDTM
Highlighted Features contd.
Support for efficient trick mode. Simple splicing and (targeted) ad insertion. Content Descriptors for Protection, Accessibility, Rating, etc. Common Encryption - signaling, delivery & utilization of multiple concurrent
DRM schemes from the same file. Multiple base URLs for the same content. Support for Scalable Video Coding (SVC), Multiview Video Coding (MVC) and
any interdependent coding. Definition of quality metrics for logging processes. Profile: restriction of DASH and system features.
©2014 AKAMAI | FASTER FORWARDTM
Full Profile
MPEG-2 TS Main
Profiles
Set of restrictions on the Media Presentation (MPD & Segments). 6 Profiles defined in ISO/IEC 23009:
ISO Base Media File Format Main
ISO Base Media File Format On Demand
MPEG-2 TS simple ISO Base Media File
Format Live
©2014 AKAMAI | FASTER FORWARDTM
Different segment addressing schemes
Segment List <AdaptationSet segmentAlignment="true" maxWidth="1920" maxHeight="1080" maxFrameRate="25" par="16:9"> <ContentComponent id="1" contentType="video"/> <Representation id="h264bl_low" mimeType="video/mp4" codecs="avc1.42c00d" width="320" height="180" frameRate="25" sar="1:1" startWithSAP="1" bandwidth="50877"> <SegmentList timescale="1000" duration="10000"> <Initialization sourceURL="mp4-main-multi-h264bl_low-.mp4"/> <SegmentURL media="mp4-main-multi-h264bl_low-1.m4s"/> <SegmentURL media="mp4-main-multi-h264bl_low-2.m4s"/> <SegmentURL media="mp4-main-multi-h264bl_low-3.m4s"/> <SegmentURL media="mp4-main-multi-h264bl_low-4.m4s"/> <SegmentURL media="mp4-main-multi-h264bl_low-5.m4s"/> <SegmentURL media="mp4-main-multi-h264bl_low-6.m4s"/> <SegmentURL media="mp4-main-multi-h264bl_low-7.m4s"/> <SegmentURL media="mp4-main-multi-h264bl_low-8.m4s"/> …..
©2014 AKAMAI | FASTER FORWARDTM
Different segment addressing schemes
Segment Template
<AdaptationSet codecs="avc1.4d401f" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> <Representation id="v_segm1" bandwidth="1500000" width="960" height="540"> <SegmentTemplate timescale="100000" duration="600600" initialization="v_segm1-init.mp4" media="v_segm1-$Number$.m4s" startNumber="28778"> </SegmentTemplate> </Representation> <Representation id="v_segm2" bandwidth="1200000" width="640" height="360"> <SegmentTemplate timescale="100000" duration="600600" initialization="v_segm2-init.mp4" media="v_segm2-$Number$.m4s" startNumber="28778"> </SegmentTemplate> </Representation> ….
©2014 AKAMAI | FASTER FORWARDTM
Different segment addressing schemes
SegmentBase <AdaptationSet> <ContentComponent contentType="video" id="1" /> <Representation bandwidth="4190760" codecs="avc1.640028" height="1080" id="1" mimeType="video/mp4" width="1920"> <BaseURL>oops-20120802-89.mp4</BaseURL> <SegmentBase indexRange="674-1293"> <Initialization range="0-673" /> </SegmentBase> </Representation> <Representation bandwidth="2073921" codecs="avc1.4d401f" height="720" id="2" mimeType="video/mp4" width="1280"> <BaseURL>oops-20120802-88.mp4</BaseURL> <SegmentBase indexRange="672-1291"> <Initialization range="0-671" /> </SegmentBase> </Representation> ….
©2014 AKAMAI | FASTER FORWARDTM
Different segment addressing schemes
Segment Timeline
<AdaptationSet group=”1” mimeType="audio/mp4” minBandwidth="148000” maxBandwidth="148000" segmentAlignment="true"> <SegmentTemplate timescale="48000” initialization="dash/ateam-audio=$Bandwidth$.dash" media="dash/ateam-audio=$Bandwidth$-$Time$.dash"> <SegmentTimeline> <S t="0” d="200704" /> <S d="119808" /> <S d="102400" r=“3”/> <S d="104448" /> <S d="141312" /> <S d="114688" /> <S d="111616" /> </SegmentTimeline> </SegmentTemplate> <Representation id="audio=148000” bandwidth="148000” codecs="mp4a.40.2" audioSamplingRate="48000"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"> </AudioChannelConfiguration> </Representation> </AdaptationSet>
©2014 AKAMAI | FASTER FORWARDTM
HTT
P
Number-based addressing
Time-based addressing
Playlist-based addressing
Byte-based addressing
URLs
URLs
URLs
URLs
MPD
Segment Index
Adaptive stream
ing heuristics
Media download (muxed)
Media Segment download (unmuxed)
Audio ES
Video ES Initialization
Segment download
Segment Index
download ISO
Bas
e M
edia
File
For
mat
Par
ser
Open G
oP sw
itching
Closed G
oP sw
itching
Interop and Overview DASH-AVC/264
Com
mon
Enc
rypt
ion
2300
1-7
Subtitles
Mul
tiple
DR
M S
MP
TE
TT H
E-A
AC
v2 H
.264/AVC
P
r HP
@3.1
©2014 AKAMAI | FASTER FORWARDTM
DASH-IF Published Outputs 18
DASH-AVC/264 V1.0
DASH-AVC/264 V2.0
DASH IOP V3.0
Test Suite V1.0
dash.js V1.2
Community Review @ dashif.org
Ad Insertion V1.0
Conf. Software V1.0
Live Service V1.0
• Codecs • SD video • Subtitles and closed captioning • DRM baseline signaling • Transport-protocol • Metadata
• HD Video • MC audio
• HEVC • 4K/UHD
• Events • CEA608/708
• Server-side Client-side
©2014 AKAMAI | FASTER FORWARDTM
DASH MSE Reference client
Delivered as an open source player, hosted on Github https://github.com/Dash-Industry-Forum/dash.js Leverages the Media Source Extensions and Encrypted Media Extensions of the W3C. Enabled in Chrome v23+ and IE11+ Free to use and extend. Released under the BSD-3 license. Supports the test vectors of DASH-AVC/264, along with adaptive, late-binding, multi-bitrate playback. Apple’s has announced “Premium HTML5 Video” == MSE + EME in Safari Example player here: http://dashif.org/reference/players/javascript/index.html
Let’s look at a quick demo
©2014 AKAMAI | FASTER FORWARDTM
Key Market Benefits of MPEG DASH
independent ISO standard - not owned by any one company multi-language/multi-format late-binding audio common encryption templated manifests efficient delivery from non-segmented origin files efficient ad insertion industry convergence for streaming delivery vibrant ecosystem of encoders and player builders
©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
IS MPEG DASH STILL A
LAB THING?
©2014 AKAMAI | FASTER FORWARDTM
• Early implementer (late 2010)
• ISO BMFF compliant media fragments
• Custom manifests
• Common Encryption + PlayReady/Widevine DRMs
• DASH plays on all devices except iOS 6
Netflix debug info on Chrome browser with Silverlight player
Network trace of an iOS 7 iPhone
©2014 AKAMAI | FASTER FORWARDTM
• MPEG DASH delivery started in December 2012
• More than 98% of the content is now available in DASH format
• Using a mix of ISO BMFF H.264 & WEBM VP8/VP9 DASH profiles to serve all devices
• Custom manifests
• Common Encryption + PlayReady/Widevine DRMs
• DASH plays on TVS, game consoles, STBs, Chromecast, desktop browsers, mobile web, mobile apps
DASH benefits for YouTube, by Richard Leider (Engineering Manager, YouTube Player Infrastructure)
IBC 2014 DASH SuperSession 09/13/14
©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
WITH THOSE DEPLOYMENTS ONLY, MPEG DASH CONTRIBUTES ~50%
OF THE DAILY WEB TRAFFIC.
IS THERE MORE?
©2014 AKAMAI | FASTER FORWARDTM
• MPEG DASH delivery started in 2013
• DASH-AVC/264 compliance • Common Encryption + PlayReady/Widevine DRMs
• Smooth & DASH compatible media files
• DASH played by Chromecast, Chrome, IE11, Amazon FireTV and Android 4.2+
• 15% better QoS >> less rebuffering
DASH / Smooth Interoperable DRM Signaling, by Baptiste Coudurier
(Principal Software Development Lead) OVFSquad Conference, 09/18/14
©2014 AKAMAI | FASTER FORWARDTM
• MPEG DASH delivery started in November 2013
• DASH-AVC/264 compliance (isoff-on-demand profile) + additional constraints on encoding parameters such as video resolutions
• Common Encryption + Marlin DRM
• DASH plays on recent BRAVIA TVs and Playstation consoles – with client support gradually expanding
Sony Video Unlimited service
©2014 AKAMAI | FASTER FORWARDTM
• Deployments done by Intertrust in 2014
• MyTF1 VOD: HbbTV 1.5, iOS, Android
• Mediaset Infinity: ADB Set Top Boxes, Connected TVs with Tivùon! middleware
• Common Encryption + PlayReady/Marlin DRMs
• On iOS: local proxy transforms DASH into HLS, Quicktime player controls heuristic
ADB Set Top Box i-CAN 3820T Terrestrial HD
MyTF1 VOD Service on Android
©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
MPEG DASH IS EXPANDING
OUTSIDE OF THE INITIAL OTT SPHERE
©2014 AKAMAI | FASTER FORWARDTM
• First DASH integration in HbbTV 1.5 spec / ongoing deployments
• DVB DASH Profile approved on July 3rd
• HbbTV 2.0 (Q1 2015) integrates this new DVB DASH Profile
• DASH is mandatory in eMBMS spec
• 1 Channel ID = 2 Manifests pointing to the same video fragments: high bitrate for Multicast, multibitrate for Unicast
• First large scale LTE Broadcast deployment by Korea Telecom
• Many field trials to be transformed in deployments in 2015
• DASH is integrated in CVP-2 Guidelines
• DASH is considered for the v.3 Guidelines
• Ongoing work on Common Streaming Format close to DASH-IF Guidelines
©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
THE MPEG DASH ECOSYSTEM IS
VIBRANT
©2014 AKAMAI | FASTER FORWARDTM
• Android 4.4 supports DASH and CENC
• Chromecast native DASH support
• Widevine is now DASH compatible
• eDASH Packager
• ExoPlayer (Java) • Safari 8+ MSE support (OSX Yosemite)
• Upcoming iOS DASH support ?
• Whole range of player SDKs now supporting DASH
• Azure Media Services dynamically packaging live & on-demand DASH streams
• PlayReady CENC compatible
• Primetime cross-platform DASH support expanding
• Access CDM integrated in Firefox
©2014 AKAMAI | FASTER FORWARDTM
• ExoPlayer • eDASH Packager
• GPAC Player • MP4Box • DASHcast
• libdash • Reference Test Engine for Encoding
• dash.as • DASH.encrypt
segmenter
• dash.js • mp4-dash packager • Hippo Media Server
GPAC
BENTO4 ITEC
• DASHEncoder
©2014 AKAMAI | FASTER FORWARDTM
• Missions : promotion of MPEG DASH and interoperability work
• 78 members (Google joined in August)
• Collaboration hub with many standards bodies
• DASH-AVC/264 & DASH-HEVC/265 Interoperability Points
• No company copyright on contributions
CHARTER MEMBERS
CONTRIBUTOR MEMBERS
ASSOCIATE MEMBERS
More information on http://dashif.org
©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
MPEG DASH @ AKAMAI
©2014 AKAMAI | FASTER FORWARDTM
Media Services Live – Available today
Certified Encoders
Ingest Points
Stream Packaging
Ingest Formats HDS, HLS, Smooth & DASH Output Formats
DASH, Smooth, HDS and HLS
HLS or HDS
Ingest Formats RTMP
DVR Cloud Archive Unlimited duration
Adaptive Media Player (AMP)
©2014 AKAMAI | FASTER FORWARDTM
Media Services On Demand – Q1 2015
Transcoding
Media Services On Demand
Packaging
Globally Distributed Content Delivery
Single Source. Multiple Devices.
Parallel Processing for faster turn
abound. Automated Watch
Folder.
Mezzanine files for transcoding
Prepared mp4 Including existing files on NetStorage
DASH in 3 profiles: HbbTV DASH-AVC/264 ondemand DASH-AVC/264 live
HLS Smooth HDS
©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
WHERE WILL WE BE WITH MPEG DASH
IN 3 YEARS FROM NOW?
©2014 AKAMAI | FASTER FORWARDTM
DASH Insights for 2015-2017
• UHD profiles • Low latency live specific guidelines • HTTP2.0 transport • New Multichannel Audio extensions
(AC4) • Official DASH WebM Profile • Spatial Relationships Description for
zoomed or tiled videos representations • QoE standardisation: ITU-T P.NATS • Server And Network assisted DASH
operation • WebRTC transport
• Generalized MSE/EME support • Improved Live support • Good Ad Insertion support • DRM backend interoperability • Browsers CDM interoperability
OTT VIDEO TRAFFIC DASH: 70 to 100% HLS: 0 to 30%
ECOSYSTEM EVOLUTIONS
DASH EXTENSIONS
©2014 AKAMAI | FASTER FORWARDTM
Thank you for your time
Questions?
(All slides will be available through Akamai Community)