私はWindows上でffmpeg 3.2.2を使用して5MP USBカメラからビデオをキャプチャしてストリーミングしようとしています。ここで私が使用しているコマンドラインです:ffmpegビデオストリームの再生が遅れていますか?
ffmpeg -f dshow -video_size 320x240 -framerate 30 -i video="HD USB Camera" -vcodec libx264 -preset ultrafast -tune zerolatency -g 60 -f mpegts udp://192.168.1.100:10000
私のストリーム(同じサブネット上のUbuntuのボックス)の保存先は、経由ffplayを実行している:
ffplay -i udp://127.0.0.1:10000
これは動作しますが、ビデオストリームはそうそれは8-10秒遅れているようです。宛先がIフレームを受信するまで宛先を表示することができないので、Iフレームが2秒(@ 30FPS)ごとに挿入されると考えて、60のGOP値を指定しようとしました。
トランスコードを実行しているWindowsマシンは、i7-3840QM @ 2.80GHzで動作し、RAMは32GBです。 FFmpegは非常に小さなCPU(2%のような)を使用しているように見えるので、CPUのようには見えません。テストのように、私はMP4ファイルを摂取しようとしましたが、トランスコード(ffmpeg -re -i localFile.mp4 -c copy -f mpegts udp://192.168.1.100:10000
)はしませんでしたが、ストリームがUbuntuシステムに表示されるまでにはまだ数秒かかります。
関連するノートでは、Wowzaストリーミングエンジンサーバーの試用版も評価しています。私がfowmpegストリームをWowzaに送ると、Wowzaテストプレーヤーが再生を開始する前に同じ8-10秒の遅延がありますバック。それが価値あるものであれば、ストリームが再生を開始すると、すべてが「数秒遅れている」という事実以外は、うまく動作しているようです。
私はビデオストリーミングが新しくなっているので、ここでは何かが分かりにくいかもしれませんが、この遅延を引き起こす原因を教えてもらえますか、ありがとうございました!