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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shumpei Urabe
April 25, 2018
Technology
7.3k
8
Share
Fragmented MP4のおはなし
Streaming Conference #2で発表したスライドです。
https://streaming-lab.connpass.com/event/79586/
Shumpei Urabe
April 25, 2018
More Decks by Shumpei Urabe
See All by Shumpei Urabe
AIを活用した放送技術スタートアップの制作現場改革について
yaminoma
0
15k
動画配信技術について
yaminoma
2
1.7k
Multimedia Security Topics
yaminoma
0
2.5k
コロナ禍でのライブストリーミングの変化とテレビ放送の規格について
yaminoma
0
1.1k
今日から分かる Android Audioの全て
yaminoma
0
490
Apple Low-Latency HLSを使った 超低遅延配信について
yaminoma
4
5.2k
今日から分かる AVAudioEngineの全て
yaminoma
4
6.3k
Cross Platform Video Player
yaminoma
0
550
PHPとRustを組み合わせて音声ファイルをエンコードする話
yaminoma
0
3.8k
Other Decks in Technology
See All in Technology
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
170
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
120
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
270
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
210
Zephyr(RTOS)でARMとRISC-Vのコア間通信をしてみた
iotengineer22
0
120
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
180
Why we keep our community?
kawaguti
PRO
0
360
FlutterでPiP再生を実装した話
s9a17
0
240
Babylon.js Japan Activities (2026/4)
limes2018
0
130
AI時代のIssue駆動開発のススメ
moongift
PRO
0
330
AI時代のシステム開発者の仕事_20260328
sengtor
0
320
Featured
See All Featured
Leo the Paperboy
mayatellez
6
1.6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
How to Talk to Developers About Accessibility
jct
2
170
Utilizing Notion as your number one productivity tool
mfonobong
4
280
30 Presentation Tips
portentint
PRO
1
270
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Marketing to machines
jonoalderson
1
5.1k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
500
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ΑΓ
͓͠·͍