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
April 25, 2018
Technology
8
7k
Fragmented MP4のおはなし
Streaming Conference #2で発表したスライドです。
https://streaming-lab.connpass.com/event/79586/
Shumpei Urabe
April 25, 2018
Tweet
Share
More Decks by Shumpei Urabe
See All by Shumpei Urabe
AIを活用した放送技術スタートアップの制作現場改革について
yaminoma
0
14k
動画配信技術について
yaminoma
1
1.3k
Multimedia Security Topics
yaminoma
0
2.1k
コロナ禍でのライブストリーミングの変化とテレビ放送の規格について
yaminoma
0
950
今日から分かる Android Audioの全て
yaminoma
0
400
Apple Low-Latency HLSを使った 超低遅延配信について
yaminoma
3
4.7k
今日から分かる AVAudioEngineの全て
yaminoma
4
5.8k
Cross Platform Video Player
yaminoma
0
430
PHPとRustを組み合わせて音声ファイルをエンコードする話
yaminoma
0
3.3k
Other Decks in Technology
See All in Technology
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
1
600
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
130
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
Amazon Aurora のバージョンアップ手法について
smt7174
2
180
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
320
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
290
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.4k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
170
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
540
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
200
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
110
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Gamification - CAS2011
davidbonilla
80
5.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Building Adaptive Systems
keathley
40
2.4k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
520
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
51k
Raft: Consensus for Rubyists
vanstee
137
6.8k
A Tale of Four Properties
chriscoyier
158
23k
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ΑΓ
͓͠·͍