![見出し画像](https://assets.st-note.com/production/uploads/images/60778845/rectangle_large_type_2_34725f5106dd97753c3ff0478692961c.png?width=1200)
OBSとAWS MediaConnectでお手軽映像伝送
何ができるか
SRTというプロトコルを利用して遠隔地に低遅延かつ安定した映像伝送を行える。パケロスにも強い。
AWS MediaConnectとは
映像をいい感じに伝送してくれるすごいやつ、ぐらいの認識でいいと思う
構成
送信PCからMediaConnect経由で受信PCに映像を伝送、受信した映像にリアルタイムで編集をかけて配信するような形を想定
![画像1](https://assets.st-note.com/production/uploads/images/60763069/picture_pc_f105be0628ad6fea8fcc45b014cd71a1.png?width=1200)
準備
MediaConnect
まずAWSのアカウントを作る
コンソール画面からリージョンを東京に変更
![画像2](https://assets.st-note.com/production/uploads/images/60766578/picture_pc_4acf779e36045e4a6bdce7ba321b104f.png?width=1200)
画面上部の検索窓にMediaConnectと入力して表示されたページに飛ぶ
![画像3](https://assets.st-note.com/production/uploads/images/60766742/picture_pc_06f979b63a2030c7067295695c795875.png?width=1200)
Create Flowを選択
![画像4](https://assets.st-note.com/production/uploads/images/60767167/picture_pc_5a24790dfab01849dc17a7f86f1d4633.png?width=1200)
各項目を入力してCreate Flow
![画像5](https://assets.st-note.com/production/uploads/images/60770525/picture_pc_71e7d72144c7bb3a4079b843383d1c7f.png?width=1200)
Public Outbound IP address(例では12.34.56.78とした)を控えておき、
OutputsのタブからAdd outputを選択
![画像6](https://assets.st-note.com/production/uploads/images/60771199/picture_pc_809f823caedf7f28308629d61ec2f2a8.png?width=1200)
各項目を入力してAdd output
![画像7](https://assets.st-note.com/production/uploads/images/60771804/picture_pc_8709c7c23171d09ca7665838e8ddd3f8.png?width=1200)
OBS-送信PC
設定の配信タブを開き、
サービス:カスタム
サーバー:srt:/{控えたIPアドレス}:6000
ストリームキー:入力なし
とする
![画像8](https://assets.st-note.com/production/uploads/images/60773312/picture_pc_e4886178b41a3fae53dff3ab641976ff.png?width=1200)
OBS-受信PC
ソース追加からメディアソースを選択し、
ローカルファイル:チェックを外す
ソースがアクティブに~:チェックを外す
入力:srt://{控えたIPアドレス}:8000
ハードウェアデコード使用:環境によってお好みで
とする
![画像9](https://assets.st-note.com/production/uploads/images/60775371/picture_pc_4eec7e46d79074f1837489d0febd2da1.png?width=1200)
運用
・MediaConnect
一覧から起動したいFlowを選択してStart
![画像10](https://assets.st-note.com/production/uploads/images/60775612/picture_pc_88bffbba591f795ee02f2b02bc9b25f1.png?width=1200)
・送信PC
OBSで配信開始するだけ
・受信PC
送信PCで配信を開始すると自動的に追加したソースに映像が表示される
うまくいかない場合はしばらく待つ(10数秒間隔で勝手に再接続処理が入る)
遅延
各自のネットワーク環境によるとしか言いようがないが、手元の環境だと最短1.4秒とか
![画像11](https://assets.st-note.com/production/uploads/images/60775991/picture_pc_192f599379ac517900642bafe04499ca.png?width=1200)
費用
Flowの起動時間とMediaConnectから外部ネットワークへのデータ送信に対してそれぞれ課金される
東京リージョンで1つのFlowを6時間起動して10GBの送信を行った場合、約312円の請求になる
※ 1USD=110.33円換算 9月8日 15:40 UTC
他
・Flowは使い終わったらちゃんと止める
当然だが従量課金なので止め忘れると大変な事になる
普段クラウド系のサービスを運用していない人は特に注意
・FlowのSourceとOutputに接続できるコネクションは一つだけ
送信:受信で1:nにしたい場合はFlowのOutputを増やせばいいが、n:1やn:nの場合は送信元の数だけFlowを増やさないといけないのでやや費用が嵩む
・伝送される映像のコーデックやビットレートは送信側OBSの出力設定に依る
CBRである必要も無いのでVBRやCRF、NVEncが使えればCQPにしてあげると効率が良さそう
またMediaConnectは入力側の帯域上限を80Mbpsとしているようなので、マシンスペックとネットワークに自信があれば4k60fpsでの伝送も夢ではない
参考にさせて頂いた記事
ある程度技術が分かる人は多分こっち読んだ方が早い
この記事が気に入ったらサポートをしてみませんか?