conférensquad #4 - hulu et dash par baptiste coudurier

10

Click here to load reader

Upload: justindwah

Post on 29-May-2015

2.429 views

Category:

Technology


0 download

DESCRIPTION

Retour d'expérience de Hulu sur la production de médias compatibles Smooth Streaming et DASH, et a migration vers DASH en général.

TRANSCRIPT

Page 1: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

BAPTISTE COUDURIER

MPEG DASH

Page 2: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

2

AVANT DASH

• HLS, SS, HDS, Widevine

• Un DRM pour chaque format

• Cout de stockage eleve

• Outils de packaging differents et workflow complexe

Page 3: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

3

APRES DASH

• Common file format (CENC)

• Un seul fichier, plusieurs DRM

• Manifest format MPD (pas de manifest serveur)

• MSE / EME

• Compatibilite avec d’autres formats (SS, HLS transmux)

Page 4: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

4

SIDX MFRA FRAGMEN

T MOOV FRAGMENTS

STRUCTURE FICHIER

Page 5: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

5

MOOV

PSSH PLAYREADY

PSSH WIDEVINE

PSSH ACCESS

MOOF

SENC (PIFF 1.1)

SAIZ

SAIO

CENC SMOOTH STREAMING COMPATIBLE

Page 6: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

6

<?xml version="1.0" encoding="utf-8"?>

<MPD mimeType="text/xml" xmlns="urn:mpeg:DASH:schema:MPD:2011" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static" minBufferTime="PT5.0S"

mediaPresentationDuration="PT1390.472S">

<Period>

<AdaptationSet mimeType="video/mp4" segmentAlignment="true" bitstreamSwitching="true">

<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/>

<ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"/>

<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>

<Representation id="1" codecs="avc1.64001E" width="720" height="400" startWithSAP="1" bandwidth="813193">

<BaseURL>http://www.hulu.com/H264_1000_video.mp4</BaseURL>

<SegmentBase indexRange="1540-4931" indexRangeExact="true">

<Initialization range="0-1539"/>

</SegmentBase>

</Representation>

<Representation id=“3" codecs="avc1.64001F" width="1280" height="720" startWithSAP="1" bandwidth="1699859">

<BaseURL>http://www.hulu.com/H264_2000_video.mp4</BaseURL>

<SegmentBase indexRange="1536-4927" indexRangeExact="true">

<Initialization range="0-1535"/>

</SegmentBase>

</Representation>

</AdaptationSet>

<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" bitstreamSwitching="true">

<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/>

<ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"/>

<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>

<Representation id="2" codecs="mp4a.40.2" audioSamplingRate="48000" startWithSAP="1" bandwidth="64000">

<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"/>

<BaseURL>http://www.hulu.com/HEAAC_64.mp4</BaseURL>

<SegmentBase indexRange="1483-4838" indexRangeExact="true">

<Initialization range="0-1482"/>

</SegmentBase>

</Representation>

</AdaptationSet>

</Period>

</MPD>

MPD SEGMENTBASE

Page 7: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

7

<?xml version="1.0" encoding="utf-8"?>

<MPD mimeType="text/xml" xmlns="urn:mpeg:DASH:schema:MPD:2011" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static" minBufferTime="PT5.0S"

mediaPresentationDuration="PT1390.472S">

<Period>

<AdaptationSet mimeType="video/mp4" segmentAlignment="true" bitstreamSwitching="true">

<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/>

<ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"/>

<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>

<SegmentTemplate initialization="$RepresentationID$.init" media="QualityLevels($Bandwidth$)/Fragments(video=$Time$)" timescale="10000000">

<SegmentTimeline>

<S d="50050000" r="102"/>

<S d="43793750"/>

<S d="50050000" r="66"/>

<S d="52135416"/>

</SegmentTimeline>

</SegmentTemplate>

<Representation id="1" codecs="avc1.64001E" width="720" height="400" startWithSAP="1" bandwidth="813193">

</Representation>

<Representation id=“3" codecs="avc1.64001F" width="1280" height="720" startWithSAP="1" bandwidth="1699859">

</Representation>

</AdaptationSet>

</Period>

</MPD>

MPD SEGMENTTIMELINE

Page 8: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

8

COMPATIBILITE

• Approches MPD (SegmentBase, SegmentList, SegmentTimeline)

• CORS

• Support MSE/EME pour tous les navigateurs

Page 9: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

9

INSERTION DE LA PUB

• Double lecteur

• Plusieurs approches MPD (SegmentList, SegmentBase)

• Xlink fonctionnalite

Page 10: ConférenSquad #4 - Hulu et DASH par Baptiste Coudurier

10

DEPLOIEMENT

• Gros succes

• 100% traffic sur Chromecast, Chrome, IE11, Amazon FireTV, Android 4.2+

• 100% SS compatibilite

• 15% d’amelioration QOS

• Diminution des couts de stockage et couts