ffmpeg が 1 倍以上の速度でトランスコードすることを保証する方法

ffmpeg が 1 倍以上の速度でトランスコードすることを保証する方法

私はhlsを使用してテレビをストリーミングしようとしています。私のセットアップはffmpegとnginx(hlsストリーミング用のnginx-txモジュール付き)です。私は以下のコマンドを使用してビデオを高さ320に拡大し、デフォルト値を使用してシャープにしています。私は以下のコマンドを使用しています。

ffmpeg -report -f mpegts -i <input> -vf "scale=trunc(oh*a/2)*2:320,unsharp=lx=3:ly=3:la=1.0" -vcodec libx264 -crf 24 -preset medium -acodec aac -b:a 50k -f mpegts <output>

問題は、このコマンドによって異なる速度が与えられることです。最初は 5 倍などの高速で始まり、その後 0.6 倍まで遅くなります。しばらくしてから再起動すると、最初は高速で始まり、その後遅くなりますが、1 倍以上の速度を維持します。では、速度が常に 1 倍以上になるようにするにはどうすればよいでしょうか。

速度が 1 倍未満になると、ライブ ストリームがうまく機能しなくなり、ブラウザーで使用する videojs がバッファリングし続けます。

編集: 3 つの異なるチャンネルをストリーミングしているので、ffmpeg のインスタンスを 3 つ実行していることも言っておきます。最初のインスタンスは問題なく、常に 1 倍以上です。しかし、後者のインスタンスでは、非決定的な動作 (速度が 1 倍を超える場合もあれば、1 倍未満になる場合もあります) の問題があります。

何か案は?

関連情報