SlideShare ist ein Scribd-Unternehmen logo
1 von 126
Dynamic(Adap,ve(Streaming(over(HTTP:(
From(Content(Crea,on(to(Consump,on(
    Chris,an(Timmerer(                                 Carsten(Griwodz(
AlpenHAdriaHUniversität(Klagenfurt(                 Simula(Research(Laboratory(
     Universitätsstraße(65H67(                              P.O.Box(134(
AH9020(Klagenfurt(am(Wörthersee(                       1325(Lysaker,(Norway(
        +43$463$2700$3621$                                +47$67$82$82$00$
  chris/an./mmerer@itec.aau.at$                           griff@simula.no$



                         ACM(Mul,media(2012,(Nara,(Japan(
                               29th(October,(2012(
Video$Predominant$on$the$Internet$
     •  RealB/me$video$is$more$than$50%$of$the$traffic$at$peak$periods$
     •  Mobile$traffic$is$growing$exponen/ally,$all$delivered$over$the$top$(OTT)$




hZp://www.sandvine.com/downloads/documents/Phenomena_1H_2012/
Sandvine_Global_Internet_Phenomena_Report_1H_2012.pdf$

     Oct$29,$2012$                                DASH$Tutorial,$ACM$Mul/media$2012$   2$
...$but$User$Frustra/on$is$High!!!$
     •    Wrong$format$
     •    Wrong$protocol$
     •    Plugin$required$
     •    DRM$issues$
     •    Long$startBup$delay$
     •    Low$quality$
     •    Frequent$stalls$
     •    Bitrate$intense$
     •    No$DVD/PVR$experience$

Ack:$Thomas$Stockhammer$
      Oct$29,$2012$        DASH$Tutorial,$ACM$Mul/media$2012$   3$
Dynamic$Adap/ve$Streaming$over$HTTP$

     •  In$a$nutshell$…$




Ack$&$©:$Christopher$Müller$
     Oct$29,$2012$             DASH$Tutorial,$ACM$Mul/media$2012$   4$
Presenters$
Chris,an(Timmerer(                                            Carsten(Griwodz(

Assistant$professor$at$the$Ins/tute$of$Informa/on$          Head$of$the$Media$department$of$research$company$
Technology$(ITEC),$Mul/media$Communica/on$Group$            Simula$Research$Laboratory,$and$professor$of$Computer$
(MMC),$AlpenBAdriaBUniversität$Klagenfurt,$Austria.$His$    Science$at$the$University$of$Oslo.$He$received$his$Dipl.B
research$interests$include$immersive$mul/media$             Inf.$degree$from$Paderborn$University$in$1993$and$Dr.B
communica/on,$streaming,$adapta/on,$and$Quality$of$         Ing.$degree$from$Technische$Universität$Darmstadt$in$
Experience$(QoE).$He$was$the$general$chair$of$              2000.$He$worked$for$IBM$from$1993–98$and$par/cipated$
WIAMIS’08,$AVSTP2P’10$(coBlocated$with$ACMMM’10),$          in$the$standardiza/on$of$MHEG.$His$research$is$
WoMAN’11$(coBlocated$with$ICME’11),$and$TPC$coBchair$       concerned$with$streaming$media,$ranging$from$scalable$
of$QoMEX’12.$He$has$par/cipated$in$several$ECBfunded$       distribu/on$architectures$through$opera/ng$system$and$
projects,$notably$DANAE,$ENTHRONE,$P2PBNext,$               protocol$support$to$subjec/ve$visual$quality$assessment.$$
ALICANTE,$and$SocialSensor.$He$is$an$Associate$Editor$for$  He$was$coBchair$of$ACM$NOSSDAV$2008,$ACM/IEEE$
IEEE$Computer$Science$Compu/ng$Now,$Area$Editor$for$        NetGames$2011,$SPIE/ACM$MMCN$2006$and$2007,$Track$
Elsevier$Signal$Processing:$Image$Communica/on,$Review$     chair$of$ACM$MM$2008,$TPC$chair$of$ACM$MMSys$2012$
Board$Member$of$IEEE$MMTC,$editor$of$ACM$SIGMM$             and$is$general$chair$of$MMSys$2013.$He$is$Associate$
Records,$and$member$of$ACM$SIGMM$Open$Source$               Editor$of$ACM$TOMCCAP$and$EditorBinBChief$of$the$
Sorware$CommiZee.$He$also$par/cipated$in$ISO/MPEG$          newsleZer$ACM$SIGMM$Records.$The$Media$group$
work$for$several$years,$notably$in$the$area$of$MPEGB21,$    publishes$news$at$hZp://mpg.ndlab.net.$His$publica/ons$
MPEGBM,$MPEGBV,$and$DASH$(incl.$DASH$promoters$             can$be$found$at$hZp://simula.no/people/griff/
group).$He$received$his$PhD$in$2006$from$the$Klagenfurt$    bibliography.$
University.$Publica/ons$and$MPEG$contribu/ons$can$be$
found$under$hZp://research./m$merer.com,$follow$him$
on$hZp://www.twiZer.com//mse7,$and$subscribe$to$his$
blog$hZp://blog./mmerer.com.$Full$bio$can$be$found$at$
hZp://wwwBitec.uniBklu.ac.at/~/mse/cv/.$ DASH$Tutorial,$ACM$Mul/media$2012$
Oct$29,$2012$                                                                                                         5$
Tutorial$Outline$
       –  Scope$and$design$principles$
       –  Data$model$
       –  Profiles$


       –  GPAC$
       –  VLC$media$player$plugin,$libdash$
       –  Javascript$&$HTML5$=>$DASHBJS$


       –  Mobile,$heterogeneous$environments$
       –  Quality$of$Experience$(QoE)$
       –  Synchroniza/on$

Oct$29,$2012$                 DASH$Tutorial,$ACM$Mul/media$2012$   6$
Dynamic(Adap,ve(
                   Streaming(over(HTTP((DASH)(
                            Chris,an(Timmerer(and(Christopher(Müller(
                                                      (
  AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on(
           Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)(
       research./mmerer.com$!$blog./mmerer.com$!$selab.itec.aau.at$!$dash.itec.aau.at$!$stcsn.ieee.net$
                                        chris/an./mmerer@itec.aau.at$

                                   ACM(Mul,media(2012,(Nara,(Japan(
                                         29th(October,(2012(

Acknowledgment:$Thomas$Stockhammer$(QUALCOMM),$Mark$Watson$(Nezlix),$Iraj$Sodagar$(Microsor)$
What$is$DASH?$




hZp://en.wikipedia.org/wiki/Dash_(disambigua/on)$
Oct$29,$2012$               DASH$Tutorial,$ACM$Mul/media$2012$   8$
Dynamic$Adap/ve$Streaming$over$HTTP$(DASH)$
Proprietary(Solu,ons(       Int’l(Standard(Solu,ons(V1(             Int’l(Standard(Solu,ons(V2(

     Apple(HTTP(Live(
       Streaming((
                               3GPP(Rel.9(Adap,ve(
                                                                           3GPP(Rel.10(DASH(
      Adobe(HTTP(                HTTP(Streaming((
   Dynamic(Streaming((
                                                                                           V3…$
    Microsoe(Smooth(
       Streaming(
                                        OIPF(HTTP(Adap,ve(
                                                                           MPEGHDASH(
                                            Streaming(

    Neflix(      Akamai(
      Movenetworks’(
      Movestreaming((

   Amazon(         .(.(.(
                                                                                        /me$

  hZp://mul/mediacommunica/on.blogspot.com/2010/05/hZpBstreamingBofBmpegBmedia.html$

 Oct$29,$2012$                 DASH$Tutorial,$ACM$Mul/media$2012$                              9$
DASH$Design$Principles$
      •  DASH$is$not$
            –  system,$protocol,$presenta/on,$codec,$interac/vity,$DRM,$client$specifica/on$
      •  DASH$is$an$enabler$
            –  It$provides$formats$to$enable$efficient$and$highBquality$delivery$of$streaming$
               services$over$the$Internet$
            –  It$is$considered$as$one$component$in$an$endBtoBend$service$
            –  System$defini/on$ler$to$other$organiza/ons$(SDOs,$fora,$companies,$etc.)$
      •  Design$choices$
            –    Enable$reuse$of$exis/ng$technologies$(containers,$codecs,$DRM$etc.)$
            –    Enable$deployment$on$top$of$HTTPBCDNs$(Web$Infrastructures,$caching)$
            –    Enable$very$high$userBexperience$(low$startBup,$no$rebuffering,$trick$modes)$
            –    Enable$selec/on$based$on$network$and$device$capability,$user$preferences$
            –    Enable$seamless$switching$
            –    Enable$live$and$DVDBkind$of$experiences$
            –    Move$intelligence$from$network$to$client,$enable$client$differen/a/on$
            –    Enable$deployment$flexibility$(e.$g.,$live,$onBdemand,$/meBshir$viewing)$
            –    Provide$simple$interoperability$points$(profiles)$
      Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$                       10$
Ack$&$©:$Thomas$Stockhammer$
Scope$of$DASH$
           Server(                                                               Client(
                                     1(
                         MF(                                           MF(


                                     2(
                          DF(                                          DF(


ISOBM                                                                                      ISOBM
  FF(               easy$                                                 easy$              FF(
                 conversion$                                           conversion$



M2TS(                                                                                      M2TS(



Oct$29,$2012$                     DASH$Tutorial,$ACM$Mul/media$2012$                               11$
What$is$specified$–$and$what$is$not?$




      Oct$29,$2012$            DASH$Tutorial,$ACM$Mul/media$2012$   12$
Ack$&$©:$Thomas$Stockhammer$
DASH$Data$Model$
                                                                                              Segment Info
                                                                                              Initialization Segment
                                                                                              http://www.e.com/ahs-5.3gp


Media Presentation                                                                            Media Segment 1
                               Period,                                                        start=0s
 Period, start=0s              • start=100                          Representation 1          http://www.e.com/ahs-5-1.3gs

 …                                          …
                               • baseURL=http://www.e.com/          • bandwidth=500kbit/s
                                                                    • width 640, height 480   Media Segment 2
                                Representation 1                                 …            start=10s
                                                                                              http://www.e.com/ahs-5-2.3gs
 Period, start=100s             500kbit/s                            Segment Info
 …                                                                   duration=10s             Media Segment 3
                                                                                              start=20s
                                Representation 2                     Template:                http://www.e.com/ahs-5-3.3gh
                                100kbit/s                            ./ahs-5-$Index$.3gs
 Period, start=295s
                                            …
 …

           …

                                                                                              Media Segment 20
                                                                                              start=190s
                                                                                              http://www.e.com/ahs-5-20.3gs


      Oct$29,$2012$                         DASH$Tutorial,$ACM$Mul/media$2012$                                    13$
Ack$&$©:$Thomas$Stockhammer$
Media$Presenta/on$Descrip/on$
      •  Redundant$informa/on$of$Media$Streams$for$the$purpose$to$
         ini/ally$select$or$reject$Adapta/onSets$of$Representa/ons$
            –  Examples:$Codec,$DRM,$language,$resolu/on,$bandwidth$
      •  Access$and$Timing$Informa/on$
            –  HTTPBURL(s)$and$byte$range$for$each$accessible$Segment$
            –  Earliest$next$update$of$the$MPD$on$the$server$
            –  Segment$availability$start$and$end$/me$in$wallBclock$/me$
            –  Approximated$media$start$/me$and$dura/on$of$a$Media$Segment$in$
               the$media$presenta/on$/meline$
            –  For$live$service,$instruc/ons$on$star/ng$playout$such$that$media$
               segments$will$be$available$in$/me$for$smooth$playout$in$the$future$
      •  Switching$and$splicing$rela/onships$across$Representa/ons$
      •  Rela/vely$liZle$other$informa/on$



      Oct$29,$2012$               DASH$Tutorial,$ACM$Mul/media$2012$                 14$
Ack$&$©:$Thomas$Stockhammer$
MPD$Schema$Overview$




      Oct$29,$2012$           DASH$Tutorial,$ACM$Mul/media$2012$   15$
Ack$&$©:$Iraj$Sodagar$
MPD$Schema$B$Representa/on$




      Oct$29,$2012$      DASH$Tutorial,$ACM$Mul/media$2012$   16$
Ack$&$©:$Iraj$Sodagar$
DASH$Adapta/onSets$&$Subsets$
 Adapta,onSet(id="grpH1"(                    Adapta/onSet$by$codec,$language,$resolu/on,$
                                             bandwidth,$views,$etc.$–$very$flexible$(in$combina/on$
            Representa,on(id="repH1"(        with$xlink)!$
            Representa,on(id="repH2"(
                                             "  Ranges$for$the$@bandwidth,$@width,$@height$and$
                                                 @frameRate$
                .(.(.(
            Representa,on(id="repHn"(                                 Subset(id="ssH1"(
                                                                             Contains(group="grpH1"(

 Adapta,onSet(id="grpH2"(                                                    Contains(group="grpH4"(
            Representa,on(id="repH1"(                                        Contains(group="grpH7"(
            Representa,on(id="repH2"(
                .(.(.(
            Representa,on(id="repHn"(        Subsets$
                                             "  Mechanism$to$restrict$the$combina/on$of$
                .(.(.(                          ac#ve$Groups$
                                             "  Expresses$the$inten/on$of$the$creator$of$the$
 Adapta,onSet(id="grpHm"(
                                                Media$Presenta/on$$
            Representa,on(id="repH1"(
Oct$29,$2012$                           DASH$Tutorial,$ACM$Mul/media$2012$                             17$
            Representa,on(id="repH2"(
Segment$Indexing$
      •  Provides$binary$informa/on$in$ISO$box$structure$on$
            –  Accessible$units$of$data$in$a$media$segment$
            –  Each$unit$is$described$by$
                   •  Byte$range$in$the$segments$(easy$access$through$HTTP$par/al$GET)$
                   •  Accurate$presenta/on$dura/on$(seamless$switching)$
                   •  Presence$of$representa/on$access$posi/ons,$e.g.$IDR$frames$
      •  Provides$a$compact$bitrateBoverB/me$profile$to$client$
            –  Can$be$used$for$intelligent$request$scheduling$
      •  Generic$Data$Structure$usable$for$any$media$segment$
         format,$e.g.$ISO$BMFF,$MPEGB2$TS,$etc.$
      •  Hierarchical$structuring$for$efficient$access$
      •  May$be$combined$with$media$segment$or$may$be$separate$


      Oct$29,$2012$                   DASH$Tutorial,$ACM$Mul/media$2012$                  18$
Ack$&$©:$Thomas$Stockhammer$
Segment$Indexing$
                                                                  seg1.mp4
 Segment(Index(in(MPD(only(
       <MPD>                                                      seg2.mp4
         ...
         <URL sourceURL="seg1.mp4"/>
         <URL sourceURL="seg2.mp4"/>                                  ...
       </MPD>

       <MPD>                                                                   seg.mp4
         ...
         <URL sourceURL="seg.mp4" range="0-499"/>
         <URL sourceURL="seg.mp4" range="500-999"/>
       </MPD>

 Segment(Index(in(MPD(+(Segment((
       <MPD>                                                     sidx
         ...                                                     .mp4
         <Index sourceURL=”sidx.mp4"/>
         <URL sourceURL="seg.mp4"/>
       </MPD>                                                                  seg.mp4
 Segment(Index(in(Segment(only((
       <MPD>
         ...
         <BaseURL>seg.mp4</BaseURL>                      sidx                seg.mp4
       </MPD>
Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$                      19$
Switch$Point$Alignment$
      •  Segment$alignment$
            –  Permits$nonBoverlapping$decoding$and$presenta/on$of$segments$from$
               different$representa/ons$
      •  Stream$Access$Points$(SAPs)$
            –  Presenta/on$/me$and$posi/on$in$segments$at$which$random$access$and$
               switching$can$occur$
      •  Bitstream$Switching$
            –  Concatena/on$of$segments$from$different$representa/ons$results$in$
               conforming$bitstream$
      •  Alignment$and$SAPs$can$
         also$apply$for$subsegments$
      •  Preferable$switching$points$
         are$segment/subsegment$
         boundaries$for$which$
            –  Alignment$holds$across$
               representa/ons$
            –  The$switchBto$
               representa/on$starts$with$
               a$SAP$
      Oct$29,$2012$                            DASH$Tutorial,$ACM$Mul/media$2012$    20$
Ack$&$©:$Mark$Watson$and$Thomas$Stockhammer$
Profiles$
      •  Subset$(restric/ons)$of$the$func/onality$
      •  Target$specific$applica/ons/domains$
      •  As$of$now,$mainly$related$to$supported$segment$
         formats$
                                 Full(Profile(
                                                                  ISOBMFF(Main(

                   MPEGB2$     MPEGH2(                  ISOBMFF$             ISOBMFF$
                  TS$Simple$   TS(Main(                On$Demand$               Live$




      •  More$restric/ons$may$be$added$
       Oct$29,$2012$               DASH$Tutorial,$ACM$Mul/media$2012$                   21$
Ack:$Thomas$Stockhammer$
Adap/ve$Streaming$Summary$
      •    For$on$demand$                                         •    For$live$
            –  Chunks$are$unnecessary$and$costly$                       –  Chunks$are$unavoidable$
            –  Byte$range$requests$have$caching$and$                    –  S/ll$value$in$decoupling$request$size$
               flexibility$advantages$                                      from$chunk$size$
            –  Separate$audio/video$essen/al$for$                       –  Mul/ple$language$audio$tracks$are$rare$
               language$support$                                        –  May$need$manifest$updates$
      •    For$both$
            –  Switch$point$alignment$required$for$most$CE$decoding$pipelines$




      Oct$29,$2012$                            DASH$Tutorial,$ACM$Mul/media$2012$                               22$
Ack$&$©:$Mark$Watson$and$Thomas$Stockhammer$
Adapta/on$Problem$
      Choose$sequence$and$/ming$of$requests$to$minimize$
      probability$of$reBbuffers$and$maximize$quality$




      Oct$29,$2012$         DASH$Tutorial,$ACM$Mul/media$2012$   23$
Ack$&$©:$Mark$Watson$
Poten/al$Future$Work$Items$
•  MMSys’11$Keynote$
       –  HTTP$Adap/ve$Streaming$in$Prac/ce$by$Mark$Watson$(Nezlix)$
       –  Future$work$
                •  Good$models$for$future$bandwidth$
                •  Tractable$representa/ons$of$future$choices$B$how$to$efficiently$search$
                   the$'choice$space'$
                •  What$are$the$quality$goals?$
•  Call$for$adapta/on$logics$
       –  Efficient$implementa/ons$of$the$actual$adapta/on$logic$which$is$
          responsible$for$the$dynamic$and$adap/ve$part$of$DASH$
    hZp://mul/mediacommunica/on.blogspot.com/2011/02/betaBversionBofBvlcBdashBplugin.html$

•  Get$it$deployed$and$adopted$(e.g.$W3C,$DVB$–$what$is$
   necessary?)$
•  Join$this$ac/vity,$everyone$is$invited$–$get$involved$in$and$
   exited$about$DASH!$
Oct$29,$2012$                      DASH$Tutorial,$ACM$Mul/media$2012$                 24$
DASH(“Encoder”,(Dataset,(and(Players(

     Stefan(Lederer,(Christopher(Müller,(Benjamin(Rainer,(and(Chris,an(Timmerer(
                                                           (
AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on(
         Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)(
            hZp://research./mmerer.com$!$hZp://blog./mmerer.com$!$hZp://dash.itec.aau.at/
                                mailto:chris/an./mmerer@itec.uniBklu.ac.at$


                                      ACM(Mul,media(2012,(Nara,(Japan(
                                            29th(October,(2012(
 Acknowledgments.$This$work$was$supported$in$part$by$the$European$Commission$in$the$context$of$the$ALICANTE$project$(FP7B
                   ICTB248652),$SocialSensor$(FP7BICTB287975),$and$the$COST$Ac/on$IC1003$QUALINET.$$
DASH@GPAC: MP4Box & MP42TS

     !  Multimedia Packagers
       •  MPEG-2 TS for DASH profiles
       •  ISOBMFF Packager & Analyser
     !  DASH Segmenter
       •  ISOBMFF and M2TS segments
           -    All DASH profiles supported
           -    URL-template naming scheme
          •  Segment indexing (SIDX)
          •  GOP-align segments or fragments (MediaSourceExtension)
          •  Automatic AdaptationSet selection
           -    Media type, codec, language, PAR
           -    Handle groups (same media but not switchable)
     !    DASH live simulator
           -    Manages MPD update and timeline continuity


jean.lefeuvre@telecom-paristech.fr          http://gpac.sourceforge.net
DASHEncoder$
•  DASH$Content$Genera/on$Tool$
       –  Encoding$+$Mul/plexing$+$MPD$genera/on$
       –  Generates$isoffmain$profile$compliant$MPDs$
       –  Fully$configurable$using$a$configBfile$
       –  Enables$batch$processing$
       –  Currently$uses$x264$and$GPAC‘s$MP4Box$
       –  Easy$extensible$to$further$$
          encoders$&$mul/plexers$
       –  hZp://dash.itec.aau.at/$

Oct$29,$2012$         DASH$Tutorial,$ACM$Mul/media$2012$   27$
DASHEncoder$

                •  h.264:$       $x264$/$ffmpeg$
                •  AAC: $        $ffmpeg$
   Encode$      •  [WebM,$etc.]$



                •  MP4Box:     $Video$/$Audio$/$Video$+$Audio$
                •  [e.g.$WebM/MKV$Segmenter]$
Container$

                •  Generate$one$MPD$
                •  Subfolder$Organiza/on$
     MPD$       •  MPD$Transforma/on$


Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$   28$
Dataset$
•  Dataset(with(DASH(Content(
       –  Long$sequences$in$high$quality$
       –  Various$segmentBlength$versions$
       –  Free$available$for$DASH$experiments$$
       –  PSNR$values$per$frame$

•  Problem:(Content(Rights(
       –  CCBAZribu/on$2.0$Generic$(CCHBY(2.0)$License$or$similar$$
       –  Free$to$Share,$Free$to$Remix$
       –  Note:$YouTube$introduces$CCBBY$in$June$2011!$

•  Nego,a,on(with(content(owner(
Oct$29,$2012$     DASH$Tutorial,$ACM$Mul/media$2012$                  29$
Dataset$Sequences$
                Name              Source(Quality                Length      Genre

      Big$Buck$Bunny$                1080p$YUV                   09:46     Anima/on$$

    Elephants$Dream$                 1080p$YUV                   10:54     Anima/on$

  Red$Bull$Playstreets        1080p,$6$Mbit$H.264$              01:37:28     Sport$

   The$Swiss$Account$         1080p,$6$Mbit$H.264                57:34       Sport$

          Valkaama            1080p,$6$Mbit$H.264$              01:33:05    Movie$

   Of$Forest$and$Men                       SD                    10:53      Movie$

Oct$29,$2012$              DASH$Tutorial,$ACM$Mul/media$2012$                   30$
DASH$Dataset$Sequences$




Oct$29,$2012$   DASH$Tutorial,$ACM$Mul/media$2012$   31$
Bitrates$and$Resolu/ons$
 #                 Anima,on                              Sport                     Movie
 1             50$kbit/s,$$320x240              100$kbit/s,$$320x240         50$kbit/s,$320x240
 2            100$kbit/s,$$320x240              150$kbit/s,$$320x240        100$kbit/s,$320x240
 3            150$kbit/s,$$320x240              200$kbit/s,$$480x360        150$kbit/s,$$320x240
 4            200$kbit/s,$$480x360              250$kbit/s,$$480x360        200$kbit/s,$$480x360
 5            250$kbit/s,$$480x360              300$kbit/s,$$480x360        250$kbit/s,$$480x360
 6            300$kbit/s,$$480x360              400$kbit/s,$$480x360        300$kbit/s,$$480x360
 7            400$kbit/s,$$480x360              500$kbit/s,$$854x480        400$kbit/s,$$480x360
 8            500$kbit/s,$$480x360              700$kbit/s,$$854x480        500$kbit/s,$$854x480
 9            600$kbit/s,$$854x480$             900$kbit/s,$$854x480        600$kbit/s,$$854x480
10            700$kbit/s,$$854x480$             1,2$Mbit/s,$$854x480        700$kbit/s,$$854x480
11            900$kbit/s,1280x720$              1,5$Mbit/s,1280x720         900$kbit/s,1280x720
12            1,2$Mbit/s,1280x720$              2,0$Mbit/s,1280x720         1,2$Mbit/s,1280x720
13            1,5$Mbit/s,1280x720$              2,5$Mbit/s,1280x720         1,5$Mbit/s,1280x720
14            2,0$Mbit/s,1280x720$             3,0$Mbit/s,1920x1080        2,0$Mbit/s,1920x1080
15           2,5$Mbit/s,1920x1080$             4,0$Mbit/s,1920x1080        2,5$Mbit/s,1920x1080
16           3,0$Mbit/s,1920x1080$             5,0$Mbit/s,1920x1080        3,0$Mbit/s,1920x1080
17           4,0$Mbit/s,1920x1080              6,0$Mbit/s,1920x1080        4,0$Mbit/s,1920x1080
18           5,0$Mbit/s,1920x1080                           $              5,0$Mbit/s,1920x1080
19 Oct$29,$2012$
             6,0$Mbit/s,1920x1080                           $
                                      DASH$Tutorial,$ACM$Mul/media$2012$   6,0$Mbit/s,1920x1080
                                                                                              32$
20           8,0$Mbit/s,1920x1080                           $                         $
DASH$Content$Types$
•  Segment(Size:$
       –  Seconds:$1,$2,$4,$6,$10,$15$
•  File(Organiza,on(
       –  Segmented$
       –  One$file$per$representa/on,$Byte$Range$Requests$
•  e.g.:(Big(Buck(Bunny(
       –  (120(Encodings$needed$
       –  Only$6(DASH(Encoder$runs$

Oct$29,$2012$            DASH$Tutorial,$ACM$Mul/media$2012$   33$
DASH@GPAC: Playback
!     DASHClient                             !  Integrated in Osmo4
     •  DASH ISOBMFF, M2TS (+ HLS)             •  Many input formats and
       -  With or without bitstreamSwitching      codecs
       -  Support for multiple Periods         •  Composition engine
     •  All profiles except onDemand              (SVG, BIFS, X3D)
         (ongoing)                           !  Try it!
       -  VoD through « live » or « main »     •  Included in libgpac
     •  Local files and http(s) playback •  Independent from player
     •  Various download policies

                                                                   GPAC DASH
            MPD                                                    Playback

  Media                                                Bring Your Own
  Segments                                             DASH APP !!
jean.lefeuvre@telecom-paristech.fr   http://gpac.sourceforge.net
DASH$VLC$Plugin$Architecture$
•  Four$major$
   components$and$
   two$controller$
   classes$
•  Easy$Adapta/on$
   Logic$Interface$for$
   Researchers$and$
   Developers$
•  Flexible$HTTP$
   structure$for$further$
   improvements$e.g.$
   persistent$
                                                                 hZp://dash.itec.aau.at/$
   connec/ons$
 Oct$29,$2012$              DASH$Tutorial,$ACM$Mul/media$2012$                         35$
DASH$VLC$Plugin$Features$
•  Officially$part$of$VLC$and$as$library$(libdash)$
•  Provides$a$simple$interface$to$integrate$new$
   Adapta/on$Logics$
•  Dynamic$adapta/on$to$the$available$bandwidth$
•  Flexible$for$further$improvements,$e.g.,$profiles,$
   persistent$connec/ons$and$pipelining$
•  Source$code$is$available$through$the$VLC$git$
   repository$and$at:$
             hZp://wwwBitec.aau.at/dash$

Oct$29,$2012$          DASH$Tutorial,$ACM$Mul/media$2012$   36$
VLC$Architecture$
•  Interface:$User$
   interac/on$e.g.$stop,$play$
   etc.$
•  Access:$HTTP,$RTP$etc.$
•  StreamBFilter:$Recording,$
   Dynamic$Streaming$
•  Demux:$MP4,$M2TS,$
   MKV$
•  Decoder:$H264,$VP8$etc.$
 Oct$29,$2012$        DASH$Tutorial,$ACM$Mul/media$2012$   37$
DASH$in$JavaScript$(DASHBJS)$
•  Completely$implemented$in$JavaScript$–$no$
   (3rd$party)$plugins$required$
•  Makes$use$of$the$Media$Source$API$provided$
   by$Google$Chrome$
       –  Support$for$WebM$and$ISOBMFF$
•  Provides$/me$based$and$byte$based$buffers$
       –  E.g.,$use$as$input$for$adapta/on$logics$
•  Flexible$adapta/on$logics$
       –  Easy$to$extend$exis/ng$ones$or$integrate$your$
          own$

Oct$29,$2012$           DASH$Tutorial,$ACM$Mul/media$2012$   38$
DASHBJS$Architecture$




Oct$29,$2012$        DASH$Tutorial,$ACM$Mul/media$2012$   39$
DASHBJS$(cont’d)$
•  Bandwidth$/$throughput$es/ma/on$
       –  …$is$done$each$/me$a$segment$is$retrieved$
       –  At$the$beginning$the$MPD$is$used$to$have$an$educated$guess$on$the$
          bandwidth$
       –  To$bypass$proxy$caching$“noBcache”$is$set$in$the$HTTP$Request$Header$
          (will$influence$the$throughput$es/ma/on)$
•  Representa/on$selec/on$is$based$on:$
                                         w1bn−1 + w2 bm
                                 bn =
                                           w1 + w2
       –    bnB1$denotes$the$throughput$calculated$at$the$nB1th$segment$
       –    bm$depicts$the$throughput$measured$with$the$nth$segment$
       –    bn$is$used$to$decide$which$representa/on$should$be$selected$
       –    The$weights$(w1$and$w2)$are$used$to$mimic$op/mis/c$or$pessimis/c$
            behavior$
•  Simple$adapta/on$logic,$easy$to$extend,$modify…$

Oct$29,$2012$                  DASH$Tutorial,$ACM$Mul/media$2012$               40$
Showcases$
•    Sintel$Trailer$@$480p$
       –    5$representa/on$from$200$kbps$to$2000$kbps$video$bitrate$
       –    128$kbps$audio$for$all$representa/ons$
       –    Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtest.html$$
       –    MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/sintel_mul/_rep.mpd$
•    Big$Buck$Bunny$@$480p$
       –    7$representa/ons$from$200$kbps$to$4700$kbps$video$bitrate$
       –    128$kbps$audio$for$all$representa/ons$
       –    Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtestBbunny.html$$
       –    MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/bigbuckbunny.mpd$
•    Big$Buck$Bunny$@$1080p$
       –    7$representa/ons$from$1000$kbps$to$8000$kbps$
       –    128$kbps$audio$for$all$representa/ons$
       –    Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtestBbunny1080p.html$$
       –    MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/bigbuckbunny_1080p.mpd$




Oct$29,$2012$                        DASH$Tutorial,$ACM$Mul/media$2012$                 41$
Conclusions$
•  EndBtoBend$DASH$tools$available$
       –  GPAC$provides$support$for$ISOBMFF,$M2TS,$and$beyond$
       –  DASH$VLC$plugin$and$libdash$(world$first$DASH$player)$
       –  DASHBJS$for$easy$Web$integra/on$(HTML5,$Javascript)$
•  Flexible$architecture,$easy$to$extend,$e.g.:$
       –  Add$your$own$profile$(!!!)$
       –  Add$your$own$buffer$model$
       –  Add$your$own$bandwidth$es/ma/on,$adapta/on$logic$
•  Open$source:$hZp://dash.itec.aau.at$|$
   hZp://gpac.sourceforge.net$
       –  Feel$free$to$use$it,$please$acknowledge/reference$us$


Oct$29,$2012$             DASH$Tutorial,$ACM$Mul/media$2012$      42$
An(Evalua,on(of(Dynamic(Adap,ve(Streaming(
      over(HTTP(in(Vehicular(Environments(

                 Christopher(Müller,(Stefan(Lederer,(and(Chris,an(Timmerer(
                                                           (
AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on(
         Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)(
            hZp://research./mmerer.com$!$hZp://blog./mmerer.com$!$hZp://dash.itec.aau.at/
                                mailto:chris/an./mmerer@itec.uniBklu.ac.at$


                                              ACM(Mul,media(2012(
                                               29th(October,(2012(
 Acknowledgments.$This$work$was$supported$in$part$by$the$European$Commission$in$the$context$of$the$ALICANTE$project$(FP7B
                   ICTB248652),$SocialSensor$(FP7BICTB287975),$and$the$COST$Ac/on$IC1003$QUALINET.$$
Methodology$
•  Experiment(1(/(Track(1((601(seconds)$
       –  Drive$on$the$freeway$A2,$passing$by$the$city$of$Villach$in$the$direc/on$to$
          Klagenfurt.$
•  Experiment(2(/(Track(2((575(seconds)$
       –  From$the$AlpenBAdriaBUniversität$Klagenfurt$on$the$freeway$A2$un/l$the$
          service$area$around$Techelsberg.$
•  Experiment(3(/(Track(3((599(seconds)$
       –  From$the$service$area$around$Techelsberg$on$the$freeway$A2$to$the$exit$of$
          Klagenfurt.$




Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$                     44$
Metrics$
•  Average$bitrate$
       –  Overall$performance$for$the$en/re$session$
•  Number$of$quality$switches$
       –  Different$representa/on$due$available$bandwidth$
•  Buffer$level$
       –  Es/mated$with$download$/mestamp$(DTS)$and$
          presenta/on$/mestamp$(PTS)$
•  Number$of$unsmooth$seconds$
       –  Buffer$empty$

Oct$29,$2012$            DASH$Tutorial,$ACM$Mul/media$2012$   45$
Experimental$Setup$
•  Bandwidth$Shaping$
       –  Ubuntu$11.04$w/$Linux$hierarchical$token$bucket$(htb)$
       –  Available$bandwidth$will$be$adjusted$every$2s$due$to$the$recorded$
          traces$and$2s$segment$length$
•  Network$Emula/on$
       –  Emulates$a$round$trip$/me$of$150ms$
•  HTTP$Server$
       –  Server$based$on$Windows$Server$2008$and$IIS$/$Ubuntu$11.04$and$
          Apache$Web$Server$
•  Evalua/on$Client$
       –  Windows$or$Linux$depending$on$the$evalua/on$system$




Oct$29,$2012$                 DASH$Tutorial,$ACM$Mul/media$2012$               46$
Dataset$
•  All$experiments$have$been$performed$with$
   the$same$content$based$on$[Lederer2012]$
•  The$content$has$been$encoded$with$x264$
•  14$different$bitrates$from$100kbps$to$
   4500kbps$
•  Segments$with$a$length$of$2$seconds$
       –  Restricted$by$Microsor$Smooth$Streaming$
•  That$content$has$been$used$for$all$three$
   scenarios$
Oct$29,$2012$         DASH$Tutorial,$ACM$Mul/media$2012$   47$
Microsor$Smooth$Streaming$
•  Client$based$on$Windows$7,$Microsor$
   Silverlight$and$Firefox$7$
•  Server$based$on$Windows$Server$2008$and$IIS$
   with$Media$Services$4.0$
•  Content$has$been$mul/plexed$with$IIS$
   Transform$Manager$1.0$Beta$
•  PTS$has$been$taken$from$the$request$URL$
•  DTS$comes$from$the$bandwidth$emula/on$
   node$
Oct$29,$2012$       DASH$Tutorial,$ACM$Mul/media$2012$   48$
Microsor$Smooth$Streaming$(cont’d)$




•  Few$switches$with$a$good$average$bitrate$
•  Nevertheless$close$to$unsmoothness$at$second$300$

Oct$29,$2012$      DASH$Tutorial,$ACM$Mul/media$2012$   49$
Adobe$Dynamic$HTTP$Streaming$
•  Client$is$based$on$Ubuntu$11.04,$Firefox$7$and$
   the$Open$Source$Media$Framework$player$
•  The$server$component$hosts$the$Flash$Media$
   Server$in$development$edi/on$
•  The$content$has$been$generated$with$the$
   Adobe$File$Packager$for$Adobe$Dynamic$
   Streaming$


Oct$29,$2012$    DASH$Tutorial,$ACM$Mul/media$2012$   50$
Adobe$Dynamic$HTTP$Streaming$(cont’d)$




•  High$number$of$unsmooth$seconds$
•  Rather$binary$and$unpredictable$
Oct$29,$2012$     DASH$Tutorial,$ACM$Mul/media$2012$   51$
Apple$HTTP$Live$Streaming$
•  Client$is$based$on$Mac$OS$X$Snow$Leopard$
   10.6$and$Safari$5$
•  Content$has$been$generated$with$Microsor$
   Transform$Manager$
       –  Transmul/plexing$of$mp4$to$MPEGB2$TS$
       –  Chops$the$transport$stream$into$segments$of$2$
          seconds$length$
•  The$only$system$that$uses$MPEGB2$TS$

Oct$29,$2012$          DASH$Tutorial,$ACM$Mul/media$2012$   52$
Apple$HTTP$Live$Streaming$(cont’d)$




•  Very$few$switches$with$a$lower$bitrate$
•  Large$buffer$for$energy$awareness$
Oct$29,$2012$    DASH$Tutorial,$ACM$Mul/media$2012$   53$
Our$MPEGBDASH$Implementa/on$
•  Client:$DASH$VLC$Plugin$[Mueller2011]$on$
   Ubuntu$11.04$$
•  Server:$Ubuntu$11.04$which$hosts$an$Apache$
   Web$server$
•  Content$based$on$DASH$dataset$generated$
   with$DASHEncoder$
•  Simple$(naïve)$adapta/on$logic$


Oct$29,$2012$   DASH$Tutorial,$ACM$Mul/media$2012$   54$
Our$MPEGBDASH$Implementa/on$(cont’d)$




•  Non$stepwise$switching$$
•  Good$average$bitrate$and$stable$buffer$
$
Oct$29,$2012$    DASH$Tutorial,$ACM$Mul/media$2012$   55$
MPEGBDASH$AVC$




Oct$29,$2012$     DASH$Tutorial,$ACM$Mul/media$2012$   56$
MPEGBDASH$SVC$




Oct$29,$2012$     DASH$Tutorial,$ACM$Mul/media$2012$   57$
Summary$
      Name(     Average(Bitrate(   Average(Switches(             Average(Unsmoothness(
                    [kbps](      [Number(of(Switches](                 [Seconds](
   Microsor$        1522$                       51$                       0$
      Adobe$        1239$                       97$                       64$
      Apple$        1162$                        7$                       0$
 MPEGBDASH$
                    1045$                      141$                       0$
   Naïve*$
 MPEGBDASH$
                    1464$                      166$                       0$
 Pipelined*$
 MPEGBDASH$
                    2341$                       81$                       0$
   AVC**$
 MPEGBDASH$
                    2738$                      101$                       0$
   SVC**$
*$…$MoVid/MMSys,$February$2012$
**$…$EUSIPCO,$August$2012$
Oct$29,$2012$               DASH$Tutorial,$ACM$Mul/media$2012$                      58$
Conclusions$
•  Microsor$Smooth$Streaming$
       –  Performs$very$well$w.r.t.$average$bitrate$
       –  Yes,$deserves$the$name$smooth$streaming$
•  Apple$HLS$
       –  Less$quality$switches$due$to$large$buffer$
       –  Designed$for$mobile$devices,$energy$awareness$
•  Adobe$HDS$
       –  Binary$decision$between$the$highest$and$the$lowest$representa/on$
       –  Stalls,$reBbuffering$=>$low$QoE$$
•  Our$MPEGBDASH$implementa/on$
       –  Achieves$a$good/superior$average$bitrate$
       –  In$striking$distance$to$the$top,$space$for$improvements$though$(e.g.,$buffer$
          management)$
•  Disclaimer:$comparison$of$specific$client$implementa/ons,$not$formats$
   (manifest/segment),$not$technology$


Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$                      59$
DASH$@$AAU/ITEC$
                                                        hZp://dash.itec.aau.at/$
                                                        $
                                                        DASH$VLC$Plugin$
                                                        $
                                                        DASHEncoder$
                                                        $
                                                        libdash$
                                                        $
                                                        Dataset$
                                                        $
                                                        DASHBJS$
                                                        $
                                                        Join$this$ac/vity,$everyone$
                                                        is$invited$–$get$involved$in$
                                                        and$exited$about$DASH!$
                                                        $

Oct$29,$2012$      DASH$Tutorial,$ACM$Mul/media$2012$                             60$
Acknowledgments$
•  EC$projects$for$par/ally$funding$this$ac/vity$
       –  ALICANTE$project$(FP7BICTB248652)$
                •  hZp://www.ictBalicante.eu$
       –  SocialSensor$project$(FP7BICTB287975)$
                •  hZp://www.socialsensor.org$
       –  COST$ICT$Ac/on$IC1003$
                •  QUALINET$–$European$Network$on$Quality$
                   of$Experience$in$Mul/media$Systems$and$Services$
                •  hZp://www.qualinet.eu/$
•  DASH$Industry$Forum$
       –  hZp://www.dashif.com$
•    Christopher$Müller:$VLC$Plugin,$libdash$
•    Stefan$Lederer:$DASHEncoder,$dataset,$DASHBJS$
•    Benjamin$Rainer:$DASHBJS$
•    Hermann$Hellwagner$for$his$advice$and$feedback$
•    ISO/IEC$MPEG$and$its$par/cipa/ng$members$for$their$construc/ve$
     feedback$during$the$standardiza/on$process$
Oct$29,$2012$                        DASH$Tutorial,$ACM$Mul/media$2012$   61$
References$
•    Christopher$Müller,$Daniele$Renzi,$Stefan$Lederer,$Stefano$Baàsta$and$Chris/an$Timmerer,$“Using$
     Scalable$Video$Coding$for$Dynamic$Adap/ve$Streaming$Over$HTTP$in$Mobile$Environments”,$In$
     Proceedings$of$the$20th$European$Signal$Processing$Conference$2012,$Bucharest,$Romania,$August$
     27B31,$2012.$
•    Benjamin$Rainer,$Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“A$Seamless$Web$
     Integra/on$of$Adap/ve$HTTP$Streaming”,$In$Proceedings$of$the$20th$European$Signal$Processing$
     Conference$2012,$Bucharest,$Romania,$August$27B31,$2012.$
•    Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“PeerBAssisted$Dynamic$Adap/ve$
     Streaming$over$HTTP$–$System$Design$and$Evalua/on”,$In$Proceedings$of$the$IEEE$Interna/onal$
     Packet$Video$Workshop$2012,$Munich,$Germany,$May$10B11,$2012.$
•    Christopher$Müller,$Stefan$Lederer$and$Chris/an$Timmerer,$“An$Evalua/on$of$Dynamic$Adap/ve$
     Streaming$over$HTTP$in$Vehicular$Environments”,$In$Proceedings$of$the$4th$ACM$Workshop$on$
     Mobile$Video,$Chapel$Hill,$North$Carolina,$February$24,$2012.$
•    Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“Dynamic$Adap/ve$Streaming$over$
     HTTP$Dataset”,$In$Proceedings$of$the$ACM$Mul/media$Systems$Conference$2012,$Chapel$Hill,$North$
     Carolina,$February$22B24,$2012.$
•    Christopher$Müller$and$Chris/an$Timmerer,$“A$VLC$Media$Player$Plugin$enabling$Dynamic$Adap/ve$
     Streaming$over$HTTP”,$In$Proceedings$of$the$ACM$Mul/media$2011,$ScoZsdale,$Arizona,$November$
     28,$2011.$
•    Christopher$Müller$and$Chris/an$Timmerer,$“A$TestBBed$for$the$Dynamic$Adap/ve$Streaming$over$
     HTTP$featuring$Session$Mobility”,$In$Proceedings$of$the$ACM$Mul/media$Systems$Conference$
     2011,$San$Jose,$California,$February$23B25,$2011.$
•    Chris/an$Timmerer$and$Christopher$Müller,$“HTTP$Streaming$of$MPEG$Media”,$In$Proceedings$of$
     the$Streaming$Day$2010,$Udine,$Italy,$September$16B17,$2010.$

Oct$29,$2012$                       DASH$Tutorial,$ACM$Mul/media$2012$                            62$
IEEE$JSAC:$Adap/ve$Media$Streaming$
    •    Guest$Editors$
           –  Chris/an$Timmerer,$AlpenBAdriaB
              Universität$Klagenfurt,$Austria$
           –  Ali$C.$Begen,$CISCO,$Canada$
           –  Thomas$Stockhammer,$QUALCOMM,$
              USA$
           –  Carsten$Griwodz,$Simula$Research$
              Laboratory,$Norway$
           –  Bernd$Girod,$Stanford$University,$USA$
    •    Important$Dates$
           –    1st$Submission:$Apr$1,$2013$
           –    Reviews$Available:$Jul$1,$2013$
           –    2nd$Submission:$Aug$31,$2013$
           –    Final$Acceptance$Decision:$Oct$31,$2013$
           –    CameraBready:$Dec$1,$2013$
           –    Publica/on:$2nd$quarter$2014$


hZp://mul/mediacommunica/on.blogspot.com/
2012/07/jsacBspecialBissueBadap/veBmedia.html$

    Oct$29,$2012$                          DASH$Tutorial,$ACM$Mul/media$2012$   63$
Thank$you$for$your$aZen/on$


            ...$ques/ons,$comments,$etc.$are$welcome$…$



                                                                                                $
                                                                                                $
                                                     $Ass.BProf.$Dipl.BIng.$Dr.$Chris/an$Timmerer$
                            Klagenfurt$University,$Department$of$Informa/on$Technology$(ITEC)$
                                         Universitätsstrasse$65B67,$AB9020$Klagenfurt,$AUSTRIA$
                                                           chris/an./mmerer@itec.uniBklu.ac.at$
                                                                  hZp://research./mmerer.com/$
                                              Tel:$+43/463/2700$3621$Fax:$+43/463/2700$3699$
                                                                           ©'Copyright:'Chris#an'Timmerer'




Oct$29,$2012$            DASH$Tutorial,$ACM$Mul/media$2012$                                                  64$
A Comparison of Quality Scheduling in
Commercial Adaptive HTTP Streaming
     Solutions on a 3G Network

  Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad,
            Pål Halvorsen, Carsten Griwodz
Fluctuating Bandwidth Problem




University of Oslo   DASH Tutorial, ACM Multimedia 2012
Fluctuating Bandwidth Problem

                     Ferry                                        Subway




              Question: How well do
              adaptive streaming media solutions adapt?
           Bus

                                                                  Tram




University of Oslo           DASH Tutorial, ACM Multimedia 2012
Adaptive Delivery: Tested Systems
!  Adobe Strobe Media Playback (v1.6.328 for Flash 10.1)
   using HTTP Dynamic Streaming Format

!  Apple’s native iPad player (iOS v4.3.3)
   using native HLS format

!  Microsoft Silverlight/IIS Smooth (v4.0.60531.0 on Win7)
   using native Smooth format and default desktop scheduler

!  Netview Media Client (v2011-10-10)
   using Apple HLS format (worst case) and Netview 3G scheduler



Server
!  Apache v2.2.14
!  CodeShop Unified Streaming Platform v1.4.25
!  Throttling module for trace-based bandwidth limitation, 1sec resolution

  University of Oslo               DASH Tutorial, ACM Multimedia 2012
Adaptive Delivery: Test Content
!  Video: Norwegian football game (i.e. soccer)
!  H.264/AVC                            Why is the bandwidth
!  2 second segments                    increase non-linear?

                                          Bitrate increase
                     Akamai recommendations
                                          provides dimishing
!  6 quality levels: 250, 500, 750, 1000, 1500, 3000 kbps
                                          return on visual quality
                                          increase.

                                                             The just noticable
                                                             difference is not
                                                             achieved at 250 kbps
                                                             steps.


University of Oslo      DASH Tutorial, ACM Multimedia 2012
Comparison of Existing Quality Schedulers
       Bus:




                                                          Configured for desktops


       Ferry:                                             Configured for mobiles




University of Oslo   DASH Tutorial, ACM Multimedia 2012
Comparison of Existing Quality Schedulers
       Metro:




                For the Netview algorithm see:
                “Video Streaming Using a Location-based Bandwidth-Lookup Service for Bitrate Planning”,
                Haakon Riiser, Tore Endestad, Paul Vigmostad, Carsten Griwodz, Pål Halvorsen,
                TOMCCAP, July 2012

University of Oslo                               DASH Tutorial, ACM Multimedia 2012
Conclusion
   Difference between players’ quality scheduler dominates
   the overhead

   Adobe: maximizes aggressiveness at the expense of stability
   Apple: maximize stability at the expense of aggressiveness
   Microsoft Silverlight: good compromise
   Netview: similar to Microsoft, outperforms in this configuration



                     !  Many people commute using the same route
                     !  Many mobile devices have GPS receivers
                     !  What about crowdsourcing the throughput on the
                        commute paths at various times of day?

University of Oslo            DASH Tutorial, ACM Multimedia 2012
A Comparison of Quality Scheduling in
Commercial Adaptive HTTP Streaming
     Solutions on a 3G Network

  Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad,
            Pål Halvorsen, Carsten Griwodz
Prediction
       Metro:            Location-based bandwidth-lookup service for bitrate (video quality) planning:




    Algorithm:

    !  Calculate the predicted amount of data that historically can be
         downloaded

    !  Calculate maximum steady quality without getting buffer-underruns
    !  Safety: reactive algorithm fallback

University of Oslo             DASH Tutorial, ACM Multimedia 2012
Prediction: Metro
       Metro:




                                                          From:
                                                          “Video Streaming Using a Location-based
                                                          Bandwidth-Lookup Service for Bitrate
                                                          Planning”,
                                                          Haakon Riiser, Tore Endestad, Paul
                                                          Vigmostad, Carsten Griwodz, Pål Halvorsen,
                                                          TOMCCAP, July 2012

University of Oslo   DASH Tutorial, ACM Multimedia 2012
Quality-of-Experience Considerations
                 with
Relevance for Adaptive HTTP Streaming

     Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn,
           Pål Halvorsen, Carsten Griwodz
Adaptive Delivery: Test Content
!  Video: Norwegian football game (i.e. soccer)
!  H.264/AVC
!  2 second segments
         Question: What is “good” adaptation?
                     Akamai recommendations


!  6 quality levels: 250, 500, 750, 1000, 1500, 3000 kbps




University of Oslo     DASH Tutorial, ACM Multimedia 2012
Why visual quality studies?
   UDP-based streaming                                    DASH & similar
               resists packets loss                               –  scales to available bandwidth
               random loss                                        –  congestion loss


   Applications                                           Applications
                                                                  –  Commercial VoD: Netflix,
               IPTV
                                                                     Akamai, Microsoft, Apple,
               DVD-H                                                 Comoyo, ...
               video conferencing                                 –  MPEG DASH
               classical RTSP/RTP servers                         –  Free VoD: Youtube, Metacafe,
                                                                     Dailymotion, Vimeo, Revver,
                                                                     Flixya ...

                                                                  Internet


                     Client
                                WLAN
                                                                                      Server


University of Oslo                DASH Tutorial, ACM Multimedia 2012
Why visual quality studies?
   UDP-based streaming                                 DASH & similar

    Resilience to packet loss                          Resilience to buffer
                                                       underruns
    Possibly resilience to bit
    errors                                             Active adaptation (client-
                                                       side decision)
    Possibly active adaptation
    (server-side decision)



                                                               Internet


                     Client
                              WLAN
                                                                          Server


University of Oslo             DASH Tutorial, ACM Multimedia 2012
PSNR

 Peak Signal-to-Noise Ratio
 A prevalent video quality metric


                                    (2B − 1)2
                     PSNR = 10log10
                                      MSE
                     where:
                                     1 M N
                              MSE =    ∑∑ [Ima (x, y) − Imb (x, y)]2
                                    MN y =1 x =1
                                M, N = image dimensions
                                Ima , Imb = pictures to compare
                                B= bit depth



University of Oslo              DASH Tutorial, ACM Multimedia 2012
User experience: reduced PSNR


University of Oslo           DASH Tutorial, ACM Multimedia 2012
PSNR

                Reference

Example from
Prof. Touradj Ebrahimi,
ACM MM'09 keynote


PSNR = 24.9 dB              PSNR = 24.9 dB                        PSNR = 24.9 dB




 University of Oslo          DASH Tutorial, ACM Multimedia 2012
PSNR

 Peak Signal-to-Noise Ratio
 A prevalent video quality metric
 In addition to this:
 •  several different PSNR computations for color images
 •  different PSNR for different color spaces (RGB,YUV)
 •  visible influence of the encoding format



 These problems hurts all metrics that are based on PSNR
 Improved by image quality metrics such as
 •  SSIM variants
 •  rate distortion metrics




University of Oslo          DASH Tutorial, ACM Multimedia 2012
Conclusion
 You encounter Quality-of-Experience measurements
 based on PSNR everywhere in the literature.

 •  it is very easy to compute
 •  it is probably working to assess the quality of images
    with bit errors

 Be very careful when you encounter
 1.  PSNR-based objective metrics
 2.  adaptation mechanisms whose effectiveness is
     proven by PSNR

                     !  It’s easy to complain.
                     !  But how to do better?

University of Oslo            DASH Tutorial, ACM Multimedia 2012
QoE Effects of Changing Layers in
   Adaptive HTTP Streaming

  Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn,
   Pål Halvorsen, Carsten Griwodz, Michael Zink
Image-based metrics can fail badly:
                     Flickering



University of Oslo           DASH Tutorial, ACM Multimedia 2012
Layered content
    Used SPEG as layer encoded video format                                  [avail. from C. Krasic, UBC]

                     shape 1                                                    shape 2
       layers




                                                                    layers
A


                      frames                                                         frames
                                amplitude of layer variation




                                                                    layers
       layers




B


                      frames                                                         frames
                                frequency of layer variation

University of Oslo             DASH Tutorial, ACM Multimedia 2012
Layered content
    Comparing PSNR
    with layer change counting: S(v) =        − v i+1     ∑v      i

       These observations discredit v i ∈v
                                      PSNR,
    where v is the vector of frames and vi is the number of layers of a
       but they don’t provide a real alternative.
    frame
       These observations indicate that frequentE change
    Shape          €    A      B     C     D          F                                    G
           is problematic.
    PSNR of shape 1             62.86 61.46 63.15 48.01 49.40 66.02 29.84

    PSNR of SPEG 2 outdated. 73.28 52.38 25.08 26.95 63.28 64.30
       But shape is      49.47
        SPEG scaling decisions were based on intuition.
    S(v)Adaptive1HTTP Streaming today is based 2 H.264.
         of shape         2     6    2    2
                                                on 0.5                                     0

    S(v) of shape 2             2             4            1          0      0      0.5    2

    Subjective assessment       0.35          0.55         0.73       1.18   1.02   2.18   -0.24


University of Oslo           DASH Tutorial, ACM Multimedia 2012
Layer fluctuation in scalable video streaming




University of Oslo   DASH Tutorial, ACM Multimedia 2012
We need guidelines for video adaptation strategies

   To cope with the bandwidth fluctuation, which scalability
   dimension is generally preferable for video adaptation?


   Within each dimension, which scaling pattern generates the
   least annoying flicker effect?

   Is it possible to control the annoyance of flicker effects?


   How is subjective video quality related to other factors, such as
   content, devices?


University of Oslo        DASH Tutorial, ACM Multimedia 2012
We investigate visual artifact issues via several
   subjective tests
   Previous Findings
               Human perception of video quality are content and context dependent
               There is no general preference order of scaling dimensions
               High frequency may cause flicker effect that is regarded as worse than
                constant low image quality
               In mobile scenario, a frame rate above 12 fps does not cause noticeable
                visual artifacts
               In HDTV scenario, a frame rate of 12 fps does generate noticeable
                motion jerkiness


   Challenges of subjective tests:
               Efficient and reliable experimental design that avoids fatigue and learning
               effect


University of Oslo                DASH Tutorial, ACM Multimedia 2012
Flickering effects: the visual artifacts caused
 by layer fluctuation in scalable video
  Flicker arises from recurrent changes in spatial or
  temporal quality, some so rapid that the human visual
  system only perceives fluctuations within the video.

      Noise flicker           Blur flicker                   Motion flicker




  Compression scaling      Resolution scaling                Frame rate scaling



University of Oslo      DASH Tutorial, ACM Multimedia 2012
Blurriness flicker example




Blur flicker
Amplitude: 480x320px – 120x80px
Frequency: 10f / 3 Hz
 University of Oslo   DASH Tutorial, ACM Multimedia 2012
Noise flicker example




Noise flicker
Amplitude: QP24 – QP40
Frequency: 90f / 0.33 Hz
 University of Oslo    DASH Tutorial, ACM Multimedia 2012
Motion flicker example




Motion flicker
Amplitude: 30fps – 3fps
Frequency: 6f / 5 Hz
 University of Oslo       DASH Tutorial, ACM Multimedia 2012
How to describe different layer fluctuations?




Layer fluctuation pattern
     -  Frequency: The time interval it takes for a video sequence return to its previous status
     -  Amplitude: The quality difference between the two layers being switched
     -  Dimension: Spatial or temporal, artifact type


  Layer Frequency and Amplitude are the interesting factors in our subjective test

  University of Oslo               DASH Tutorial, ACM Multimedia 2012
Layer fluctuation pattern in Spatial dimension
    Full bit stream, QH


   F =1/2, A = QH-QL


  F = 1/4 , A = QH-QL


  F = 1/6 , A = QH-QL


F = 1/24 , A = QH-QL


          Sub stream QL


   Bandwidth consumption in all of the changing patterns is the same,
   due to the same amplitude. References QH and QL differ.

University of Oslo        DASH Tutorial, ACM Multimedia 2012
Layer fluctuation pattern in Temporal
  dimension
  Full bit stream, 30fps

 F =1/4, A = 30-15fps

 F = 1/8 , A = 30-15fps

F = 1/12 , A = 30-15fps

F = 1/24 , A = 30-15fps

        Sub stream 15fps



     Although the average bit-rate is the same, the visual experience
     of different patterns may not be identical.

  University of Oslo       DASH Tutorial, ACM Multimedia 2012
Method

    Participants                                            Procedure
    •  28 paid, voluntary participants                      •  Field study at university library
    •  9 females, 19 males                                  •  Presented on iPod touch devices
    •  Age 19 – 41 years (mean 24)                             - Resolution 480x320
    •  Self-reported normal hearing,                           - Frame rate 30 fps
       and normal/corrected vision                          •  12 sec video duration
                                                            •  Random presentations
                                                            •  Optional number of blocks




University of Oslo                DASH Tutorial, ACM Multimedia 2012
Stability scores - Period


                                                                                                                                     100 %
100 %                                                              100 %
                                                                                                                                     90 %
 90 %                                                               90 %
 80 %                                                               80 %                                                             80 %
 70 %                                                               70 %                                                             70 %
 60 %                                                               60 %                                                             60 %
 50 %                                                  Unstable     50 %                                                  Unstable   50 %
 40 %                                                               40 %                                                             40 %
                                                       Stable                                                             Stable
 30 %                                                               30 %
                                                                                                                                     30 %
 20 %                                                               20 %
                                                                                                                                     20 %
 10 %                                                               10 %
                                                                                                                                     10 %
   0%                                                                0%
                                                                                                                                      0%
         HQ




                                                  LQ




                                                                            HQ




                                                                                                                     LQ
                   10f
                         30f
                               60f
                                     90f




                                                                                      10f
                                                                                            30f
                                                                                                  60f
                                                                                                        90f
                                           180f




                                                                                                              180f
              6f




                                                                                 6f
                                                                                                                                             HQ 30f 60f 90f 180f LQ


    Perceived quality stability                                    Perceived quality stability                               Perceived quality stability
    across period levels for                                       across period levels for                                  across period levels for
    Noise flicker                                                  Blur flicker                                              Motion flicker




University of Oslo                                              DASH Tutorial, ACM Multimedia 2012
Stability scores - Amplitude


 100 %                                    100 %                                         100 %
  90 %                                    90 %                                          90 %
  80 %                                    80 %                                          80 %
  70 %                                    70 %                                          70 %
  60 %                                    60 %                                          60 %
                               Unstable   50 %                                 Unstable 50 %
  50 %
                                          40 %
  40 %                         Stable                                          Stable   40 %
                                          30 %
  30 %                                                                                  30 %
                                          20 %
  20 %                                                                                  20 %
                                          10 %
  10 %                                                                                  10 %
                                           0%
   0%                                             240x160     120x80                     0%
         QP28 QP32 QP36 QP40                        px                                          15fps   10fps   5fps   3fps


    Perceived quality stability            Perceived quality stability                      Perceived quality stability
    across amplitude levels for            across amplitude levels for                      across amplitude levels for
    Noise flicker                          Blur flicker                                     Motion flicker




University of Oslo                        DASH Tutorial, ACM Multimedia 2012
Video quality
                         2                                                                      Constant high quality
                                                                      QP 28
                                                                      QP 32
                                                                      QP 36
                                                                                                references
Mean Acceptance Score




                                                                      QP 40
                         1


                                                                                                Constant low quality
                         0
                                                                                                reference, QP28

                        −1
                                                                                                Not investigated here:
                                                                                                relation between qualities
                        −2
                             HQ   6f   10f   30f   60f   90f   180f      LQ
                                              Period


                Noise
                L1                      QP24
                L0                      QP28, QP32, QP36, QP40
                Period                  1/5s, 1/3s, 1s, 2s, 3s, 6s
                Content                 4 mid/long distance shots                                                  From:
                                                                                                                   “Flicker Effects in Adaptive Video Streaming
                                                                                                                   to Handheld Devices”,
                                                                                                                   Pengpeng Ni, Ragnhild Eg, Alexander
                                                                                                                   Eichhorn, Carsten Griwodz, Pål Halvorsen
                                                                                                                   ACM Multimedia 2011

                        University of Oslo                                    DASH Tutorial, ACM Multimedia 2012
Acceptance - Noise flicker
                                     2
                                                                                                     QP 28
                                                                                                     QP 32
                                                                                                     QP 36
            Mean Acceptance Score
                                                                                                     QP 40
                                     1




                                     0




                                    −1




                                    −2
                                         HQ   6f      10f           30f           60f   90f   180f      LQ
                                                                       Period

University of Oslo                                 DASH Tutorial, ACM Multimedia 2012
Acceptance – Blur flicker
                                     2
                                                                                                240x160
            Mean Acceptance Score                                                               120x80


                                     1




                                     0




                                    −1




                                    −2
                                         HQ   6f      10f           30f           60f   90f   180f   LQ
                                                                       Period
University of Oslo                                 DASH Tutorial, ACM Multimedia 2012
Acceptance – Motion flicker
                                     2
                                                                                                      15 fps
                                                                                                      10 fps
                                                                                                      5 fps
            Mean Acceptance Score
                                                                                                      3 fps
                                     1




                                     0




                                    −1




                                    −2
                                         HQ   30f                 60f                    90f   180f       LQ
                                                                        Period

University of Oslo                                  DASH Tutorial, ACM Multimedia 2012
Conclusions
   With longer flicker frequencies (high periods), acceptance of video
   quality increases in the spatial dimension

   Amplitude (quality difference) has larger effect than frequency, both
   for stability and acceptance

   For noise flicker, large quality differences are rated more acceptable
   with less frequent quality shifts.

   For blur flicker, improved acceptance with less frequent shifts is
   more pronounced for the smallest quality difference.

   The flicker effect varies across contents, particularly for motion
   flicker.

   The three types of flicker have different influences on stability and
   quality acceptance scores. Scores are generally lower for blur flicker.
University of Oslo         DASH Tutorial, ACM Multimedia 2012
Network Behaviour of DASH Traffic

  Tomas Kupka, Pål Halvorsen, Carsten Griwodz
Stream liveness
!  The time it takes for an event to appear on the screen




Liveness = 0s




                                                                   playout

  University of Oslo          DASH Tutorial, ACM Multimedia 2012
Live traffic pattern


                                                 Segmented live stream



                                                                Limiting factors:
             Download synchronization                           -  Server speed
                                                                -  Client speed
                  Connection is idle                            -  Client buffer size
                                                                -  Segment availability
 bandwidth




                                                                             time
                     2s                       2s
University of Oslo        DASH Tutorial, ACM Multimedia 2012
VoD traffic pattern


                                            Segmented video file



                                                             Limiting factors:
                                                             -  Server speed
                                                             -  Client speed
                                                             -  Client buffer size

                                                          •  not in real systems
 bandwidth




                                                          •  buffer size is limited
                                                          •  behaviour like live
                                                   etc.      when buffer is full

                                                                          time


University of Oslo   DASH Tutorial, ACM Multimedia 2012
Transporting DASH
              1. Does the request synchronization lead to problem?
              2. Can we reduce such problem?

Experiments with ns-2                                                    Clients

              •      20 min. stream
              •      6 bitrates (250 to 3000 kb/s)
              •      2 sec. segments
              •      TCP CC CUBIC




                                            Bottleneck link
                                              100 mb/s
         Web server




University of Oslo                  DASH Tutorial, ACM Multimedia 2012
Evaluated modifications
TCP congestion control alternatives
    TCP’s behave differently for short On traffic



                      NewReno                                        CUBIC
       CWND




                                                         CWND
                        time                                         time




 University of Oslo             DASH Tutorial, ACM Multimedia 2012
TCP congestion control alternatives

                     Liveness                                        Router queue drops




University of Oslo              DASH Tutorial, ACM Multimedia 2012
TCP congestion control alternatives
                                                          packet losses
                                     CUBIC                                        Vegas
longer router queue




                      TCP Vegas shares the network much better than TCP CUBIC

                      Unfortunately, TCP Vegas looses to all other TCPs in sharing

         University of Oslo                  DASH Tutorial, ACM Multimedia 2012
TCP congestion control alternatives
lowest quality                                                                                            highest quality
                       left: Cubic, right: Vegas"




                                                                                     Vegas delivers better liveness




               Cubic delivers higher quality



  University of Oslo                            DASH Tutorial, ACM Multimedia 2012
Evaluated modifications

   Increasing segment length: give TCP more time

                                              vs.

           2 second segments                                        10 second segments




University of Oslo             DASH Tutorial, ACM Multimedia 2012
2 second vs. 10 second segments
lowest quality                                                                 highest quality


    TCPTCP gets out of slowstart
        CWND for 2 sec. segments                Quality not better for longer segments

                                                                                     high




                                                                                            Quality
                                                                                      low




  University of Oslo        DASH Tutorial, ACM Multimedia 2012
Evaluated modifications

 Request distribution: avoid request synchronization


                R1     R2                                                  R1     R2    R3
                             R3
                                                      vs.
                     S1 available                                        S1 available




University of Oslo                  DASH Tutorial, ACM Multimedia 2012
Client request distribution


     Client A:       S1                              S2        S3

                                                                    time




     Client B:       S1                              S2        S3

                                                                    time




University of Oslo        DASH Tutorial, ACM Multimedia 2012
Client request distribution

             Synchronous requests                                    Distributed requests




University of Oslo              DASH Tutorial, ACM Multimedia 2012
Client request distribution
lowest quality                                                                   highest quality


                       Distribution of the number of segments of different quality
                                    left: Sychronized, right: Distributed"




  University of Oslo                    DASH Tutorial, ACM Multimedia 2012
Evaluated modifications
CWND limit: restrict CWND to the max. bitrate available




                     CWND


                                      time




University of Oslo          DASH Tutorial, ACM Multimedia 2012
Client request distribution

                     Liveness                                        Router queue drops




University of Oslo              DASH Tutorial, ACM Multimedia 2012
CWND limitation

                     Liveness                                        Router queue drops




University of Oslo              DASH Tutorial, ACM Multimedia 2012
Conclusion
   TCP CC alternatives: TCP Vegas is good, but not practical



   Segment duration:
   No evidence of longer segments being better (network view)



   Client request distribution leads to good quality and liveness



   CWDN limitation leads to better fairness




University of Oslo        DASH Tutorial, ACM Multimedia 2012
DASH Tutorial: Summary

 Introduction to MPEG DASH
 DASH tools
 Examples of DASH (and DASH-like) systems’
 performance
 QoE considerations
 Interaction of DASH and TCP




University of Oslo   DASH Tutorial, ACM Multimedia 2012

Weitere ähnliche Inhalte

Was ist angesagt?

Issues in the design of Code Generator
Issues in the design of Code GeneratorIssues in the design of Code Generator
Issues in the design of Code GeneratorDarshan sai Reddy
 
Daa:Dynamic Programing
Daa:Dynamic ProgramingDaa:Dynamic Programing
Daa:Dynamic Programingrupali_2bonde
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computingjayavignesh86
 
Vertex cover problem
Vertex cover problemVertex cover problem
Vertex cover problemGinusaju
 
push down automata
 push down automata push down automata
push down automatanadiatariq6
 
Randomized Algorithms
Randomized AlgorithmsRandomized Algorithms
Randomized AlgorithmsKetan Kamra
 
Cs6503 theory of computation november december 2015 be cse anna university q...
Cs6503 theory of computation november december 2015  be cse anna university q...Cs6503 theory of computation november december 2015  be cse anna university q...
Cs6503 theory of computation november december 2015 be cse anna university q...appasami
 
1.9. minimization of dfa
1.9. minimization of dfa1.9. minimization of dfa
1.9. minimization of dfaSampath Kumar S
 
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)Mohammad Ilyas Malik
 

Was ist angesagt? (20)

Issues in the design of Code Generator
Issues in the design of Code GeneratorIssues in the design of Code Generator
Issues in the design of Code Generator
 
Pda
PdaPda
Pda
 
Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
 
Daa:Dynamic Programing
Daa:Dynamic ProgramingDaa:Dynamic Programing
Daa:Dynamic Programing
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computing
 
Np hard
Np hardNp hard
Np hard
 
GCC RTL and Machine Description
GCC RTL and Machine DescriptionGCC RTL and Machine Description
GCC RTL and Machine Description
 
push down automata
push down automatapush down automata
push down automata
 
Approximation Algorithms
Approximation AlgorithmsApproximation Algorithms
Approximation Algorithms
 
Vertex cover problem
Vertex cover problemVertex cover problem
Vertex cover problem
 
push down automata
 push down automata push down automata
push down automata
 
Randomized Algorithms
Randomized AlgorithmsRandomized Algorithms
Randomized Algorithms
 
Cs6503 theory of computation november december 2015 be cse anna university q...
Cs6503 theory of computation november december 2015  be cse anna university q...Cs6503 theory of computation november december 2015  be cse anna university q...
Cs6503 theory of computation november december 2015 be cse anna university q...
 
P vs NP
P vs NP P vs NP
P vs NP
 
6 data types
6 data types6 data types
6 data types
 
Push down automata
Push down automataPush down automata
Push down automata
 
1.9. minimization of dfa
1.9. minimization of dfa1.9. minimization of dfa
1.9. minimization of dfa
 
Greedy method by Dr. B. J. Mohite
Greedy method by Dr. B. J. MohiteGreedy method by Dr. B. J. Mohite
Greedy method by Dr. B. J. Mohite
 
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
 
Method overriding
Method overridingMethod overriding
Method overriding
 

Andere mochten auch

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
 
Using DASH and MPEG-2 TS
Using DASH and MPEG-2 TSUsing DASH and MPEG-2 TS
Using DASH and MPEG-2 TSAlex Giladi
 
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
 
Live streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHLive streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHCyril 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
 
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
 
Adaptive Media Streaming: The Role of Standards
Adaptive Media Streaming: The Role of StandardsAdaptive Media Streaming: The Role of Standards
Adaptive Media Streaming: The Role of StandardsAlpen-Adria-Universität
 
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
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression BasicsSanjiv Malik
 
Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuerydennisdc
 
MyFaces Extensions Validator Part 1 of 3
MyFaces Extensions Validator Part 1 of 3MyFaces Extensions Validator Part 1 of 3
MyFaces Extensions Validator Part 1 of 3os890
 
MPEG-H_Audio_Alliance
MPEG-H_Audio_AllianceMPEG-H_Audio_Alliance
MPEG-H_Audio_AllianceJack Olivieri
 
Marketing Non Convenzionale - True Blood
Marketing Non Convenzionale - True BloodMarketing Non Convenzionale - True Blood
Marketing Non Convenzionale - True BloodAlessandra Garlappi
 
peer-to-peer oppotunities
peer-to-peer oppotunitiespeer-to-peer oppotunities
peer-to-peer oppotunitiesGwendal Simon
 
Netflix, HULU Videos: How to watch outside US
Netflix, HULU Videos: How to watch outside USNetflix, HULU Videos: How to watch outside US
Netflix, HULU Videos: How to watch outside USSZI Technologies Pvt Ltd
 

Andere mochten auch (20)

Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)
 
MPEG-DASH open source tools and cloud services
MPEG-DASH open source tools and cloud servicesMPEG-DASH open source tools and cloud services
MPEG-DASH open source tools and cloud services
 
HTTP Streaming of MPEG Media
HTTP Streaming of MPEG MediaHTTP Streaming of MPEG Media
HTTP Streaming of MPEG Media
 
Using DASH and MPEG-2 TS
Using DASH and MPEG-2 TSUsing DASH and MPEG-2 TS
Using DASH and MPEG-2 TS
 
MPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference SoftwareMPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference Software
 
libdash 2.0
libdash 2.0libdash 2.0
libdash 2.0
 
Live streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHLive streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASH
 
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
 
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
 
Adaptive Media Streaming: The Role of Standards
Adaptive Media Streaming: The Role of StandardsAdaptive Media Streaming: The Role of Standards
Adaptive Media Streaming: The Role of Standards
 
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
 
HTTP Live Streaming
HTTP Live StreamingHTTP Live Streaming
HTTP Live Streaming
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression Basics
 
Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuery
 
MyFaces Extensions Validator Part 1 of 3
MyFaces Extensions Validator Part 1 of 3MyFaces Extensions Validator Part 1 of 3
MyFaces Extensions Validator Part 1 of 3
 
MPEG-H_Audio_Alliance
MPEG-H_Audio_AllianceMPEG-H_Audio_Alliance
MPEG-H_Audio_Alliance
 
Technology Update: MPEG-Dash
Technology Update: MPEG-DashTechnology Update: MPEG-Dash
Technology Update: MPEG-Dash
 
Marketing Non Convenzionale - True Blood
Marketing Non Convenzionale - True BloodMarketing Non Convenzionale - True Blood
Marketing Non Convenzionale - True Blood
 
peer-to-peer oppotunities
peer-to-peer oppotunitiespeer-to-peer oppotunities
peer-to-peer oppotunities
 
Netflix, HULU Videos: How to watch outside US
Netflix, HULU Videos: How to watch outside USNetflix, HULU Videos: How to watch outside US
Netflix, HULU Videos: How to watch outside US
 

Ähnlich wie Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption

Tips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software EngineeringTips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software Engineeringjtdudley
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Abhishek Singh
 
Hadoop Streaming: Programming Hadoop without Java
Hadoop Streaming: Programming Hadoop without JavaHadoop Streaming: Programming Hadoop without Java
Hadoop Streaming: Programming Hadoop without JavaGlenn K. Lockwood
 
Developing Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and JavascriptDeveloping Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and JavascriptJeff Haynie
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)Jeffrey Breen
 
Zh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And HdfsZh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And Hdfskevin liao
 
Web development Hackathon
Web development HackathonWeb development Hackathon
Web development HackathonAl Sayed Gamal
 
เฉลยคำตอบ O
เฉลยคำตอบ Oเฉลยคำตอบ O
เฉลยคำตอบ OSurapong Jakang
 
GOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x HadoopGOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x Hadoopfvanvollenhoven
 
MapReduce: A useful parallel tool that still has room for improvement
MapReduce: A useful parallel tool that still has room for improvementMapReduce: A useful parallel tool that still has room for improvement
MapReduce: A useful parallel tool that still has room for improvementKyong-Ha Lee
 
Cより速いRubyプログラム
Cより速いRubyプログラムCより速いRubyプログラム
Cより速いRubyプログラムkwatch
 
Beyond the GFLOPS
Beyond the GFLOPSBeyond the GFLOPS
Beyond the GFLOPSSlide_N
 
The Fundamentals Guide to HDP and HDInsight
The Fundamentals Guide to HDP and HDInsightThe Fundamentals Guide to HDP and HDInsight
The Fundamentals Guide to HDP and HDInsightGert Drapers
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expertPaul King
 
Semantic Web Technologies for Automatic Service Composition
Semantic Web Technologies for Automatic Service CompositionSemantic Web Technologies for Automatic Service Composition
Semantic Web Technologies for Automatic Service CompositionDragan Gasevic
 

Ähnlich wie Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption (20)

Tips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software EngineeringTips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software Engineering
 
20090422 Www
20090422 Www20090422 Www
20090422 Www
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up
 
RESTful OGC Services
RESTful OGC ServicesRESTful OGC Services
RESTful OGC Services
 
Hadoop Streaming: Programming Hadoop without Java
Hadoop Streaming: Programming Hadoop without JavaHadoop Streaming: Programming Hadoop without Java
Hadoop Streaming: Programming Hadoop without Java
 
Lca05
Lca05Lca05
Lca05
 
Developing Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and JavascriptDeveloping Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and Javascript
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
 
Zh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And HdfsZh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And Hdfs
 
Web development Hackathon
Web development HackathonWeb development Hackathon
Web development Hackathon
 
เฉลยคำตอบ O
เฉลยคำตอบ Oเฉลยคำตอบ O
เฉลยคำตอบ O
 
The ROP Pack
The ROP PackThe ROP Pack
The ROP Pack
 
GOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x HadoopGOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x Hadoop
 
MapReduce: A useful parallel tool that still has room for improvement
MapReduce: A useful parallel tool that still has room for improvementMapReduce: A useful parallel tool that still has room for improvement
MapReduce: A useful parallel tool that still has room for improvement
 
Cより速いRubyプログラム
Cより速いRubyプログラムCより速いRubyプログラム
Cより速いRubyプログラム
 
Beyond the GFLOPS
Beyond the GFLOPSBeyond the GFLOPS
Beyond the GFLOPS
 
The Fundamentals Guide to HDP and HDInsight
The Fundamentals Guide to HDP and HDInsightThe Fundamentals Guide to HDP and HDInsight
The Fundamentals Guide to HDP and HDInsight
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expert
 
Semantic Web Technologies for Automatic Service Composition
Semantic Web Technologies for Automatic Service CompositionSemantic Web Technologies for Automatic Service Composition
Semantic Web Technologies for Automatic Service Composition
 

Mehr von Alpen-Adria-Universität

VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instancesVEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instancesAlpen-Adria-Universität
 
GREEM: An Open-Source Energy Measurement Tool for Video Processing
GREEM: An Open-Source Energy Measurement Tool for Video ProcessingGREEM: An Open-Source Energy Measurement Tool for Video Processing
GREEM: An Open-Source Energy Measurement Tool for Video ProcessingAlpen-Adria-Universität
 
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...Alpen-Adria-Universität
 
VEEP: Video Encoding Energy and CO₂ Emission Prediction
VEEP: Video Encoding Energy and CO₂ Emission PredictionVEEP: Video Encoding Energy and CO₂ Emission Prediction
VEEP: Video Encoding Energy and CO₂ Emission PredictionAlpen-Adria-Universität
 
Content-adaptive Video Coding for HTTP Adaptive Streaming
Content-adaptive Video Coding for HTTP Adaptive StreamingContent-adaptive Video Coding for HTTP Adaptive Streaming
Content-adaptive Video Coding for HTTP Adaptive StreamingAlpen-Adria-Universität
 
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...Alpen-Adria-Universität
 
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Vid...
Empowerment of Atypical Viewers  via Low-Effort Personalized Modeling  of Vid...Empowerment of Atypical Viewers  via Low-Effort Personalized Modeling  of Vid...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Vid...Alpen-Adria-Universität
 
Optimizing Video Streaming for Sustainability and Quality: The Role of Prese...
Optimizing Video Streaming  for Sustainability and Quality: The Role of Prese...Optimizing Video Streaming  for Sustainability and Quality: The Role of Prese...
Optimizing Video Streaming for Sustainability and Quality: The Role of Prese...Alpen-Adria-Universität
 
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...Alpen-Adria-Universität
 
Machine Learning Based Resource Utilization Prediction in the Computing Conti...
Machine Learning Based Resource Utilization Prediction in the Computing Conti...Machine Learning Based Resource Utilization Prediction in the Computing Conti...
Machine Learning Based Resource Utilization Prediction in the Computing Conti...Alpen-Adria-Universität
 
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamEvaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamAlpen-Adria-Universität
 
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...Alpen-Adria-Universität
 
Multi-access Edge Computing for Adaptive Video Streaming
Multi-access Edge Computing for Adaptive Video StreamingMulti-access Edge Computing for Adaptive Video Streaming
Multi-access Edge Computing for Adaptive Video StreamingAlpen-Adria-Universität
 
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player EnvironmentPolicy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player EnvironmentAlpen-Adria-Universität
 
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...Alpen-Adria-Universität
 
Energy Consumption in Video Streaming: Components, Measurements, and Strategies
Energy Consumption in Video Streaming: Components, Measurements, and StrategiesEnergy Consumption in Video Streaming: Components, Measurements, and Strategies
Energy Consumption in Video Streaming: Components, Measurements, and StrategiesAlpen-Adria-Universität
 
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...Alpen-Adria-Universität
 
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine LearningVideo Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine LearningAlpen-Adria-Universität
 
Optimizing QoE and Latency of Live Video Streaming Using Edge Computing a...
Optimizing  QoE and Latency of  Live Video Streaming Using  Edge Computing  a...Optimizing  QoE and Latency of  Live Video Streaming Using  Edge Computing  a...
Optimizing QoE and Latency of Live Video Streaming Using Edge Computing a...Alpen-Adria-Universität
 
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming ApplicationsSARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming ApplicationsAlpen-Adria-Universität
 

Mehr von Alpen-Adria-Universität (20)

VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instancesVEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
 
GREEM: An Open-Source Energy Measurement Tool for Video Processing
GREEM: An Open-Source Energy Measurement Tool for Video ProcessingGREEM: An Open-Source Energy Measurement Tool for Video Processing
GREEM: An Open-Source Energy Measurement Tool for Video Processing
 
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
 
VEEP: Video Encoding Energy and CO₂ Emission Prediction
VEEP: Video Encoding Energy and CO₂ Emission PredictionVEEP: Video Encoding Energy and CO₂ Emission Prediction
VEEP: Video Encoding Energy and CO₂ Emission Prediction
 
Content-adaptive Video Coding for HTTP Adaptive Streaming
Content-adaptive Video Coding for HTTP Adaptive StreamingContent-adaptive Video Coding for HTTP Adaptive Streaming
Content-adaptive Video Coding for HTTP Adaptive Streaming
 
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
 
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Vid...
Empowerment of Atypical Viewers  via Low-Effort Personalized Modeling  of Vid...Empowerment of Atypical Viewers  via Low-Effort Personalized Modeling  of Vid...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Vid...
 
Optimizing Video Streaming for Sustainability and Quality: The Role of Prese...
Optimizing Video Streaming  for Sustainability and Quality: The Role of Prese...Optimizing Video Streaming  for Sustainability and Quality: The Role of Prese...
Optimizing Video Streaming for Sustainability and Quality: The Role of Prese...
 
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
 
Machine Learning Based Resource Utilization Prediction in the Computing Conti...
Machine Learning Based Resource Utilization Prediction in the Computing Conti...Machine Learning Based Resource Utilization Prediction in the Computing Conti...
Machine Learning Based Resource Utilization Prediction in the Computing Conti...
 
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamEvaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream
 
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
 
Multi-access Edge Computing for Adaptive Video Streaming
Multi-access Edge Computing for Adaptive Video StreamingMulti-access Edge Computing for Adaptive Video Streaming
Multi-access Edge Computing for Adaptive Video Streaming
 
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player EnvironmentPolicy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
 
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
 
Energy Consumption in Video Streaming: Components, Measurements, and Strategies
Energy Consumption in Video Streaming: Components, Measurements, and StrategiesEnergy Consumption in Video Streaming: Components, Measurements, and Strategies
Energy Consumption in Video Streaming: Components, Measurements, and Strategies
 
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
 
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine LearningVideo Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
 
Optimizing QoE and Latency of Live Video Streaming Using Edge Computing a...
Optimizing  QoE and Latency of  Live Video Streaming Using  Edge Computing  a...Optimizing  QoE and Latency of  Live Video Streaming Using  Edge Computing  a...
Optimizing QoE and Latency of Live Video Streaming Using Edge Computing a...
 
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming ApplicationsSARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
 

Kürzlich hochgeladen

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
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]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Kürzlich hochgeladen (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
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]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption

  • 1. Dynamic(Adap,ve(Streaming(over(HTTP:( From(Content(Crea,on(to(Consump,on( Chris,an(Timmerer( Carsten(Griwodz( AlpenHAdriaHUniversität(Klagenfurt( Simula(Research(Laboratory( Universitätsstraße(65H67( P.O.Box(134( AH9020(Klagenfurt(am(Wörthersee( 1325(Lysaker,(Norway( +43$463$2700$3621$ +47$67$82$82$00$ chris/an./mmerer@itec.aau.at$ griff@simula.no$ ACM(Mul,media(2012,(Nara,(Japan( 29th(October,(2012(
  • 2. Video$Predominant$on$the$Internet$ •  RealB/me$video$is$more$than$50%$of$the$traffic$at$peak$periods$ •  Mobile$traffic$is$growing$exponen/ally,$all$delivered$over$the$top$(OTT)$ hZp://www.sandvine.com/downloads/documents/Phenomena_1H_2012/ Sandvine_Global_Internet_Phenomena_Report_1H_2012.pdf$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 2$
  • 3. ...$but$User$Frustra/on$is$High!!!$ •  Wrong$format$ •  Wrong$protocol$ •  Plugin$required$ •  DRM$issues$ •  Long$startBup$delay$ •  Low$quality$ •  Frequent$stalls$ •  Bitrate$intense$ •  No$DVD/PVR$experience$ Ack:$Thomas$Stockhammer$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 3$
  • 4. Dynamic$Adap/ve$Streaming$over$HTTP$ •  In$a$nutshell$…$ Ack$&$©:$Christopher$Müller$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 4$
  • 5. Presenters$ Chris,an(Timmerer( Carsten(Griwodz( Assistant$professor$at$the$Ins/tute$of$Informa/on$ Head$of$the$Media$department$of$research$company$ Technology$(ITEC),$Mul/media$Communica/on$Group$ Simula$Research$Laboratory,$and$professor$of$Computer$ (MMC),$AlpenBAdriaBUniversität$Klagenfurt,$Austria.$His$ Science$at$the$University$of$Oslo.$He$received$his$Dipl.B research$interests$include$immersive$mul/media$ Inf.$degree$from$Paderborn$University$in$1993$and$Dr.B communica/on,$streaming,$adapta/on,$and$Quality$of$ Ing.$degree$from$Technische$Universität$Darmstadt$in$ Experience$(QoE).$He$was$the$general$chair$of$ 2000.$He$worked$for$IBM$from$1993–98$and$par/cipated$ WIAMIS’08,$AVSTP2P’10$(coBlocated$with$ACMMM’10),$ in$the$standardiza/on$of$MHEG.$His$research$is$ WoMAN’11$(coBlocated$with$ICME’11),$and$TPC$coBchair$ concerned$with$streaming$media,$ranging$from$scalable$ of$QoMEX’12.$He$has$par/cipated$in$several$ECBfunded$ distribu/on$architectures$through$opera/ng$system$and$ projects,$notably$DANAE,$ENTHRONE,$P2PBNext,$ protocol$support$to$subjec/ve$visual$quality$assessment.$$ ALICANTE,$and$SocialSensor.$He$is$an$Associate$Editor$for$ He$was$coBchair$of$ACM$NOSSDAV$2008,$ACM/IEEE$ IEEE$Computer$Science$Compu/ng$Now,$Area$Editor$for$ NetGames$2011,$SPIE/ACM$MMCN$2006$and$2007,$Track$ Elsevier$Signal$Processing:$Image$Communica/on,$Review$ chair$of$ACM$MM$2008,$TPC$chair$of$ACM$MMSys$2012$ Board$Member$of$IEEE$MMTC,$editor$of$ACM$SIGMM$ and$is$general$chair$of$MMSys$2013.$He$is$Associate$ Records,$and$member$of$ACM$SIGMM$Open$Source$ Editor$of$ACM$TOMCCAP$and$EditorBinBChief$of$the$ Sorware$CommiZee.$He$also$par/cipated$in$ISO/MPEG$ newsleZer$ACM$SIGMM$Records.$The$Media$group$ work$for$several$years,$notably$in$the$area$of$MPEGB21,$ publishes$news$at$hZp://mpg.ndlab.net.$His$publica/ons$ MPEGBM,$MPEGBV,$and$DASH$(incl.$DASH$promoters$ can$be$found$at$hZp://simula.no/people/griff/ group).$He$received$his$PhD$in$2006$from$the$Klagenfurt$ bibliography.$ University.$Publica/ons$and$MPEG$contribu/ons$can$be$ found$under$hZp://research./m$merer.com,$follow$him$ on$hZp://www.twiZer.com//mse7,$and$subscribe$to$his$ blog$hZp://blog./mmerer.com.$Full$bio$can$be$found$at$ hZp://wwwBitec.uniBklu.ac.at/~/mse/cv/.$ DASH$Tutorial,$ACM$Mul/media$2012$ Oct$29,$2012$ 5$
  • 6. Tutorial$Outline$ –  Scope$and$design$principles$ –  Data$model$ –  Profiles$ –  GPAC$ –  VLC$media$player$plugin,$libdash$ –  Javascript$&$HTML5$=>$DASHBJS$ –  Mobile,$heterogeneous$environments$ –  Quality$of$Experience$(QoE)$ –  Synchroniza/on$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 6$
  • 7. Dynamic(Adap,ve( Streaming(over(HTTP((DASH)( Chris,an(Timmerer(and(Christopher(Müller( ( AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on( Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)( research./mmerer.com$!$blog./mmerer.com$!$selab.itec.aau.at$!$dash.itec.aau.at$!$stcsn.ieee.net$ chris/an./mmerer@itec.aau.at$ ACM(Mul,media(2012,(Nara,(Japan( 29th(October,(2012( Acknowledgment:$Thomas$Stockhammer$(QUALCOMM),$Mark$Watson$(Nezlix),$Iraj$Sodagar$(Microsor)$
  • 9. Dynamic$Adap/ve$Streaming$over$HTTP$(DASH)$ Proprietary(Solu,ons( Int’l(Standard(Solu,ons(V1( Int’l(Standard(Solu,ons(V2( Apple(HTTP(Live( Streaming(( 3GPP(Rel.9(Adap,ve( 3GPP(Rel.10(DASH( Adobe(HTTP( HTTP(Streaming(( Dynamic(Streaming(( V3…$ Microsoe(Smooth( Streaming( OIPF(HTTP(Adap,ve( MPEGHDASH( Streaming( Neflix( Akamai( Movenetworks’( Movestreaming(( Amazon( .(.(.( /me$ hZp://mul/mediacommunica/on.blogspot.com/2010/05/hZpBstreamingBofBmpegBmedia.html$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 9$
  • 10. DASH$Design$Principles$ •  DASH$is$not$ –  system,$protocol,$presenta/on,$codec,$interac/vity,$DRM,$client$specifica/on$ •  DASH$is$an$enabler$ –  It$provides$formats$to$enable$efficient$and$highBquality$delivery$of$streaming$ services$over$the$Internet$ –  It$is$considered$as$one$component$in$an$endBtoBend$service$ –  System$defini/on$ler$to$other$organiza/ons$(SDOs,$fora,$companies,$etc.)$ •  Design$choices$ –  Enable$reuse$of$exis/ng$technologies$(containers,$codecs,$DRM$etc.)$ –  Enable$deployment$on$top$of$HTTPBCDNs$(Web$Infrastructures,$caching)$ –  Enable$very$high$userBexperience$(low$startBup,$no$rebuffering,$trick$modes)$ –  Enable$selec/on$based$on$network$and$device$capability,$user$preferences$ –  Enable$seamless$switching$ –  Enable$live$and$DVDBkind$of$experiences$ –  Move$intelligence$from$network$to$client,$enable$client$differen/a/on$ –  Enable$deployment$flexibility$(e.$g.,$live,$onBdemand,$/meBshir$viewing)$ –  Provide$simple$interoperability$points$(profiles)$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 10$ Ack$&$©:$Thomas$Stockhammer$
  • 11. Scope$of$DASH$ Server( Client( 1( MF( MF( 2( DF( DF( ISOBM ISOBM FF( easy$ easy$ FF( conversion$ conversion$ M2TS( M2TS( Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 11$
  • 12. What$is$specified$–$and$what$is$not?$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 12$ Ack$&$©:$Thomas$Stockhammer$
  • 13. DASH$Data$Model$ Segment Info Initialization Segment http://www.e.com/ahs-5.3gp Media Presentation Media Segment 1 Period, start=0s Period, start=0s • start=100 Representation 1 http://www.e.com/ahs-5-1.3gs … … • baseURL=http://www.e.com/ • bandwidth=500kbit/s • width 640, height 480 Media Segment 2 Representation 1 … start=10s http://www.e.com/ahs-5-2.3gs Period, start=100s 500kbit/s Segment Info … duration=10s Media Segment 3 start=20s Representation 2 Template: http://www.e.com/ahs-5-3.3gh 100kbit/s ./ahs-5-$Index$.3gs Period, start=295s … … … Media Segment 20 start=190s http://www.e.com/ahs-5-20.3gs Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 13$ Ack$&$©:$Thomas$Stockhammer$
  • 14. Media$Presenta/on$Descrip/on$ •  Redundant$informa/on$of$Media$Streams$for$the$purpose$to$ ini/ally$select$or$reject$Adapta/onSets$of$Representa/ons$ –  Examples:$Codec,$DRM,$language,$resolu/on,$bandwidth$ •  Access$and$Timing$Informa/on$ –  HTTPBURL(s)$and$byte$range$for$each$accessible$Segment$ –  Earliest$next$update$of$the$MPD$on$the$server$ –  Segment$availability$start$and$end$/me$in$wallBclock$/me$ –  Approximated$media$start$/me$and$dura/on$of$a$Media$Segment$in$ the$media$presenta/on$/meline$ –  For$live$service,$instruc/ons$on$star/ng$playout$such$that$media$ segments$will$be$available$in$/me$for$smooth$playout$in$the$future$ •  Switching$and$splicing$rela/onships$across$Representa/ons$ •  Rela/vely$liZle$other$informa/on$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 14$ Ack$&$©:$Thomas$Stockhammer$
  • 15. MPD$Schema$Overview$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 15$ Ack$&$©:$Iraj$Sodagar$
  • 16. MPD$Schema$B$Representa/on$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 16$ Ack$&$©:$Iraj$Sodagar$
  • 17. DASH$Adapta/onSets$&$Subsets$ Adapta,onSet(id="grpH1"( Adapta/onSet$by$codec,$language,$resolu/on,$ bandwidth,$views,$etc.$–$very$flexible$(in$combina/on$ Representa,on(id="repH1"( with$xlink)!$ Representa,on(id="repH2"( "  Ranges$for$the$@bandwidth,$@width,$@height$and$ @frameRate$ .(.(.( Representa,on(id="repHn"( Subset(id="ssH1"( Contains(group="grpH1"( Adapta,onSet(id="grpH2"( Contains(group="grpH4"( Representa,on(id="repH1"( Contains(group="grpH7"( Representa,on(id="repH2"( .(.(.( Representa,on(id="repHn"( Subsets$ "  Mechanism$to$restrict$the$combina/on$of$ .(.(.( ac#ve$Groups$ "  Expresses$the$inten/on$of$the$creator$of$the$ Adapta,onSet(id="grpHm"( Media$Presenta/on$$ Representa,on(id="repH1"( Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 17$ Representa,on(id="repH2"(
  • 18. Segment$Indexing$ •  Provides$binary$informa/on$in$ISO$box$structure$on$ –  Accessible$units$of$data$in$a$media$segment$ –  Each$unit$is$described$by$ •  Byte$range$in$the$segments$(easy$access$through$HTTP$par/al$GET)$ •  Accurate$presenta/on$dura/on$(seamless$switching)$ •  Presence$of$representa/on$access$posi/ons,$e.g.$IDR$frames$ •  Provides$a$compact$bitrateBoverB/me$profile$to$client$ –  Can$be$used$for$intelligent$request$scheduling$ •  Generic$Data$Structure$usable$for$any$media$segment$ format,$e.g.$ISO$BMFF,$MPEGB2$TS,$etc.$ •  Hierarchical$structuring$for$efficient$access$ •  May$be$combined$with$media$segment$or$may$be$separate$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 18$ Ack$&$©:$Thomas$Stockhammer$
  • 19. Segment$Indexing$ seg1.mp4 Segment(Index(in(MPD(only( <MPD> seg2.mp4 ... <URL sourceURL="seg1.mp4"/> <URL sourceURL="seg2.mp4"/> ... </MPD> <MPD> seg.mp4 ... <URL sourceURL="seg.mp4" range="0-499"/> <URL sourceURL="seg.mp4" range="500-999"/> </MPD> Segment(Index(in(MPD(+(Segment(( <MPD> sidx ... .mp4 <Index sourceURL=”sidx.mp4"/> <URL sourceURL="seg.mp4"/> </MPD> seg.mp4 Segment(Index(in(Segment(only(( <MPD> ... <BaseURL>seg.mp4</BaseURL> sidx seg.mp4 </MPD> Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 19$
  • 20. Switch$Point$Alignment$ •  Segment$alignment$ –  Permits$nonBoverlapping$decoding$and$presenta/on$of$segments$from$ different$representa/ons$ •  Stream$Access$Points$(SAPs)$ –  Presenta/on$/me$and$posi/on$in$segments$at$which$random$access$and$ switching$can$occur$ •  Bitstream$Switching$ –  Concatena/on$of$segments$from$different$representa/ons$results$in$ conforming$bitstream$ •  Alignment$and$SAPs$can$ also$apply$for$subsegments$ •  Preferable$switching$points$ are$segment/subsegment$ boundaries$for$which$ –  Alignment$holds$across$ representa/ons$ –  The$switchBto$ representa/on$starts$with$ a$SAP$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 20$ Ack$&$©:$Mark$Watson$and$Thomas$Stockhammer$
  • 21. Profiles$ •  Subset$(restric/ons)$of$the$func/onality$ •  Target$specific$applica/ons/domains$ •  As$of$now,$mainly$related$to$supported$segment$ formats$ Full(Profile( ISOBMFF(Main( MPEGB2$ MPEGH2( ISOBMFF$ ISOBMFF$ TS$Simple$ TS(Main( On$Demand$ Live$ •  More$restric/ons$may$be$added$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 21$ Ack:$Thomas$Stockhammer$
  • 22. Adap/ve$Streaming$Summary$ •  For$on$demand$ •  For$live$ –  Chunks$are$unnecessary$and$costly$ –  Chunks$are$unavoidable$ –  Byte$range$requests$have$caching$and$ –  S/ll$value$in$decoupling$request$size$ flexibility$advantages$ from$chunk$size$ –  Separate$audio/video$essen/al$for$ –  Mul/ple$language$audio$tracks$are$rare$ language$support$ –  May$need$manifest$updates$ •  For$both$ –  Switch$point$alignment$required$for$most$CE$decoding$pipelines$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 22$ Ack$&$©:$Mark$Watson$and$Thomas$Stockhammer$
  • 23. Adapta/on$Problem$ Choose$sequence$and$/ming$of$requests$to$minimize$ probability$of$reBbuffers$and$maximize$quality$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 23$ Ack$&$©:$Mark$Watson$
  • 24. Poten/al$Future$Work$Items$ •  MMSys’11$Keynote$ –  HTTP$Adap/ve$Streaming$in$Prac/ce$by$Mark$Watson$(Nezlix)$ –  Future$work$ •  Good$models$for$future$bandwidth$ •  Tractable$representa/ons$of$future$choices$B$how$to$efficiently$search$ the$'choice$space'$ •  What$are$the$quality$goals?$ •  Call$for$adapta/on$logics$ –  Efficient$implementa/ons$of$the$actual$adapta/on$logic$which$is$ responsible$for$the$dynamic$and$adap/ve$part$of$DASH$ hZp://mul/mediacommunica/on.blogspot.com/2011/02/betaBversionBofBvlcBdashBplugin.html$ •  Get$it$deployed$and$adopted$(e.g.$W3C,$DVB$–$what$is$ necessary?)$ •  Join$this$ac/vity,$everyone$is$invited$–$get$involved$in$and$ exited$about$DASH!$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 24$
  • 25. DASH(“Encoder”,(Dataset,(and(Players( Stefan(Lederer,(Christopher(Müller,(Benjamin(Rainer,(and(Chris,an(Timmerer( ( AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on( Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)( hZp://research./mmerer.com$!$hZp://blog./mmerer.com$!$hZp://dash.itec.aau.at/ mailto:chris/an./mmerer@itec.uniBklu.ac.at$ ACM(Mul,media(2012,(Nara,(Japan( 29th(October,(2012( Acknowledgments.$This$work$was$supported$in$part$by$the$European$Commission$in$the$context$of$the$ALICANTE$project$(FP7B ICTB248652),$SocialSensor$(FP7BICTB287975),$and$the$COST$Ac/on$IC1003$QUALINET.$$
  • 26. DASH@GPAC: MP4Box & MP42TS !  Multimedia Packagers •  MPEG-2 TS for DASH profiles •  ISOBMFF Packager & Analyser !  DASH Segmenter •  ISOBMFF and M2TS segments -  All DASH profiles supported -  URL-template naming scheme •  Segment indexing (SIDX) •  GOP-align segments or fragments (MediaSourceExtension) •  Automatic AdaptationSet selection -  Media type, codec, language, PAR -  Handle groups (same media but not switchable) !  DASH live simulator -  Manages MPD update and timeline continuity jean.lefeuvre@telecom-paristech.fr http://gpac.sourceforge.net
  • 27. DASHEncoder$ •  DASH$Content$Genera/on$Tool$ –  Encoding$+$Mul/plexing$+$MPD$genera/on$ –  Generates$isoffmain$profile$compliant$MPDs$ –  Fully$configurable$using$a$configBfile$ –  Enables$batch$processing$ –  Currently$uses$x264$and$GPAC‘s$MP4Box$ –  Easy$extensible$to$further$$ encoders$&$mul/plexers$ –  hZp://dash.itec.aau.at/$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 27$
  • 28. DASHEncoder$ •  h.264:$ $x264$/$ffmpeg$ •  AAC: $ $ffmpeg$ Encode$ •  [WebM,$etc.]$ •  MP4Box: $Video$/$Audio$/$Video$+$Audio$ •  [e.g.$WebM/MKV$Segmenter]$ Container$ •  Generate$one$MPD$ •  Subfolder$Organiza/on$ MPD$ •  MPD$Transforma/on$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 28$
  • 29. Dataset$ •  Dataset(with(DASH(Content( –  Long$sequences$in$high$quality$ –  Various$segmentBlength$versions$ –  Free$available$for$DASH$experiments$$ –  PSNR$values$per$frame$ •  Problem:(Content(Rights( –  CCBAZribu/on$2.0$Generic$(CCHBY(2.0)$License$or$similar$$ –  Free$to$Share,$Free$to$Remix$ –  Note:$YouTube$introduces$CCBBY$in$June$2011!$ •  Nego,a,on(with(content(owner( Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 29$
  • 30. Dataset$Sequences$ Name Source(Quality Length Genre Big$Buck$Bunny$ 1080p$YUV 09:46 Anima/on$$ Elephants$Dream$ 1080p$YUV 10:54 Anima/on$ Red$Bull$Playstreets 1080p,$6$Mbit$H.264$ 01:37:28 Sport$ The$Swiss$Account$ 1080p,$6$Mbit$H.264 57:34 Sport$ Valkaama 1080p,$6$Mbit$H.264$ 01:33:05 Movie$ Of$Forest$and$Men SD 10:53 Movie$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 30$
  • 31. DASH$Dataset$Sequences$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 31$
  • 32. Bitrates$and$Resolu/ons$ # Anima,on Sport Movie 1 50$kbit/s,$$320x240 100$kbit/s,$$320x240 50$kbit/s,$320x240 2 100$kbit/s,$$320x240 150$kbit/s,$$320x240 100$kbit/s,$320x240 3 150$kbit/s,$$320x240 200$kbit/s,$$480x360 150$kbit/s,$$320x240 4 200$kbit/s,$$480x360 250$kbit/s,$$480x360 200$kbit/s,$$480x360 5 250$kbit/s,$$480x360 300$kbit/s,$$480x360 250$kbit/s,$$480x360 6 300$kbit/s,$$480x360 400$kbit/s,$$480x360 300$kbit/s,$$480x360 7 400$kbit/s,$$480x360 500$kbit/s,$$854x480 400$kbit/s,$$480x360 8 500$kbit/s,$$480x360 700$kbit/s,$$854x480 500$kbit/s,$$854x480 9 600$kbit/s,$$854x480$ 900$kbit/s,$$854x480 600$kbit/s,$$854x480 10 700$kbit/s,$$854x480$ 1,2$Mbit/s,$$854x480 700$kbit/s,$$854x480 11 900$kbit/s,1280x720$ 1,5$Mbit/s,1280x720 900$kbit/s,1280x720 12 1,2$Mbit/s,1280x720$ 2,0$Mbit/s,1280x720 1,2$Mbit/s,1280x720 13 1,5$Mbit/s,1280x720$ 2,5$Mbit/s,1280x720 1,5$Mbit/s,1280x720 14 2,0$Mbit/s,1280x720$ 3,0$Mbit/s,1920x1080 2,0$Mbit/s,1920x1080 15 2,5$Mbit/s,1920x1080$ 4,0$Mbit/s,1920x1080 2,5$Mbit/s,1920x1080 16 3,0$Mbit/s,1920x1080$ 5,0$Mbit/s,1920x1080 3,0$Mbit/s,1920x1080 17 4,0$Mbit/s,1920x1080 6,0$Mbit/s,1920x1080 4,0$Mbit/s,1920x1080 18 5,0$Mbit/s,1920x1080 $ 5,0$Mbit/s,1920x1080 19 Oct$29,$2012$ 6,0$Mbit/s,1920x1080 $ DASH$Tutorial,$ACM$Mul/media$2012$ 6,0$Mbit/s,1920x1080 32$ 20 8,0$Mbit/s,1920x1080 $ $
  • 33. DASH$Content$Types$ •  Segment(Size:$ –  Seconds:$1,$2,$4,$6,$10,$15$ •  File(Organiza,on( –  Segmented$ –  One$file$per$representa/on,$Byte$Range$Requests$ •  e.g.:(Big(Buck(Bunny( –  (120(Encodings$needed$ –  Only$6(DASH(Encoder$runs$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 33$
  • 34. DASH@GPAC: Playback !  DASHClient !  Integrated in Osmo4 •  DASH ISOBMFF, M2TS (+ HLS) •  Many input formats and -  With or without bitstreamSwitching codecs -  Support for multiple Periods •  Composition engine •  All profiles except onDemand (SVG, BIFS, X3D) (ongoing) !  Try it! -  VoD through « live » or « main » •  Included in libgpac •  Local files and http(s) playback •  Independent from player •  Various download policies GPAC DASH MPD Playback Media Bring Your Own Segments DASH APP !! jean.lefeuvre@telecom-paristech.fr http://gpac.sourceforge.net
  • 35. DASH$VLC$Plugin$Architecture$ •  Four$major$ components$and$ two$controller$ classes$ •  Easy$Adapta/on$ Logic$Interface$for$ Researchers$and$ Developers$ •  Flexible$HTTP$ structure$for$further$ improvements$e.g.$ persistent$ hZp://dash.itec.aau.at/$ connec/ons$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 35$
  • 36. DASH$VLC$Plugin$Features$ •  Officially$part$of$VLC$and$as$library$(libdash)$ •  Provides$a$simple$interface$to$integrate$new$ Adapta/on$Logics$ •  Dynamic$adapta/on$to$the$available$bandwidth$ •  Flexible$for$further$improvements,$e.g.,$profiles,$ persistent$connec/ons$and$pipelining$ •  Source$code$is$available$through$the$VLC$git$ repository$and$at:$ hZp://wwwBitec.aau.at/dash$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 36$
  • 37. VLC$Architecture$ •  Interface:$User$ interac/on$e.g.$stop,$play$ etc.$ •  Access:$HTTP,$RTP$etc.$ •  StreamBFilter:$Recording,$ Dynamic$Streaming$ •  Demux:$MP4,$M2TS,$ MKV$ •  Decoder:$H264,$VP8$etc.$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 37$
  • 38. DASH$in$JavaScript$(DASHBJS)$ •  Completely$implemented$in$JavaScript$–$no$ (3rd$party)$plugins$required$ •  Makes$use$of$the$Media$Source$API$provided$ by$Google$Chrome$ –  Support$for$WebM$and$ISOBMFF$ •  Provides$/me$based$and$byte$based$buffers$ –  E.g.,$use$as$input$for$adapta/on$logics$ •  Flexible$adapta/on$logics$ –  Easy$to$extend$exis/ng$ones$or$integrate$your$ own$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 38$
  • 39. DASHBJS$Architecture$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 39$
  • 40. DASHBJS$(cont’d)$ •  Bandwidth$/$throughput$es/ma/on$ –  …$is$done$each$/me$a$segment$is$retrieved$ –  At$the$beginning$the$MPD$is$used$to$have$an$educated$guess$on$the$ bandwidth$ –  To$bypass$proxy$caching$“noBcache”$is$set$in$the$HTTP$Request$Header$ (will$influence$the$throughput$es/ma/on)$ •  Representa/on$selec/on$is$based$on:$ w1bn−1 + w2 bm bn = w1 + w2 –  bnB1$denotes$the$throughput$calculated$at$the$nB1th$segment$ –  bm$depicts$the$throughput$measured$with$the$nth$segment$ –  bn$is$used$to$decide$which$representa/on$should$be$selected$ –  The$weights$(w1$and$w2)$are$used$to$mimic$op/mis/c$or$pessimis/c$ behavior$ •  Simple$adapta/on$logic,$easy$to$extend,$modify…$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 40$
  • 41. Showcases$ •  Sintel$Trailer$@$480p$ –  5$representa/on$from$200$kbps$to$2000$kbps$video$bitrate$ –  128$kbps$audio$for$all$representa/ons$ –  Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtest.html$$ –  MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/sintel_mul/_rep.mpd$ •  Big$Buck$Bunny$@$480p$ –  7$representa/ons$from$200$kbps$to$4700$kbps$video$bitrate$ –  128$kbps$audio$for$all$representa/ons$ –  Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtestBbunny.html$$ –  MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/bigbuckbunny.mpd$ •  Big$Buck$Bunny$@$1080p$ –  7$representa/ons$from$1000$kbps$to$8000$kbps$ –  128$kbps$audio$for$all$representa/ons$ –  Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtestBbunny1080p.html$$ –  MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/bigbuckbunny_1080p.mpd$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 41$
  • 42. Conclusions$ •  EndBtoBend$DASH$tools$available$ –  GPAC$provides$support$for$ISOBMFF,$M2TS,$and$beyond$ –  DASH$VLC$plugin$and$libdash$(world$first$DASH$player)$ –  DASHBJS$for$easy$Web$integra/on$(HTML5,$Javascript)$ •  Flexible$architecture,$easy$to$extend,$e.g.:$ –  Add$your$own$profile$(!!!)$ –  Add$your$own$buffer$model$ –  Add$your$own$bandwidth$es/ma/on,$adapta/on$logic$ •  Open$source:$hZp://dash.itec.aau.at$|$ hZp://gpac.sourceforge.net$ –  Feel$free$to$use$it,$please$acknowledge/reference$us$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 42$
  • 43. An(Evalua,on(of(Dynamic(Adap,ve(Streaming( over(HTTP(in(Vehicular(Environments( Christopher(Müller,(Stefan(Lederer,(and(Chris,an(Timmerer( ( AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on( Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)( hZp://research./mmerer.com$!$hZp://blog./mmerer.com$!$hZp://dash.itec.aau.at/ mailto:chris/an./mmerer@itec.uniBklu.ac.at$ ACM(Mul,media(2012( 29th(October,(2012( Acknowledgments.$This$work$was$supported$in$part$by$the$European$Commission$in$the$context$of$the$ALICANTE$project$(FP7B ICTB248652),$SocialSensor$(FP7BICTB287975),$and$the$COST$Ac/on$IC1003$QUALINET.$$
  • 44. Methodology$ •  Experiment(1(/(Track(1((601(seconds)$ –  Drive$on$the$freeway$A2,$passing$by$the$city$of$Villach$in$the$direc/on$to$ Klagenfurt.$ •  Experiment(2(/(Track(2((575(seconds)$ –  From$the$AlpenBAdriaBUniversität$Klagenfurt$on$the$freeway$A2$un/l$the$ service$area$around$Techelsberg.$ •  Experiment(3(/(Track(3((599(seconds)$ –  From$the$service$area$around$Techelsberg$on$the$freeway$A2$to$the$exit$of$ Klagenfurt.$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 44$
  • 45. Metrics$ •  Average$bitrate$ –  Overall$performance$for$the$en/re$session$ •  Number$of$quality$switches$ –  Different$representa/on$due$available$bandwidth$ •  Buffer$level$ –  Es/mated$with$download$/mestamp$(DTS)$and$ presenta/on$/mestamp$(PTS)$ •  Number$of$unsmooth$seconds$ –  Buffer$empty$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 45$
  • 46. Experimental$Setup$ •  Bandwidth$Shaping$ –  Ubuntu$11.04$w/$Linux$hierarchical$token$bucket$(htb)$ –  Available$bandwidth$will$be$adjusted$every$2s$due$to$the$recorded$ traces$and$2s$segment$length$ •  Network$Emula/on$ –  Emulates$a$round$trip$/me$of$150ms$ •  HTTP$Server$ –  Server$based$on$Windows$Server$2008$and$IIS$/$Ubuntu$11.04$and$ Apache$Web$Server$ •  Evalua/on$Client$ –  Windows$or$Linux$depending$on$the$evalua/on$system$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 46$
  • 47. Dataset$ •  All$experiments$have$been$performed$with$ the$same$content$based$on$[Lederer2012]$ •  The$content$has$been$encoded$with$x264$ •  14$different$bitrates$from$100kbps$to$ 4500kbps$ •  Segments$with$a$length$of$2$seconds$ –  Restricted$by$Microsor$Smooth$Streaming$ •  That$content$has$been$used$for$all$three$ scenarios$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 47$
  • 48. Microsor$Smooth$Streaming$ •  Client$based$on$Windows$7,$Microsor$ Silverlight$and$Firefox$7$ •  Server$based$on$Windows$Server$2008$and$IIS$ with$Media$Services$4.0$ •  Content$has$been$mul/plexed$with$IIS$ Transform$Manager$1.0$Beta$ •  PTS$has$been$taken$from$the$request$URL$ •  DTS$comes$from$the$bandwidth$emula/on$ node$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 48$
  • 50. Adobe$Dynamic$HTTP$Streaming$ •  Client$is$based$on$Ubuntu$11.04,$Firefox$7$and$ the$Open$Source$Media$Framework$player$ •  The$server$component$hosts$the$Flash$Media$ Server$in$development$edi/on$ •  The$content$has$been$generated$with$the$ Adobe$File$Packager$for$Adobe$Dynamic$ Streaming$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 50$
  • 52. Apple$HTTP$Live$Streaming$ •  Client$is$based$on$Mac$OS$X$Snow$Leopard$ 10.6$and$Safari$5$ •  Content$has$been$generated$with$Microsor$ Transform$Manager$ –  Transmul/plexing$of$mp4$to$MPEGB2$TS$ –  Chops$the$transport$stream$into$segments$of$2$ seconds$length$ •  The$only$system$that$uses$MPEGB2$TS$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 52$
  • 54. Our$MPEGBDASH$Implementa/on$ •  Client:$DASH$VLC$Plugin$[Mueller2011]$on$ Ubuntu$11.04$$ •  Server:$Ubuntu$11.04$which$hosts$an$Apache$ Web$server$ •  Content$based$on$DASH$dataset$generated$ with$DASHEncoder$ •  Simple$(naïve)$adapta/on$logic$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 54$
  • 56. MPEGBDASH$AVC$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 56$
  • 57. MPEGBDASH$SVC$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 57$
  • 58. Summary$ Name( Average(Bitrate( Average(Switches( Average(Unsmoothness( [kbps]( [Number(of(Switches]( [Seconds]( Microsor$ 1522$ 51$ 0$ Adobe$ 1239$ 97$ 64$ Apple$ 1162$ 7$ 0$ MPEGBDASH$ 1045$ 141$ 0$ Naïve*$ MPEGBDASH$ 1464$ 166$ 0$ Pipelined*$ MPEGBDASH$ 2341$ 81$ 0$ AVC**$ MPEGBDASH$ 2738$ 101$ 0$ SVC**$ *$…$MoVid/MMSys,$February$2012$ **$…$EUSIPCO,$August$2012$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 58$
  • 59. Conclusions$ •  Microsor$Smooth$Streaming$ –  Performs$very$well$w.r.t.$average$bitrate$ –  Yes,$deserves$the$name$smooth$streaming$ •  Apple$HLS$ –  Less$quality$switches$due$to$large$buffer$ –  Designed$for$mobile$devices,$energy$awareness$ •  Adobe$HDS$ –  Binary$decision$between$the$highest$and$the$lowest$representa/on$ –  Stalls,$reBbuffering$=>$low$QoE$$ •  Our$MPEGBDASH$implementa/on$ –  Achieves$a$good/superior$average$bitrate$ –  In$striking$distance$to$the$top,$space$for$improvements$though$(e.g.,$buffer$ management)$ •  Disclaimer:$comparison$of$specific$client$implementa/ons,$not$formats$ (manifest/segment),$not$technology$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 59$
  • 60. DASH$@$AAU/ITEC$ hZp://dash.itec.aau.at/$ $ DASH$VLC$Plugin$ $ DASHEncoder$ $ libdash$ $ Dataset$ $ DASHBJS$ $ Join$this$ac/vity,$everyone$ is$invited$–$get$involved$in$ and$exited$about$DASH!$ $ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 60$
  • 61. Acknowledgments$ •  EC$projects$for$par/ally$funding$this$ac/vity$ –  ALICANTE$project$(FP7BICTB248652)$ •  hZp://www.ictBalicante.eu$ –  SocialSensor$project$(FP7BICTB287975)$ •  hZp://www.socialsensor.org$ –  COST$ICT$Ac/on$IC1003$ •  QUALINET$–$European$Network$on$Quality$ of$Experience$in$Mul/media$Systems$and$Services$ •  hZp://www.qualinet.eu/$ •  DASH$Industry$Forum$ –  hZp://www.dashif.com$ •  Christopher$Müller:$VLC$Plugin,$libdash$ •  Stefan$Lederer:$DASHEncoder,$dataset,$DASHBJS$ •  Benjamin$Rainer:$DASHBJS$ •  Hermann$Hellwagner$for$his$advice$and$feedback$ •  ISO/IEC$MPEG$and$its$par/cipa/ng$members$for$their$construc/ve$ feedback$during$the$standardiza/on$process$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 61$
  • 62. References$ •  Christopher$Müller,$Daniele$Renzi,$Stefan$Lederer,$Stefano$Baàsta$and$Chris/an$Timmerer,$“Using$ Scalable$Video$Coding$for$Dynamic$Adap/ve$Streaming$Over$HTTP$in$Mobile$Environments”,$In$ Proceedings$of$the$20th$European$Signal$Processing$Conference$2012,$Bucharest,$Romania,$August$ 27B31,$2012.$ •  Benjamin$Rainer,$Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“A$Seamless$Web$ Integra/on$of$Adap/ve$HTTP$Streaming”,$In$Proceedings$of$the$20th$European$Signal$Processing$ Conference$2012,$Bucharest,$Romania,$August$27B31,$2012.$ •  Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“PeerBAssisted$Dynamic$Adap/ve$ Streaming$over$HTTP$–$System$Design$and$Evalua/on”,$In$Proceedings$of$the$IEEE$Interna/onal$ Packet$Video$Workshop$2012,$Munich,$Germany,$May$10B11,$2012.$ •  Christopher$Müller,$Stefan$Lederer$and$Chris/an$Timmerer,$“An$Evalua/on$of$Dynamic$Adap/ve$ Streaming$over$HTTP$in$Vehicular$Environments”,$In$Proceedings$of$the$4th$ACM$Workshop$on$ Mobile$Video,$Chapel$Hill,$North$Carolina,$February$24,$2012.$ •  Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“Dynamic$Adap/ve$Streaming$over$ HTTP$Dataset”,$In$Proceedings$of$the$ACM$Mul/media$Systems$Conference$2012,$Chapel$Hill,$North$ Carolina,$February$22B24,$2012.$ •  Christopher$Müller$and$Chris/an$Timmerer,$“A$VLC$Media$Player$Plugin$enabling$Dynamic$Adap/ve$ Streaming$over$HTTP”,$In$Proceedings$of$the$ACM$Mul/media$2011,$ScoZsdale,$Arizona,$November$ 28,$2011.$ •  Christopher$Müller$and$Chris/an$Timmerer,$“A$TestBBed$for$the$Dynamic$Adap/ve$Streaming$over$ HTTP$featuring$Session$Mobility”,$In$Proceedings$of$the$ACM$Mul/media$Systems$Conference$ 2011,$San$Jose,$California,$February$23B25,$2011.$ •  Chris/an$Timmerer$and$Christopher$Müller,$“HTTP$Streaming$of$MPEG$Media”,$In$Proceedings$of$ the$Streaming$Day$2010,$Udine,$Italy,$September$16B17,$2010.$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 62$
  • 63. IEEE$JSAC:$Adap/ve$Media$Streaming$ •  Guest$Editors$ –  Chris/an$Timmerer,$AlpenBAdriaB Universität$Klagenfurt,$Austria$ –  Ali$C.$Begen,$CISCO,$Canada$ –  Thomas$Stockhammer,$QUALCOMM,$ USA$ –  Carsten$Griwodz,$Simula$Research$ Laboratory,$Norway$ –  Bernd$Girod,$Stanford$University,$USA$ •  Important$Dates$ –  1st$Submission:$Apr$1,$2013$ –  Reviews$Available:$Jul$1,$2013$ –  2nd$Submission:$Aug$31,$2013$ –  Final$Acceptance$Decision:$Oct$31,$2013$ –  CameraBready:$Dec$1,$2013$ –  Publica/on:$2nd$quarter$2014$ hZp://mul/mediacommunica/on.blogspot.com/ 2012/07/jsacBspecialBissueBadap/veBmedia.html$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 63$
  • 64. Thank$you$for$your$aZen/on$ ...$ques/ons,$comments,$etc.$are$welcome$…$ $ $ $Ass.BProf.$Dipl.BIng.$Dr.$Chris/an$Timmerer$ Klagenfurt$University,$Department$of$Informa/on$Technology$(ITEC)$ Universitätsstrasse$65B67,$AB9020$Klagenfurt,$AUSTRIA$ chris/an./mmerer@itec.uniBklu.ac.at$ hZp://research./mmerer.com/$ Tel:$+43/463/2700$3621$Fax:$+43/463/2700$3699$ ©'Copyright:'Chris#an'Timmerer' Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 64$
  • 65. A Comparison of Quality Scheduling in Commercial Adaptive HTTP Streaming Solutions on a 3G Network Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad, Pål Halvorsen, Carsten Griwodz
  • 66. Fluctuating Bandwidth Problem University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 67. Fluctuating Bandwidth Problem Ferry Subway Question: How well do adaptive streaming media solutions adapt? Bus Tram University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 68. Adaptive Delivery: Tested Systems !  Adobe Strobe Media Playback (v1.6.328 for Flash 10.1) using HTTP Dynamic Streaming Format !  Apple’s native iPad player (iOS v4.3.3) using native HLS format !  Microsoft Silverlight/IIS Smooth (v4.0.60531.0 on Win7) using native Smooth format and default desktop scheduler !  Netview Media Client (v2011-10-10) using Apple HLS format (worst case) and Netview 3G scheduler Server !  Apache v2.2.14 !  CodeShop Unified Streaming Platform v1.4.25 !  Throttling module for trace-based bandwidth limitation, 1sec resolution University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 69. Adaptive Delivery: Test Content !  Video: Norwegian football game (i.e. soccer) !  H.264/AVC Why is the bandwidth !  2 second segments increase non-linear? Bitrate increase Akamai recommendations provides dimishing !  6 quality levels: 250, 500, 750, 1000, 1500, 3000 kbps return on visual quality increase. The just noticable difference is not achieved at 250 kbps steps. University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 70. Comparison of Existing Quality Schedulers Bus: Configured for desktops Ferry: Configured for mobiles University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 71. Comparison of Existing Quality Schedulers Metro: For the Netview algorithm see: “Video Streaming Using a Location-based Bandwidth-Lookup Service for Bitrate Planning”, Haakon Riiser, Tore Endestad, Paul Vigmostad, Carsten Griwodz, Pål Halvorsen, TOMCCAP, July 2012 University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 72. Conclusion Difference between players’ quality scheduler dominates the overhead Adobe: maximizes aggressiveness at the expense of stability Apple: maximize stability at the expense of aggressiveness Microsoft Silverlight: good compromise Netview: similar to Microsoft, outperforms in this configuration !  Many people commute using the same route !  Many mobile devices have GPS receivers !  What about crowdsourcing the throughput on the commute paths at various times of day? University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 73. A Comparison of Quality Scheduling in Commercial Adaptive HTTP Streaming Solutions on a 3G Network Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad, Pål Halvorsen, Carsten Griwodz
  • 74. Prediction Metro: Location-based bandwidth-lookup service for bitrate (video quality) planning: Algorithm: !  Calculate the predicted amount of data that historically can be downloaded !  Calculate maximum steady quality without getting buffer-underruns !  Safety: reactive algorithm fallback University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 75. Prediction: Metro Metro: From: “Video Streaming Using a Location-based Bandwidth-Lookup Service for Bitrate Planning”, Haakon Riiser, Tore Endestad, Paul Vigmostad, Carsten Griwodz, Pål Halvorsen, TOMCCAP, July 2012 University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 76. Quality-of-Experience Considerations with Relevance for Adaptive HTTP Streaming Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn, Pål Halvorsen, Carsten Griwodz
  • 77. Adaptive Delivery: Test Content !  Video: Norwegian football game (i.e. soccer) !  H.264/AVC !  2 second segments Question: What is “good” adaptation? Akamai recommendations !  6 quality levels: 250, 500, 750, 1000, 1500, 3000 kbps University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 78. Why visual quality studies? UDP-based streaming DASH & similar   resists packets loss –  scales to available bandwidth   random loss –  congestion loss Applications Applications –  Commercial VoD: Netflix,   IPTV Akamai, Microsoft, Apple,   DVD-H Comoyo, ...   video conferencing –  MPEG DASH   classical RTSP/RTP servers –  Free VoD: Youtube, Metacafe, Dailymotion, Vimeo, Revver, Flixya ... Internet Client WLAN Server University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 79. Why visual quality studies? UDP-based streaming DASH & similar Resilience to packet loss Resilience to buffer underruns Possibly resilience to bit errors Active adaptation (client- side decision) Possibly active adaptation (server-side decision) Internet Client WLAN Server University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 80. PSNR Peak Signal-to-Noise Ratio A prevalent video quality metric (2B − 1)2 PSNR = 10log10 MSE where: 1 M N MSE = ∑∑ [Ima (x, y) − Imb (x, y)]2 MN y =1 x =1 M, N = image dimensions Ima , Imb = pictures to compare B= bit depth University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 81. User experience: reduced PSNR University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 82. PSNR Reference Example from Prof. Touradj Ebrahimi, ACM MM'09 keynote PSNR = 24.9 dB PSNR = 24.9 dB PSNR = 24.9 dB University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 83. PSNR Peak Signal-to-Noise Ratio A prevalent video quality metric In addition to this: •  several different PSNR computations for color images •  different PSNR for different color spaces (RGB,YUV) •  visible influence of the encoding format These problems hurts all metrics that are based on PSNR Improved by image quality metrics such as •  SSIM variants •  rate distortion metrics University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 84. Conclusion You encounter Quality-of-Experience measurements based on PSNR everywhere in the literature. •  it is very easy to compute •  it is probably working to assess the quality of images with bit errors Be very careful when you encounter 1.  PSNR-based objective metrics 2.  adaptation mechanisms whose effectiveness is proven by PSNR !  It’s easy to complain. !  But how to do better? University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 85. QoE Effects of Changing Layers in Adaptive HTTP Streaming Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn, Pål Halvorsen, Carsten Griwodz, Michael Zink
  • 86. Image-based metrics can fail badly: Flickering University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 87. Layered content Used SPEG as layer encoded video format [avail. from C. Krasic, UBC] shape 1 shape 2 layers layers A frames frames amplitude of layer variation layers layers B frames frames frequency of layer variation University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 88. Layered content Comparing PSNR with layer change counting: S(v) = − v i+1 ∑v i These observations discredit v i ∈v PSNR, where v is the vector of frames and vi is the number of layers of a but they don’t provide a real alternative. frame These observations indicate that frequentE change Shape € A B C D F G is problematic. PSNR of shape 1 62.86 61.46 63.15 48.01 49.40 66.02 29.84 PSNR of SPEG 2 outdated. 73.28 52.38 25.08 26.95 63.28 64.30 But shape is 49.47 SPEG scaling decisions were based on intuition. S(v)Adaptive1HTTP Streaming today is based 2 H.264. of shape 2 6 2 2 on 0.5 0 S(v) of shape 2 2 4 1 0 0 0.5 2 Subjective assessment 0.35 0.55 0.73 1.18 1.02 2.18 -0.24 University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 89. Layer fluctuation in scalable video streaming University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 90. We need guidelines for video adaptation strategies To cope with the bandwidth fluctuation, which scalability dimension is generally preferable for video adaptation? Within each dimension, which scaling pattern generates the least annoying flicker effect? Is it possible to control the annoyance of flicker effects? How is subjective video quality related to other factors, such as content, devices? University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 91. We investigate visual artifact issues via several subjective tests Previous Findings   Human perception of video quality are content and context dependent   There is no general preference order of scaling dimensions   High frequency may cause flicker effect that is regarded as worse than constant low image quality   In mobile scenario, a frame rate above 12 fps does not cause noticeable visual artifacts   In HDTV scenario, a frame rate of 12 fps does generate noticeable motion jerkiness Challenges of subjective tests:   Efficient and reliable experimental design that avoids fatigue and learning effect University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 92. Flickering effects: the visual artifacts caused by layer fluctuation in scalable video Flicker arises from recurrent changes in spatial or temporal quality, some so rapid that the human visual system only perceives fluctuations within the video. Noise flicker Blur flicker Motion flicker Compression scaling Resolution scaling Frame rate scaling University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 93. Blurriness flicker example Blur flicker Amplitude: 480x320px – 120x80px Frequency: 10f / 3 Hz University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 94. Noise flicker example Noise flicker Amplitude: QP24 – QP40 Frequency: 90f / 0.33 Hz University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 95. Motion flicker example Motion flicker Amplitude: 30fps – 3fps Frequency: 6f / 5 Hz University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 96. How to describe different layer fluctuations? Layer fluctuation pattern -  Frequency: The time interval it takes for a video sequence return to its previous status -  Amplitude: The quality difference between the two layers being switched -  Dimension: Spatial or temporal, artifact type Layer Frequency and Amplitude are the interesting factors in our subjective test University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 97. Layer fluctuation pattern in Spatial dimension Full bit stream, QH F =1/2, A = QH-QL F = 1/4 , A = QH-QL F = 1/6 , A = QH-QL F = 1/24 , A = QH-QL Sub stream QL Bandwidth consumption in all of the changing patterns is the same, due to the same amplitude. References QH and QL differ. University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 98. Layer fluctuation pattern in Temporal dimension Full bit stream, 30fps F =1/4, A = 30-15fps F = 1/8 , A = 30-15fps F = 1/12 , A = 30-15fps F = 1/24 , A = 30-15fps Sub stream 15fps Although the average bit-rate is the same, the visual experience of different patterns may not be identical. University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 99. Method Participants Procedure •  28 paid, voluntary participants •  Field study at university library •  9 females, 19 males •  Presented on iPod touch devices •  Age 19 – 41 years (mean 24) - Resolution 480x320 •  Self-reported normal hearing, - Frame rate 30 fps and normal/corrected vision •  12 sec video duration •  Random presentations •  Optional number of blocks University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 100. Stability scores - Period 100 % 100 % 100 % 90 % 90 % 90 % 80 % 80 % 80 % 70 % 70 % 70 % 60 % 60 % 60 % 50 % Unstable 50 % Unstable 50 % 40 % 40 % 40 % Stable Stable 30 % 30 % 30 % 20 % 20 % 20 % 10 % 10 % 10 % 0% 0% 0% HQ LQ HQ LQ 10f 30f 60f 90f 10f 30f 60f 90f 180f 180f 6f 6f HQ 30f 60f 90f 180f LQ Perceived quality stability Perceived quality stability Perceived quality stability across period levels for across period levels for across period levels for Noise flicker Blur flicker Motion flicker University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 101. Stability scores - Amplitude 100 % 100 % 100 % 90 % 90 % 90 % 80 % 80 % 80 % 70 % 70 % 70 % 60 % 60 % 60 % Unstable 50 % Unstable 50 % 50 % 40 % 40 % Stable Stable 40 % 30 % 30 % 30 % 20 % 20 % 20 % 10 % 10 % 10 % 0% 0% 240x160 120x80 0% QP28 QP32 QP36 QP40 px 15fps 10fps 5fps 3fps Perceived quality stability Perceived quality stability Perceived quality stability across amplitude levels for across amplitude levels for across amplitude levels for Noise flicker Blur flicker Motion flicker University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 102. Video quality 2 Constant high quality QP 28 QP 32 QP 36 references Mean Acceptance Score QP 40 1 Constant low quality 0 reference, QP28 −1 Not investigated here: relation between qualities −2 HQ 6f 10f 30f 60f 90f 180f LQ Period Noise L1 QP24 L0 QP28, QP32, QP36, QP40 Period 1/5s, 1/3s, 1s, 2s, 3s, 6s Content 4 mid/long distance shots From: “Flicker Effects in Adaptive Video Streaming to Handheld Devices”, Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn, Carsten Griwodz, Pål Halvorsen ACM Multimedia 2011 University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 103. Acceptance - Noise flicker 2 QP 28 QP 32 QP 36 Mean Acceptance Score QP 40 1 0 −1 −2 HQ 6f 10f 30f 60f 90f 180f LQ Period University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 104. Acceptance – Blur flicker 2 240x160 Mean Acceptance Score 120x80 1 0 −1 −2 HQ 6f 10f 30f 60f 90f 180f LQ Period University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 105. Acceptance – Motion flicker 2 15 fps 10 fps 5 fps Mean Acceptance Score 3 fps 1 0 −1 −2 HQ 30f 60f 90f 180f LQ Period University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 106. Conclusions With longer flicker frequencies (high periods), acceptance of video quality increases in the spatial dimension Amplitude (quality difference) has larger effect than frequency, both for stability and acceptance For noise flicker, large quality differences are rated more acceptable with less frequent quality shifts. For blur flicker, improved acceptance with less frequent shifts is more pronounced for the smallest quality difference. The flicker effect varies across contents, particularly for motion flicker. The three types of flicker have different influences on stability and quality acceptance scores. Scores are generally lower for blur flicker. University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 107. Network Behaviour of DASH Traffic Tomas Kupka, Pål Halvorsen, Carsten Griwodz
  • 108. Stream liveness !  The time it takes for an event to appear on the screen Liveness = 0s playout University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 109. Live traffic pattern Segmented live stream Limiting factors: Download synchronization -  Server speed -  Client speed Connection is idle -  Client buffer size -  Segment availability bandwidth time 2s 2s University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 110. VoD traffic pattern Segmented video file Limiting factors: -  Server speed -  Client speed -  Client buffer size •  not in real systems bandwidth •  buffer size is limited •  behaviour like live etc. when buffer is full time University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 111. Transporting DASH 1. Does the request synchronization lead to problem? 2. Can we reduce such problem? Experiments with ns-2 Clients •  20 min. stream •  6 bitrates (250 to 3000 kb/s) •  2 sec. segments •  TCP CC CUBIC Bottleneck link 100 mb/s Web server University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 112. Evaluated modifications TCP congestion control alternatives TCP’s behave differently for short On traffic NewReno CUBIC CWND CWND time time University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 113. TCP congestion control alternatives Liveness Router queue drops University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 114. TCP congestion control alternatives packet losses CUBIC Vegas longer router queue TCP Vegas shares the network much better than TCP CUBIC Unfortunately, TCP Vegas looses to all other TCPs in sharing University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 115. TCP congestion control alternatives lowest quality highest quality left: Cubic, right: Vegas" Vegas delivers better liveness Cubic delivers higher quality University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 116. Evaluated modifications Increasing segment length: give TCP more time vs. 2 second segments 10 second segments University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 117. 2 second vs. 10 second segments lowest quality highest quality TCPTCP gets out of slowstart CWND for 2 sec. segments Quality not better for longer segments high Quality low University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 118. Evaluated modifications Request distribution: avoid request synchronization R1 R2 R1 R2 R3 R3 vs. S1 available S1 available University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 119. Client request distribution Client A: S1 S2 S3 time Client B: S1 S2 S3 time University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 120. Client request distribution Synchronous requests Distributed requests University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 121. Client request distribution lowest quality highest quality Distribution of the number of segments of different quality left: Sychronized, right: Distributed" University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 122. Evaluated modifications CWND limit: restrict CWND to the max. bitrate available CWND time University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 123. Client request distribution Liveness Router queue drops University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 124. CWND limitation Liveness Router queue drops University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 125. Conclusion TCP CC alternatives: TCP Vegas is good, but not practical Segment duration: No evidence of longer segments being better (network view) Client request distribution leads to good quality and liveness CWDN limitation leads to better fairness University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 126. DASH Tutorial: Summary Introduction to MPEG DASH DASH tools Examples of DASH (and DASH-like) systems’ performance QoE considerations Interaction of DASH and TCP University of Oslo DASH Tutorial, ACM Multimedia 2012