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
ATEMを活用した制作ソリューション
Search
Yusei Yamanaka
August 12, 2016
Technology
0
1.3k
ATEMを活用した制作ソリューション
Blackmagic Creators Show 特別編「ディベロッパーセミナー」
http://www.blackmagicdesign-creatorscom.jp/index.php?ka=7
Yusei Yamanaka
August 12, 2016
Tweet
Share
More Decks by Yusei Yamanaka
See All by Yusei Yamanaka
生配信管理システムのバックエンド〜AWS AppSyncで迅速に構築するGraphQLサービス〜 / Backend of live streaming management system - GraphQL service to build quickly with AWS AppSync
miyukki
0
1.1k
"新しい未来のテレビ"を目指すABEMA配信システムの再設計 / Re-architecture of ABEMA live ingest system
miyukki
0
2.3k
3周年に突入するAbemaTVの挑戦と苦悩 / The challenge and anguish of AbemaTV celebrating the third anniversary
miyukki
8
4.6k
AbemaTVのアーキテクチャの変遷 / The history of AbemaTV's architecture
miyukki
3
1.4k
機材管理ツールをFirebaseで構築しようとした話 / Building equipment management software with Firebase
miyukki
7
4.3k
AbemaTVで働くエンジニアの裏側 / The engineer working at AbemaTV
miyukki
0
810
動画配信サービスとしてこの先生きのこるには / The way to continue as a video streaming service
miyukki
8
3.8k
MPEG-DASHによるリニア型配信 / Linear broadcasting by MPEG-DASH on AbemaTV
miyukki
6
13k
1周年を迎えたAbemaTVの動画配信の裏側 / The background of video distribution in AbemaTV during one year
miyukki
14
13k
Other Decks in Technology
See All in Technology
フルカイテン株式会社 採用資料
fullkaiten
0
32k
Fediverse Discovery Providers overview
andypiper
0
170
Mocking in Rust Applications
taiki45
1
410
忙しい人のためのLangGraph概要まとめ
__ymgc__
1
190
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
580
LLVM/ASMを使った有限体の高速実装
herumi
0
120
AIを活用した柔軟かつ効率的な社内リソース検索への取り組み
cygames
0
180
OSTという文化を組織に根付かせてみた
sansantech
PRO
2
380
JTCや セキュリティチェックリストが夢の跡
nikinusu
0
620
グイグイ系QAマネージャーの仕事
sadonosake
0
330
DroidKaigi 2024 たすけて!ViewModel
mhidaka
5
940
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
480
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
Fireside Chat
paigeccino
31
2.9k
Documentation Writing (for coders)
carmenintech
65
4.3k
Optimizing for Happiness
mojombo
375
69k
The Invisible Side of Design
smashingmag
295
50k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
The Cult of Friendly URLs
andyhume
76
6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Debugging Ruby Performance
tmm1
72
12k
RailsConf 2023
tenderlove
28
810
Transcript
"5&.Λ׆༻੍ͨ͠࡞ιϦϡʔγϣϯ :VTFJ:"."/"," !NJZVLLJ #MBDLNBHJD$SFBUPST4IPXಛผฤʮσΟϕϩούʔηϛφʔʯ
ࣗݾհ ීஈɺΤϯδχΞͱͯ͠ɺͱ͋ΔಈըαʔϏεͷ όοΫΤϯυΛ৮͍ͬͯ·͢ ຊͷਖ਼ମେֶੜ ຊ໊ࢁத༐ ̝̣ΈΏ͖ͬ !UPSJJNJZVLLJ #MBDLNBHJD%FTJHO͕େ͖Ͱݸਓॴ༗ͳΒෛ ͚·ͤΜʂ
*LB-PHͬͯ·͢ʂ झຯͰө૾͕͖Ͱɺऩ৴Λ͍ͬͯ·͢
ओͳॴ༗ػࡐ w #.%"5&..&1SPEVDUJPO4UVEJP, w #.%)ZQFS%FDL4UVEJP1SP w #.%)ZQFS%FDL4IVUUMF w #.%4UVEJP$BNFSB)%
w #.%%FDL-JOL)%&YUSFNF% w #.%%FDL-JOL%VP w 40/:1.8, 4ZTUFN$BNFSB w $BOPO9" ࠷ۙ4:45&.Ͱങͬͨͷ 57-PHJDͷΠϯνϚϧνϑΥʔϚοτϞχλ
ػࡐൡ ۀ༻ɾ์ૹ༻ࡱӨػࡐ͕େ͖ͳࣾձਓɺେֶӃੜɺେֶੜɺߴઐੜɺߴߍੜ͕ू ·ͬͯ݁͞Εͨஂମ ߴߍ์ૹ෦ΛҾୀͯ͠ʜػࡐ͕େ͖ͰࣗෲͰۀ༻ɾ์ૹ༻ػࡐΛͦΖ͑ͯ ͠·͏ਓͨͪͷू·Γ ϓϩ͡Ό͋Γ·ͤΜɻ
NΫϨʔϯɺελδΦΧϝϥɺγεςϜΧϝϥͳͲͲͷػࡐΛൡһ͕ॴ࣋
աڈͷΠϕϯτ࣮ ݄ +"9"ӉՊֶݚڀॴओ࠵ ӉՊֶߨԋͱөըͷձ ݄ɺ χίχίձٞ ·Δͳ͛εςʔδ ϚϧνΧϝϥऩΛߦ͍·ͨ͠ র໌ɺ৴ɺऩΛߦ͍·ͨ͠
աڈͷΠϕϯτ࣮ ݄ ήʔϜ࣮گφΠτʙਓʙ JOαϯϦΦϐϡʔϩϥϯυ ϥΠϒεΠονϯάऩߦ͍·ͨ͠ ݄ɺɺ ͦΒത40-J7& ެ։ੜ์ૹ γεςϜߏஙɺ৴ɺऩΛߦ͍·ͨ͠
"5&.ϓϩτίϧͷղੳϥΠϒϥϦͷ։ൃ
"5&. ಉػೳͷͱൺͯɺൺֱత҆ՁͳεΠονϟʔʢݸਓͰങ͑Δʂʣ &UIFSOFUܦ༝Ͱͷίϯτϩʔϧ͕Մೳ 4%,ͳͲ։ൃͷࢿྉ͕๛
"5&.ͷ੍ޚํ๏ "5&.ʹެࣜͰ4%,͕͋Δ͕ɺ%--ωΠςΟϒͷϥΠϒϥϦͱͯ͠ఏڙ͞Ε͍ͯ ΔͨΊɺΞϓϦέʔγϣϯΛ࡞Δίετ͕ߴ͍ ࣗ࡞Ͱ/PEFKTͷϥΠϒϥϦΛ੍࡞͢Δ͜ͱʹΑΓɺΞϓϦέʔγϣϯΛ࡞Δίε τΛݮ͠ɺϚϧνϓϥοτϑΥʔϜͰಈ࡞͢ΔΑ͏ʹ "5&.ͷ੍ޚ6%1ϙʔτ൪Λ༻͢ΔʢϩʔΧϧଆͷϙʔτԿͰྑ͍ʣ
ͪͳΈʹ)ZQFS%FDLͷ੍ޚ5$1Ͱ͢ʢ։ൃνʔϜʹΑΔҧ͍ʁʣ
"5&.Λ੍ޚ͢Δγʔέϯε
"5&.ϓϩτίϧͷ༷1$"5&. 0 1 2 3 0 1 2 3
4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Packet Length | Session Id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Echo Data | NULL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NULL | Packet Id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Length | NULL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Name (ASCII) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Data… | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"5&.ϓϩτίϧͷ༷1$"5&. 0 1 2 3 0 1 2 3
4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Packet Length | Session Id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Echo Data | NULL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NULL | Packet Id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Length | NULL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Name (ASCII) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Data… | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ڪΒ͘ύέοτͷॱংΛอূ͢ΔͷͰɺ "5&.ʹૹΔͱ͖ʹඞཁʹͳΔ 1$ଆ͔ΒૹΔճΛΠϯΫϦϝϯτ͍ͯ͘͠ ੍ޚରͷίϚϯυ໊
"5&.ϓϩτίϧͷ༷"5&.1$ 0 1 2 3 0 1 2 3
4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Packet Length | Session Id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ? | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ? | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Length | ? | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Name (ASCII) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Data… | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"5&.ίϚϯυͷ༷ ϓϩάϥϜιʔεͷมߋ 1$"5&.$1H*$IBOHF1SPHSBN*OQVU 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Length - 12 bytes | NULL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command Name (ASCII) - CPgI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | M/E | NULL | Source Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ "5&.1$1SH*1SPHSBN*OQVU ܗࣜ$1H*ͱಉ͡
ϓϩτίϧͷ༷ "SEVJOPϥΠϒϥϦΛެ։͍ͯ͠Δɺ4,""3)0+ εΧΠϗΠ ͕ɺ"5&.ͷύ έοτΛղੳͨ݁͠ՌΛ·ͱΊͯܝࡌ͍ͯ͠Δ IUUQTLBBSIPKDPNpMFBENJO#.%13050$0-IUNM
8JSFTIBSL-VBϓϥάΠϯ 4,""3)0+Ͱɺܝࡌ͍ͯ͠ͳ͍ίϚϯυ͋ΔͨΊʢ.FEJB1MBZFSͳͲʣࣗྗͰ ͷϓϩτίϧղੳΛิॿ͢ΔͨΊʹɺ8JSFTIBSLͷ-VBϓϥάΠϯΛ࡞Γ·ͨ͠ ཉ͍͠ਓ͕͍ͨΒެ։͠·͢ʜ
ࣗ࡞ϥΠϒϥϦͷհ "5&.Λ੍ޚ͢ΔجຊతͳϓϩτίϧΛ࣮ͨ͠ɺࣗ࡞ϥΠϒϥϦΛ(JU)VCͰެ։͠ ͍ͯ·͢ ͪͳΈʹɺ"5&.Λ੍ޚ͢ΔOQNϥΠϒϥϦͭ͋Γ·͕͢ɺͦͷதͰΑ͘ग़ དྷͯΔͱࣗෛ OPEFBQQMFTUBUFN .*5-JDFOTF
IUUQTHJUIVCDPNBQQMFTUOPEFBQQMFTUBUFN ελʔཉ͍͠Ͱ͢
ϝσΟΞ ενϧ ͷసૹʹରԠ
ςετ
"5&.ͱ੍࡞ͷ׆༻ࣄྫ
"5&..*%*ίϯτϩʔϥʔ
"5&.#SPBEDBTU1BOFMߴ͍ʂӡൖ͕େมʂ "5&..*%*ίϯτϩʔϥʔ αʔυύʔςΟͷϋʔυΣΞ͋Δ͕ʜ ҆Ձͳ.*%*ίϯτϩʔϥʔΛɺ"5&.ͷϋʔυΣΞύωϧʹͯ͠͠·͓͏ʂ
ιϑτΣΞ੍ޚͳͷͰɺϘλϯͷΞαΠϯΛࣗ༝ʹׂΓͯՄೳ "5&..*%*ίϯτϩʔϥʔ ઃఆϑΝΠϧͰϘλϯΞαΠϯΛมߋͰ͖ΔΑ͏ʹ 13( 145 $IBOOFM 'BEFS
9-3'BEFS 5#BS ϘλϯΞαΠϯߏҰྫ ར༻γʔϯ
"5&..*%*ίϯτϩʔϥʔ σϞ
"5&..*%*ίϯτϩʔϥʔ
ϚΫϩͷ࠶ੜʹରԠ
.*%*ίϯτϩʔϥʔࣗମ͕লεϖʔεͰిݯෆཁͳͨΊɺઃஔָ͕ "5&..*%*ίϯτϩʔϥʔӡ༻தͷ༷ࢠ
Α͘ɺ͜Ε͍͘ΒͰചͬͯ͘Ε·͔͢ʁͱ͍͏ݴ༿Λฉ͖·͕͢ɺ "5&..*%*ίϯτϩʔϥʔ ͪ͜Βɺ(JU)VCͰެ։͍ͯ͠·͢ʂ BUFNNJEJDPOUSPMMFS .*5-JDFOTF IUUQTHJUIVCDPNBQQMFTUBUFNNJEJDPOUSPMMFS
"5&.ϒϥβίϯτϩʔϥʔ
"5&.ϒϥβίϯτϩʔϥʔ ࣗ࡞ϥΠϒϥϦΛ༻ͯ͠ɺϒϥβ͔Β"5&.Λૢ࡞͢ΔίϯτϩʔϥʔΛ࡞͠ ·ͨ͠ 6*ͷϘλϯ෦εϥΠμʔ෦ͳͲɺը૾ΛΘͣ$44Ͱ࠶ݱ͍ͯ͠·͢
"5&.ϒϥβίϯτϩʔϥʔ։ൃதͷ༷ࢠ
ͪ͜Βɺ(JU)VCͰެ։͍ͯ͠·͢ʂ "5&.ϒϥβίϯτϩʔϥʔ MJWFDPOUSPMMFS .*5-JDFOTF IUUQTHJUIVCDPNBQQMFTUMJWFDPOUSPMMFS
"5&.λϦʔίϯόʔλʔ
(1*BOE5BMMZ*OUFSGBDFߴ͍ʂ "5&.λϦʔίϯόʔλʔ "SEVJOPΛ͔ͭͬͯɺࣗ࡞͠Α͏ʂ (1*BOE5BMMZ*OUFSGBDF ԁ ੍࡞ͨ͠"5&.λϦʔίϯόʔλʔ
4,""3)0+ͷఏڙ͍ͯ͠Δ"SEVJOP-JCSBSZGPS"5&.4XJUDIFSTΛ༻
"5&.λϦʔίϯόʔλʔ։ൃதͷ༷ࢠ 1305&$)ͷΠϯλʔΧϜγεςϜ'%4ͱ࿈ܞ༷ͨ͠ࢠ %4VC ϐϯ ͷΦʔϓϯίϨΫλग़ྗ
"5&.λϦʔίϯόʔλʔ։ൃதͷ༷ࢠ 1305&$)ͷΠϯλʔΧϜࢠػ'%"ͷλϦʔग़ྗΛେ͖͘දࣔ͢ΔλϦʔϢ χοτΛ࡞
"5&.λϦʔίϯόʔλʔ։ൃதͷ༷ࢠ 40/:ͷγεςϜΧϝϥ$$6)9$6'#ͱ࿈ܞ
"5&.λϦʔίϯόʔλʔӡ༻தͷ༷ࢠ χίχίձٞ·Δͳ͛εςʔδͰ࣮ઓೖ
"5&.λϦʔίϯόʔλʔӡ༻தͷ༷ࢠ ԋऀ͕ݟ͍͢Α͏ʹ͢Δ͜ͱͰɺΧϝϥͷઢΛ͘ΕΔΑ͏ʹ
"5&.ϫΠϠϨελϦʔ
"5&.ϫΠϠϨελϦʔ λϦʔίϯόʔλʔΑΓઌʹ։ൃͨ͠ɺΈΜͳͷεϚϗΛλϦʔʹ͢ΔγεςϜ λοϓ͢Δ͜ͱͰϓϩάϥϜ͕ΓସΘΔͷͰɺগਓͷݱʹ࠷ద
"5&.࿈ಈಈըϓϨʔϠʔ
"5&.࿈ಈಈըϓϨʔϠʔ ࣗ࡞ͷϥΠϒϥϦΛ&MFDUSPOʢ/PEFKTΛωΠςΟϒΞϓϦԽ͢ΔιϑτΣΞʣʹ ΈࠐΈɺ"5&.ͷϓϩάϥϜʹΓସΘͬͨΒಈը࠶ੜΛ͢ΔϓϨʔϠʔΛ࡞
"5&.ͱଞͷεΠονϟʔͱͷ࿈ܞ
"5&.ͱଞͷεΠονϟʔͱͷ࿈ܞ "5&.574 ೖྗ ͱ$FSFWP͞Μͷ-JWF8FEHF ೖྗ ͱ࿈ܞ͠ɺٖࣅతͳೖྗ εΠονϟʔʹݟͤΔγεςϜ
·ͱΊ
·ͱΊ "5&.Λ׆༻੍ͨ͠࡞ιϦϡʔγϣϯ #MBDLNBHJD%FTJHO"5&.4XJUDIFSTΛ͏͜ͱʹΑΓɺ&UIFSOFUܦ༝Ͱͷ͋Β ΏΔίϯτϩʔϧ͕ՄೳͱͳΓɺεΠονϟʔͱ࿈ܞ༷ͨ͠ʑͳγεςϜΛߏங͢Δ ͜ͱ͕ՄೳͱͳΔ ެࣜͷ4%,αʔυύʔςΟͷϥΠϒϥϦ͕๛ ։ൃऀΤϯδχΞ͕ू·ΔΦʔϓϯͳίϛϡχςΟ͋Δ
"5&.6TFSDPNIUUQXXXBUFNVTFSDPNGPSVN "5&.ؔ࿈ͷ։ൃʹؔ͢Δ૬ஊɺࡱӨɺऩͳͲͷ͝ґཔ͕͋Γ·ͨ͠Βɺ͓ͪ͠ ͓ͯΓ·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠