Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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.5k
3周年に突入するAbemaTVの挑戦と苦悩 / The challenge and anguish of AbemaTV celebrating the third anniversary
miyukki
8
5.1k
AbemaTVのアーキテクチャの変遷 / The history of AbemaTV's architecture
miyukki
3
1.5k
機材管理ツールをFirebaseで構築しようとした話 / Building equipment management software with Firebase
miyukki
7
4.6k
AbemaTVで働くエンジニアの裏側 / The engineer working at AbemaTV
miyukki
0
890
動画配信サービスとしてこの先生きのこるには / The way to continue as a video streaming service
miyukki
8
4k
MPEG-DASHによるリニア型配信 / Linear broadcasting by MPEG-DASH on AbemaTV
miyukki
6
14k
1周年を迎えたAbemaTVの動画配信の裏側 / The background of video distribution in AbemaTV during one year
miyukki
15
13k
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
38k
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
1
220
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
530
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
4
270
AI時代におけるアジャイル開発について
polyscape_inc
0
120
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
630
.NET 10 のパフォーマンス改善
nenonaninu
2
4.9k
Symfony AI in Action
el_stoffel
2
390
Databricksによるエージェント構築
taka_aki
1
140
事業部のプロジェクト進行と開発チームの改善の “時間軸" のすり合わせ
konifar
9
3.2k
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
180
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
560
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
990
Documentation Writing (for coders)
carmenintech
76
5.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
BBQ
matthewcrist
89
9.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Music & Morning Musume
bryan
46
7k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Thoughts on Productivity
jonyablonski
73
5k
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&.ؔ࿈ͷ։ൃʹؔ͢Δ૬ஊɺࡱӨɺऩͳͲͷ͝ґཔ͕͋Γ·ͨ͠Βɺ͓ͪ͠ ͓ͯΓ·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠