Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Fragmented MP4のおはなし
Search
Shumpei Urabe
PRO
April 25, 2018
Technology
8
6.5k
Fragmented MP4のおはなし
Streaming Conference #2で発表したスライドです。
https://streaming-lab.connpass.com/event/79586/
Shumpei Urabe
PRO
April 25, 2018
Tweet
Share
More Decks by Shumpei Urabe
See All by Shumpei Urabe
AIを活用した放送技術スタートアップの制作現場改革について
yaminoma
PRO
0
11k
動画配信技術について
yaminoma
PRO
1
920
Multimedia Security Topics
yaminoma
PRO
0
1.6k
コロナ禍でのライブストリーミングの変化とテレビ放送の規格について
yaminoma
PRO
0
840
今日から分かる Android Audioの全て
yaminoma
PRO
0
320
Apple Low-Latency HLSを使った 超低遅延配信について
yaminoma
PRO
3
3.8k
今日から分かる AVAudioEngineの全て
yaminoma
PRO
4
5.1k
Cross Platform Video Player
yaminoma
PRO
0
370
PHPとRustを組み合わせて音声ファイルをエンコードする話
yaminoma
PRO
0
2.7k
Other Decks in Technology
See All in Technology
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
0
120
NgRx Signal Store
rainerhahnekamp
0
150
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
390
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
190
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
110
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
410
反実仮想機械学習とは何か
usaito
PRO
11
4.3k
アクセス制御にまつわる改善 / Improving access control
itkq
0
530
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
120
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
VS CodeでAWSを操作しよう
smt7174
7
1.6k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
What's new in Ruby 2.0
geeforr
337
31k
Music & Morning Musume
bryan
41
5.6k
The Mythical Team-Month
searls
216
42k
Designing for Performance
lara
601
67k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
Code Review Best Practice
trishagee
55
15k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
We Have a Design System, Now What?
morganepeng
43
6.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
14
1.6k
Transcript
'SBHNFOUFE.1ͷ͓ͳ͠ 4USFBNJOH$POGFSFODF 1SFTFOUFECZ!NFUFPS@TBBO
ࣗݾհ w ϝςΦ !NFUFPS@TBBO w ԬʹॅΜͰ͍Δେֶੜ w ઐࣗવݴޠॲཧ w
࠷ۙͷझຯ6%1ͷύέοτଛࣦ࣌ͷϦΧόʔʹؔ͢Δݚڀ w ࣾͰϥΠϒ৴ج൫ͷߏஙʹؔΘ͍ͬͯͨ
-JWF4USFBNJOH'PSNBU
-JWF4USFBNJOH'PSNBU w 35.1 w 435 w )551-JWF4USFBNJOH w .1&(%"4) w
8FC35$
-JWF4USFBNJOH'PSNBU w 35.1 w 435 w )551-JWF4USFBNJOH w .1&(%"4) w
8FC35$
)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
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
IMTKT͕ͻͨ͢Βॏ͍
IMTKT w )-4جຊతʹ4BGBSJͳͲɺݶΒΕͨϒϥβͰ͔͠࠶ੜग़དྷͳ͍ɻ w ͦͷͨΊɺඇରԠϒϥβΛαϙʔτ͢ΔͨΊʹIMTKTͱݺΕΔ +BWB4DSJQUͷϥΠϒϥϦΛ͏ඞཁ͕͋Δɻ w ΄͔ʹWJEFPKTDPOUSJCIMTͳͲ͋Δ͕ɺݱࡏओྲྀͳͷIMTKTɻ
UTEFNVYFSKT w NVΛऔಘ w 54ϑΝΠϧΛऔಘ w 54ϑΝΠϧ͔Βө૾ͱԻΛऔΓग़͢ w औΓग़ͨ͠σʔλΛ*40#.''ʹม͢Δ w
.FEJB4PVSDF&YUFOTJPOΛͬͯ࠶ੜ͢Δ
UTEFNVYFSKT w NVΛऔಘ w 54ϑΝΠϧΛऔಘ w 54ϑΝΠϧ͔Βө૾ͱԻΛऔΓग़͢ w औΓग़ͨ͠σʔλΛ*40#.''ʹม͢Δ w
.FEJB4PVSDF&YUFOTJPOΛͬͯ࠶ੜ͢Δ
UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ
UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ϓϩάϥϜΛऔಘ
UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ө૾Իͷ1*%Λऔಘ
UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ө૾Λநग़
UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ /"-ϢχοτͷใΛऔಘ
UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ԻΛநग़
UTEFNVYFSKT .1&(54 1"5 1.5 7JEFP%BUB "VEJP%BUB 7JEFP%BUB "VEJP%BUB ŋŋŋ ϔομʔใΛऔಘ
UTEFNVYFSKT .1 *40#.'' 7JEFP%BUB "VEJP%BUB GUZQ NPPW NWIE USBL NEBU
7JEFP%BUB 3FNVYJOH NQSFNVYFSKT
UTEFNVYFSKT
'SBHNFOUFE.1
'SBHNFOUFE.1 w *40ʹنఆ w #PYͱ͍͏୯ҐͰ֤छͷใ͕͔Εͯ֨ೲ͞Ε͍ͯΔ w ݱࡏ)-4ͱ.1&(%"4)ͷ྆ํͰαϙʔτ͞Ε͍ͯΔ
'SBHNFOUFE.1 w GUZQGJMFUZQF w NPPWIFBEFSEBUB w NEBUBVEJPWJEFPEBUB GUZQ NPPW NWIE
USBL NEBU 7JEFP%BUB ௨ৗͷ.1 ϑΝΠϧ IPHFNQ
'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
'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
'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>
'SBHNFOUFE.1 )-4ͱ.1&(%"4)ͷڞ௨Խ IUUQTCMPHTBLBNBJDPNKQDNBGDNBGMPXMBMBUFODZMJWFIUNMΑΓ
.FEJB4PVSDF&YUFOTJPOT w )551μϯϩʔυΛར༻ͯ͠ετϦʔϛϯά࠶ੜΛߦ͏ͨΊʹ8$ʹΑͬ ͯඪ४Խ͞Ε͍ͯΔ+BWB4DSJQUͷ"1* w ॳظԽʹඞཁͳϔομใؚ͕·Ε͍ͯΔॳظԽηάϝϯτͱ͍࣌ؒͰ ۠ΒΕͨϝσΟΞσʔλຊମؚ͕·ΕΔϝσΟΞηάϝϯτ͕ඞཁ w ͭ·Γɺ'SBHNFOUFE.1શͯຬ͍ͨͯ͠ΔͨΊɺͦͷ··࠶ੜ͢Δ ͜ͱ͕ग़དྷΔ
.FEJB4PVSDF&YUFOTJPOT w +BWB4DSJQUͷϥΠϒϥϦEBTIKTIMTKTΛ͏͜ͱʹΑΓɺࣗલͰ࣮ͤ ͣʹͦͷ··࠶ੜ͢Δ͜ͱ͕ग़དྷΔɻ 'SBHNFOUFE.1 GUZQ NPPW NWIE USBL NEBU
NPPG NGIE USBG 7JEFP%BUB .FEJB4PVSDF&YUFOTJPOͰ࠶ੜ EBTIKTIMTKT
$."'
$PNNPO.FEJB"QQMJDBUJPO'PSNBU w *40*&$ w ϚχϑΣετϑΝΠϧࢦఆ͞Ε͍ͯͳ͍ͨΊɺطଘͷNV )-4 .1% %"4) ͕ͦͷ··͏͜ͱ͕ग़དྷΔ
w ϝσΟΞϑΥʔϚοτʹ*40#.'' 'SBHNFOUFE.1 Λ͏͜ͱ͕ఆٛ ͞Ε͍ͯΔ
$PNNPO.FEJB"QQMJDBUJPO'PSNBU w $."'Ͱ)551ͷ$IVOLFE5SBOTGFS&ODPEJOHΛ͏ w ηάϝϯτϑΝΠϧ͕Τϯίʔμ͔Βશͯૹ৴͞ΕΔલʹɺνϟϯΫΛΫ ϥΠΞϯτଆͰ࠶ੜ͢Δ
$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
$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
͓·͚ IUUQTHJUIVCDPN%BTI*OEVTUSZ'PSVNEBTIKTQVMMΑΓ
͓͠·͍