1

これまでのところ、

Adobe FMS を使用した h.264 コーデックの 9 つのビデオ ストリーム (ユーザー) のセットを持つビデオ チャット クライアントがあります。現在、ffmpeg を使用して、overlay (ビデオ) および amix (オーディオ) フィルターを使用して、これらのストリームを 1 つのストリームに結合できます。結合された単一のストリームをライブ ストリーミング サービスに送信できます。アクティブ スピーカーのストリームは、ffmpeg の scale プロパティを使用して、より大きなサイズで表示されます。

次のようにコードします。

ffmpeg -i "rtmp://localhost/live/mystream" -i "rtmp://localhost/live/mystream2 " -i "rtmp://localhost/live/mystream3 "-filter_complex"nullsrc=size=300x300 [b1];[0:v] setpts=PTS-STARTPTS,scale=100x100 [s1];[1:v] setpts=PTS-STARTPTS,scale=200x200 [s2];[2:v]setpts=PTS-STARTPTS,scale=100x100 [s3];[b1][s1] overlay=shortest=1 [b1+s1];[b1+s1][s2] overlay=shortest=1 [b1+s2];
[b1+s2][s3] overlay=shortest=1:x=100" out.mp4

次の 2 つの主要な問題でヘルプが必要です。どんな助けでも大歓迎です。

  1. 発言中のスピーカーが変わるたびに、そのユーザーのストリームをより大きなサイズで表示する必要があります。ffmpegプロセスを再起動せずにこれを行うことは可能ですか?

  2. 現在、9 つのストリームのいずれかが停止すると、ffmpeg プロセスがクラッシュします。

4

0 に答える 0