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.3k
"新しい未来のテレビ"を目指すABEMA配信システムの再設計 / Re-architecture of ABEMA live ingest system
miyukki
0
2.4k
3周年に突入するAbemaTVの挑戦と苦悩 / The challenge and anguish of AbemaTV celebrating the third anniversary
miyukki
8
5k
AbemaTVのアーキテクチャの変遷 / The history of AbemaTV's architecture
miyukki
3
1.5k
機材管理ツールをFirebaseで構築しようとした話 / Building equipment management software with Firebase
miyukki
7
4.5k
AbemaTVで働くエンジニアの裏側 / The engineer working at AbemaTV
miyukki
0
880
動画配信サービスとしてこの先生きのこるには / The way to continue as a video streaming service
miyukki
8
3.9k
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
15
13k
Other Decks in Technology
See All in Technology
GCASアップデート(202506-202508)
techniczna
0
230
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
180
夢の印税生活 / Life on Royalties
tmtms
0
250
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
390
Amazon S3 Vectorsは大規模ベクトル検索を低コスト化するサーバーレスなベクトルデータベースだ #jawsugsaga / S3 Vectors As A Serverless Vector Database
quiver
2
1.1k
広島発!スタートアップ開発の裏側
tsankyo
0
130
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
5
560
Mackerel in さくらのクラウド
cubicdaiya
1
370
工業高校で学習したとあるエンジニアのキャリアの話
shirayanagiryuji
0
130
ECS モニタリング手法大整理
yendoooo
1
110
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
2.8k
PFEM Online Feature Flag @ newmo
shinyaishitobi
2
260
Featured
See All Featured
A better future with KSS
kneath
239
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Pragmatic Product Professional
lauravandoore
36
6.8k
Unsuck your backbone
ammeep
671
58k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Balancing Empowerment & Direction
lara
2
580
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
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&.ؔ࿈ͷ։ൃʹؔ͢Δ૬ஊɺࡱӨɺऩͳͲͷ͝ґཔ͕͋Γ·ͨ͠Βɺ͓ͪ͠ ͓ͯΓ·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠