FFMpegでRTMP配信
Twitter社のMedia Studioを触る機会があり、勉強しようと思ったけどAWS Elemental Liveのような上等な配信設備なんて持ってない。
そこでFFMpeg
を使って、LIVE配信環境を作成することにした。きちんと設定してないとMedia Studio側で「the media could not be played.
」と表示されて躓いてしまったので備忘録を貼っておく。
Media Studioにお勧めされたエンコーダー設定
ソース設定を行うと以下のエンコーダーの推奨設定が表示された。(2020/11現在)
ただ、Twitter社の設定ページをみると推奨ビットレートが2500kだったりしたので、適宜合わせる形にした。
エンコーダー設定 | おすすめ |
---|---|
オーディオコーデック | AAC |
音声サンプリングレート | 44,100 |
オーディオビットレート | 128,000 |
音声チャンネル | 2 |
動画コーデック | H.264/AVC |
動画ビットレート | 9,000,000 |
動画フレームレート | 30 |
動画キーフレーム間隔(秒) | 3 |
動画の幅 | 1920 |
動画の高さ | 1080 |
FFMpeg コマンド
試行錯誤した結果、以下の設定でテスト動画hogehoge.mp4
を配信することができた。
最初、音声の設定を適切に設定していなくて配信できなかった。
実際に使うときは、もっと調整の余地はあると思います。
ffmpeg -re -i 'hogehoge.mp4' -vcodec libx264 -r 30 -b:v 2500k -ar 44100 -ab 128k -ac 2 -acodec aac -strict experimental -f flv rtmp://{RTMP URL}/{RTMPストリームキー}