Fragmented MP4のおはなし

Fragmented MP4のおはなし

Streaming Conference #2で発表したスライドです。
https://streaming-lab.connpass.com/event/79586/

Cb4d62dd7c1d325863696c45e9b6484d?s=128

Shumpei Urabe

April 25, 2018
Tweet

Transcript

  1. 'SBHNFOUFE.1ͷ͓͸ͳ͠ 4USFBNJOH$POGFSFODF 1SFTFOUFECZ!NFUFPS@TBBO

  2. ࣗݾ঺հ w ϝςΦ !NFUFPS@TBBO  w ෱ԬʹॅΜͰ͍Δେֶ೥ੜ w ઐ໳͸ࣗવݴޠॲཧ w

    ࠷ۙͷझຯ͸6%1ͷύέοτଛࣦ࣌ͷϦΧόʔʹؔ͢Δݚڀ w ๭ࣾͰϥΠϒ഑৴ج൫ͷߏஙʹؔΘ͍ͬͯͨ
  3. -JWF4USFBNJOH'PSNBU

  4. -JWF4USFBNJOH'PSNBU w 35.1 w 435 w )551-JWF4USFBNJOH w .1&(%"4) w

    8FC35$
  5. -JWF4USFBNJOH'PSNBU w 35.1 w 435 w )551-JWF4USFBNJOH w .1&(%"4) w

    8FC35$
  6. )551-JWF4USFBNJOH w "QQMF͕։ൃɻ w 3'$ͱͯ͠ඪ४Խɻ w NVϓϨΠϦετΛ࢖ͬͯ഑৴ɻ w .1&(54'SBHNFOUFE.1 .BTUFS1MBZMJTU

    .FEJB1MBZMJTU 4FHNFOU 4FHNFOU .FEJB1MBZMJTU 4FHNFOU 4FHNFOU .FEJB1MBZMJTU MJTUNV QNV UT UT QNV UT UT QNV
  7. w .1&(-"͕։ൃɻ w *40*&$ͱͯ͠ඪ४Խɻ w 9.-Ͱॻ͔Εͨ.1%ϑΝΠϧΛ࢖͏ɻ w 'SBHNFOUFE.1 .1&(54 .1&(%"4)

    %ZOBNJD"EBQUJWF4USFBNJOHPWFS)551 .BOJGFTU *OJUJBM4FHNFOU 4FHNFOU 4FHNFOU .BOJGFTU 4FHNFOU 4FHNFOU .BOJGFTU MJTUNQE JOJUNT NT NT MJTUNQE NT NT MJTUNQE
  8. IMTKT͕ͻͨ͢Βॏ͍໰୊

  9. IMTKT w )-4͸جຊతʹ4BGBSJͳͲɺݶΒΕͨϒϥ΢βͰ͔͠࠶ੜग़དྷͳ͍ɻ w ͦͷͨΊɺඇରԠϒϥ΢βΛαϙʔτ͢ΔͨΊʹ͸IMTKTͱݺ͹ΕΔ +BWB4DSJQUͷϥΠϒϥϦΛ࢖͏ඞཁ͕͋Δɻ w ΄͔ʹ΋WJEFPKTDPOUSJCIMTͳͲ΋͋Δ͕ɺݱࡏओྲྀͳͷ͸IMTKTɻ

  10. UTEFNVYFSKT w NVΛऔಘ w 54ϑΝΠϧΛऔಘ w 54ϑΝΠϧ͔Βө૾ͱԻ੠ΛऔΓग़͢ w औΓग़ͨ͠σʔλΛ*40#.''ʹม׵͢Δ w

    .FEJB4PVSDF&YUFOTJPOΛ࢖ͬͯ࠶ੜ͢Δ
  11. UTEFNVYFSKT w NVΛऔಘ w 54ϑΝΠϧΛऔಘ w 54ϑΝΠϧ͔Βө૾ͱԻ੠ΛऔΓग़͢ w औΓग़ͨ͠σʔλΛ*40#.''ʹม׵͢Δ w

    .FEJB4PVSDF&YUFOTJPOΛ࢖ͬͯ࠶ੜ͢Δ
  12. UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ

  13. UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ϓϩάϥϜΛऔಘ

  14. UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ө૾΍Ի੠ͷ1*%Λऔಘ

  15. UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ө૾Λநग़

  16. UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ /"-Ϣχοτͷ৘ใΛऔಘ

  17. UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ Ի੠Λநग़

  18. UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ϔομʔ৘ใΛऔಘ

  19. UTEFNVYFSKT .1 *40#.'' 7JEFP%BUB "VEJP%BUB GUZQ NPPW NWIE USBL NEBU

    7JEFP%BUB 3FNVYJOH NQSFNVYFSKT
  20. UTEFNVYFSKT

  21. 'SBHNFOUFE.1

  22. 'SBHNFOUFE.1 w *40ʹنఆ w #PYͱ͍͏୯ҐͰ֤छͷ৘ใ͕෼͔Εͯ֨ೲ͞Ε͍ͯΔ w ݱࡏ)-4ͱ.1&(%"4)ͷ྆ํͰαϙʔτ͞Ε͍ͯΔ

  23. 'SBHNFOUFE.1 w GUZQGJMFUZQF w NPPWIFBEFSEBUB w NEBUBVEJPWJEFPEBUB GUZQ NPPW NWIE

    USBL NEBU 7JEFP%BUB ௨ৗͷ.1 ϑΝΠϧ IPHFNQ
  24. 'SBHNFOUFE.1 w GUZQGJMFUZQF w TJEYJOEFYPGNPPG NEBU w NPPGIFBEFSEBUB w NEBUBVEJPWJEFPEBUB

    GUZQ NPPW NWIE USBL NEBU NPPG NGIE USBG 7JEFP%BUB 'SBHNFOUFE.1 ॳظԽηάϝϯτ JOJUNT ηάϝϯτϑΝΠϧ NT
  25. 'SBHNFOUFE.1 w )-4ͷ৔߹ɺ&9597&34*0/͔ Βαϙʔτ͞Ε͍ͯΔ J04Ҏ্  w &959."1ͰॳظԽηάϝϯτΛ ࢦఆ͢Δ͚ͩ w

    .1&(54ͷͱ͖ͱϑΥʔϚοτ͸ ͋·ΓมΘΒͳ͍ #EXTM3U #EXT-X-VERSION:4 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-MAP:URI=“init.mp4" #EXTINF 10.001 segment1.mp4 #EXTINF 10.001 segment2.mp4
  26. 'SBHNFOUFE.1 w .1&(%"4)ͷ৔߹͸ݩʑαϙʔτ ͞Ε͍ͯΔ w *OJUJBMJ[BUJPO4PVSDF63-ʹॳظԽη άϝϯτΛࢦఆ͠ɺ4FHNFOU63-ʹ அยϑΝΠϧΛࢦఆ͢Δ͚ͩ <?xml version="1.0"?>

    <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500S" type="static" mediaPresentationDuration="PT0H9M56.466S" maxSegmentDuration="PT0H0M4.000S" profiles="urn:mpeg:dash:profile:full:2011"> <ProgramInformation moreInformationURL="http:// gpac.sourceforge.net"> <Title>./output.mpd</Title> </ProgramInformation> <Period duration="PT0H9M56.466S"> <AdaptationSet segmentAlignment="true" maxWidth="320" maxHeight="180" maxFrameRate="30" par="16:9" lang="und"> <ContentComponent id="1" contentType="video" /> <ContentComponent id="2" contentType="audio" /> <Representation id="1" mimeType="video/mp4" codecs="avc3.640014,mp4a.40.2" width="320" height="180" frameRate="30" sar="1:1" audioSamplingRate="48000" startWithSAP="1" bandwidth="631708"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash: 23003:3:audio_channel_configuration:2011" value="2"/> <SegmentList timescale="1000" duration="4000"> <Initialization sourceURL=“init.mp4”/> <SegmentURL media=“segment1.m4s”/> <SegmentURL media=“segment2.m4s”/> </SegmentList> </Representation> </AdaptationSet> </Period> </MPD>
  27. 'SBHNFOUFE.1 )-4ͱ.1&(%"4)ͷڞ௨Խ IUUQTCMPHTBLBNBJDPNKQDNBGDNBGMPXMBMBUFODZMJWFIUNMΑΓ

  28. .FEJB4PVSDF&YUFOTJPOT w )551μ΢ϯϩʔυΛར༻ͯ͠ετϦʔϛϯά࠶ੜΛߦ͏ͨΊʹ8$ʹΑͬ ͯඪ४Խ͞Ε͍ͯΔ+BWB4DSJQUͷ"1* w ॳظԽʹඞཁͳϔομ৘ใؚ͕·Ε͍ͯΔॳظԽηάϝϯτͱ୹͍࣌ؒͰ ۠੾ΒΕͨϝσΟΞσʔλຊମؚ͕·ΕΔϝσΟΞηάϝϯτ͕ඞཁ w ͭ·Γɺ'SBHNFOUFE.1͸શͯຬ͍ͨͯ͠ΔͨΊɺͦͷ··࠶ੜ͢Δ ͜ͱ͕ग़དྷΔ

  29. .FEJB4PVSDF&YUFOTJPOT w +BWB4DSJQUͷϥΠϒϥϦEBTIKT΍IMTKTΛ࢖͏͜ͱʹΑΓɺࣗલͰ࣮૷ͤ ͣʹͦͷ··࠶ੜ͢Δ͜ͱ͕ग़དྷΔɻ 'SBHNFOUFE.1 GUZQ NPPW NWIE USBL NEBU

    NPPG NGIE USBG 7JEFP%BUB .FEJB4PVSDF&YUFOTJPOͰ௚઀࠶ੜ EBTIKTIMTKT
  30. $."'

  31. $PNNPO.FEJB"QQMJDBUJPO'PSNBU w *40*&$ w ϚχϑΣετϑΝΠϧ͸ࢦఆ͞Ε͍ͯͳ͍ͨΊɺطଘͷNV )-4 ΍ .1% %"4) ͕ͦͷ··࢖͏͜ͱ͕ग़དྷΔ

    w ϝσΟΞϑΥʔϚοτʹ*40#.'' 'SBHNFOUFE.1 Λ࢖͏͜ͱ͕ఆٛ ͞Ε͍ͯΔ
  32. $PNNPO.FEJB"QQMJDBUJPO'PSNBU w $."'Ͱ͸)551ͷ$IVOLFE5SBOTGFS&ODPEJOHΛ࢖͏ w ηάϝϯτϑΝΠϧ͕Τϯίʔμ͔Βશͯૹ৴͞ΕΔલʹɺνϟϯΫΛΫ ϥΠΞϯτଆͰ࠶ੜ͢Δ

  33. $PNNPO.FEJB"QQMJDBUJPO'PSNBU w $."'Ͱ͸)551ͷ$IVOLFE5SBOTGFS &ODPEJOHΛ࢖͏ w ηάϝϯτϑΝΠϧΛߋʹ෼ׂͨ͠΋ͷΛνϟ ϯΫͱݺͿ w ηάϝϯτϑΝΠϧ͕Τϯίʔμ͔Βશͯૹ ৴͞ΕΔલʹɺνϟϯΫΛΫϥΠΞϯτଆͰ

    ࠶ੜ͢Δ NEBU NPPG NGIE USBG 7JEFP%BUB 'SBHNFOUFE.1 ηάϝϯτϑΝΠϧ NT νϟϯΫ NTͷҰ෦ NEBU NPPG NGIE USBG 7JEFP NEBU NPPG NGIE USBG 7JEFP NEBU NPPG NGIE USBG 7JEFP
  34. $PNNPO.FEJB"QQMJDBUJPO'PSNBU w νϟϯΫͷେ͖͞͸ࣗ༝ͳͷͰɺΑΓ௿஗ԆΛ࣮ ݱ͍ͨ͠ͳΒখ͍͞αΠζͰ۠੾Δ͜ͱ΋Մೳ w νϟϯΫΛ࠶ੜ͢Δʹ͸ɺηάϝϯτͷμ΢ϯϩʔ υ͕׬ྃ͢Δલʹ$IVOLFE5SBOTGFSͰड͚औͬ ͨσʔλΛ࠶ੜόοϑΝʹඇಉظͰ௥Ճ͢Δඞཁ ͕͋Δ w

    ͦͷͨΊɺ࣮ࡍʹ࠶ੜग़དྷΔϓϨΠϠʔ͕গͳ͍ NEBU NPPG NGIE USBG 7JEFP%BUB 'SBHNFOUFE.1 ηάϝϯτϑΝΠϧ NT νϟϯΫ NTͷҰ෦ NEBU NPPG NGIE USBG 7JEFP NEBU NPPG NGIE USBG 7JEFP NEBU NPPG NGIE USBG 7JEFP
  35. ͓·͚ IUUQTHJUIVCDPN%BTI*OEVTUSZ'PSVNEBTIKTQVMMΑΓ

  36. ͓͠·͍