web-dev-qa-db-ja.com

ffmpegシンプルなRTMPストリーミング

Ffmpegを使用してrtmpトランスコーダーサーバーを起動しようとしています。入力としてudpMPEG-TSストリームを受信し、それをトランスコードします。そして、URLへのrtmp出力を生成します。これは、ユーザーがrtmpストリームを受信して​​再生するためにアクセスできます。これらはすべてLANで実行され、すべてのユーザーが出力にアクセスすることが期待されています。

1)まず、URLがどこを指しているのかわかりません。システムのIPとオプションのポートを指定するだけで十分ですか?プログラムがそのポートでリッスンする必要がありますか?

2)URLでストリームを再生するにはどうすればよいですか?

IP = 10.1.1.229のLinuxubuntuマシンを使用しており、次のURLでマルチキャストストリームをトランスコードしたい:udp://@224.10.1.1:2001

これは、入力ストリームをトランスコードし、rtmp url "rtmp://10.1.1.229:2020"を生成するために使用されるコマンドです。

ffmpeg -y -f mpegts -i "udp://@224.10.1.1:2001" -re -vcodec libx264 -maxrate 700k -r 25 -s 640x360 -deinterlace -acodec libfaac -ab 64k -ac 1 -ar 44100 -f flv "rtmp://10.1.1.229:2020"

これが私がrtmpストリームを再生しようとしているコマンドです:

ffplay rtmp://10.1.1.229:2020

どんなガイダンスも役に立ちます。ありがとうございました。

2
sajad

ffmpegには(まだ)RTMPサーバー機能がありません。 rtmp URLに出力するときは、ストリームを出力します。これは、RTMPサーバー(Wowzaなど)の入力フィードです。簡単に言えば、ffmpegは実際のRTMPサーバーに入力を供給し、入力はそのRTMPサーバーによってブロードキャストされます。

1
Mladen B.