Azure Media Services のライブ配信のテストに使える、テスト用映像を ffmpeg で生成する。


やりたいこと

  • Azure Media Services の Live Channel の機能をテストしたい

面倒なこと

  • RTMP を喋れるようなエンコーダーを用意するのが結構めんどくさい
  • テスト用映像を用意するのがめんどくさい
  • PC のライブカメラを使うと、自分の顔がずーっと流れてて残念な気持ちになる
  • 何秒くらい遅延しているかをテストするために、映像に時計の情報を入れたいがそれが結構めんどくさい

それ、ffmpeg で解決出来ました!

下記コマンドにて ffmpeg を起動するだけ!

testsignal-rtmpingest.bat
ffmpeg.exe -v verbose -re -f lavfi -i testsrc -f lavfi -i "sine=frequency=440:sample_rate=44100:beep_factor=8" -strict -2 -c:a aac -b:a 128k -ar 44100 -r 30 -g 60 -keyint_min 60 -b:v 400000 -c:v libx264 -preset medium -bufsize 800k -maxrate 400k -f flv rtmp://ライブチャンネル名.channel.media.azure.net:1935/live/自動生成されるパラメーター/mystream1

何をやっているか

  • ffmpeg のフィルターで testsrc を使って時計付きテストパターンを生成
  • 同じく、音声側は 440Hz のビープ音と、1 秒ごとの 3520Hz の短いビープ音の生成
  • x264 でエンコードして rtmp で指定したライブチャンネルにインジェスト

こんな感じ

ffmpeg ダウンロード先

こちらから!
https://ffmpeg.org/