Weitere ähnliche Inhalte Ähnlich wie Edge 2014: MPEG DASH – Tomorrow's Format Today (20) Mehr von Akamai Technologies (20) Kürzlich hochgeladen (20) Edge 2014: MPEG DASH – Tomorrow's Format Today2. MPEG DASH – Tomorrow's Format Today
Will Law, Chief Architect, Media Division & Nicolas Weil, Senior Solutions Architect
3. ©2014 AKAMAI | FASTER FORWARDTM
Streaming is a feudal landscape
SMOOTH HDS HLS
4. ©2014 AKAMAI | FASTER FORWARDTM
Streaming is a feudal landscape
MPEG-DASH
6. ©2014 AKAMAI | FASTER FORWARDTM
6
DASH intends to be to
the Internet world …
what MPEG2-TS and NTSC have
been to the broadcast world.
7. ©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
8. ©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
9. <MPD type="static" xmlns="urn:mpeg:DASH:schema:MPD:2011" profiles="urn:mpeg:dash:profile:full:2011" minBufferTime="PT1.5S"
mediaPresentationDuration="PT0H1M59.91S”>
Segment Info
<ProgramInformation moreInformationURL=http://gpac.sourceforge.net>
<Title>Media Presentation Description for file hdworld_0696kbps.f4v.video_temp.mp4 generated with GPAC </Title>
Initialization Segment
</ProgramInformation>
http://www.e.com/ahs-5.3gp
<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
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
10. 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.
©2014 AKAMAI | FASTER FORWARDTM
• 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.
11. 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
12. MPEG-2 TS
simple ISO Base Media File
©2014 AKAMAI | FASTER FORWARDTM
Profiles
Set of restrictions on the Media Presentation (MPD & Segments).
6 Profiles defined in ISO/IEC 23009:
Full Profile
MPEG-2 TS
Main
ISO Base Media File Format
Main
ISO Base Media
File Format
On Demand
Format
Live
13. ©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"/>
…..
14. ©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>
….
15. ©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>
….
16. ©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>
17. ©2014 AKAMAI | FASTER FORWARDTM
HTTP
Number-based
addressing
Time-based
addressing
Playlist-based
addressing
Byte-based
addressing
URLs
URLs
URLs
URLs
MPD
Segment
Index
Adaptive streaming heuristics
Media
download
(muxed)
Media
Segment
download
(unmuxed)
Audio ES
Video ES
Initialization
Segment
download
Segment
Index
download
ISO Base Media File Format Parser
Open GoP
switching
Closed GoP
switching
Interop and Overview DASH-AVC/264
Common Encryption
23001-7
Subtitles
Multiple DRM
SMPTE
TT HE-AACv2 H.264/AVC
Pr HP@3.1
18. Community Review @ dashif.org
©2014 AKAMAI | FASTER FORWARDTM
DASH-IF Published Outputs
18
DASH-AVC/264
V1.0
DASH-AVC/264
V2.0
DASH IOP
V3.0
Live Service
V1.0
Test Suite
V1.0
dash.js
V1.2
Ad Insertion
V1.0
Conf. Software
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
19. ©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
20. ©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
21. ©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
IS MPEG DASH
STILL A
LAB THING?
22. ©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
23. ©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
24. ©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
WITH THOSE DEPLOYMENTS ONLY,
MPEG DASH CONTRIBUTES ~50%
OF THE DAILY WEB TRAFFIC.
IS THERE MORE?
25. ©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
26. ©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
27. ©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
28. ©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
MPEG DASH
IS EXPANDING
OUTSIDE OF THE
INITIAL OTT SPHERE
29. ©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
30. ©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
THE MPEG DASH
ECOSYSTEM IS
VIBRANT
31. ©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
32. ©2014 AKAMAI | FASTER FORWARDTM
• ExoPlayer
• eDASH Packager
• GPAC Player
• MP4Box
• DASHcast
• Reference Test • libdash
Engine for Encoding
• dash.js • mp4-dash packager
• dash.as
• DASH.encrypt
segmenter
• Hippo Media Server
GPAC
BENTO4 ITEC
• DASHEncoder
33. ©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
34. ©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
MPEG DASH
@ AKAMAI
35. HLS or HDS
©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
Ingest Formats
RTMP
DVR Cloud Archive
Unlimited duration
Adaptive
Media
Player
(AMP)
36. ©2014 AKAMAI | FASTER FORWARDTM
Media Services On Demand – Q1 2015
Media Services On Demand
Transcoding
Packaging
Globally Distributed
Content Delivery Single Source.
Multiple Devices.
Parallel Processing
for faster turn
abound.
Mezzanine files
for transcoding
Prepared mp4
Including existing files
on NetStorage
Automated Watch
Folder .
DASH in 3 profiles:
HbbTV
DASH-AVC/264 ondemand
DASH-AVC/264 live
HLS
Smooth
HDS
37. ©2014 AKAMAI | FASTER FORWARDTM
DASH Deployment State
WHERE WILL WE BE
WITH MPEG DASH
IN 3 YEARS FROM NOW?
38. ©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
OTT VIDEO TRAFFIC
DASH: 70 to 100%
HLS: 0 to 30%
ECOSYSTEM
EVOLUTIONS
• Generalized MSE/EME support
• Improved Live support
• Good Ad Insertion support
• DRM backend interoperability
• Browsers CDM interoperability
DASH EXTENSIONS
39. ©2014 AKAMAI | FASTER FORWARDTM
Thank you for your time
Questions?
(All slides will be available through Akamai Community)