2

FFMPEG を使用して、(v4l2) ウェブカメラからメディア サーバーに送信されるストリームに遅延を追加するにはどうすればよいですか?

ここでの使用例は、ビデオで何かが検出されたときにビデオをサーバーにストリーミングできるようにしたい防犯カメラのようなものです。対象のイベントがビデオで確実にキャプチャされるようにする最も簡単な方法は、FFMPEG を使用して、遅延を追加してカメラから仮想ループバック デバイスにストリーミングすることです。そのループバック デバイスを使用して、重要なイベントが発生したときにライブ ストリーミングを開始できます。

GStreamer では、queue要素のmin-threshold-timeパラメーターを使用してこの種の遅延を実現します。たとえば、次の (非常に簡略化された) パイプラインの例では、v4l2 ウェブカメラからの出力を表示する前に 2 秒の遅延を追加します。

gst-launch-1.0 v4l2src device=/dev/video1 ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 min-threshold-time=2000000000 ! xvimagesink

FFMPEG で同じことを達成するにはどうすればよいですか? これに GStreamer を使用することを妨げる技術的な課題がいくつかあります。

このオプションを調査しitsoffsetましたが、私が知る限り、既に記録されたファイルに対してのみ使用可能であり、適切な代替手段が何であるかは明確ではありません.

4

1 に答える 1