何かお手伝いします。リアルタイムビデオのFFMPEG H.264〜JPEG
私たちはH.264ストリームをJpgにトランスコーディングしており、Jpgはウェブソケットを介してブラウザに送信しています。私たちがこれをやろうとしている理由は、リアルタイムのビデオをブラウザにネイティブで配信できるからです。ブラウザーにとらわれない方法でプラグインの必要はありません。これを行うより良い方法があれば、もっと知ることは素晴らしいことです。動画のソースはH.264ですが、変更することはできません。
FPSを下げるにつれて、カメラのビデオフィードには大きなずれが生じています。たとえば、1FPSでブラウザのビデオが8秒遅れていることがわかります。 15FPSでビデオは約1秒遅れる。したがって、1秒間に1秒で更新されても、フレームは8秒遅れる。
これは、低いフレームレートのFFMPEGがIフレームのために長く待たなければならないと考えており、完全なものがあるまでJpegをWebソケットに送信しないでください。むしろ、IFrameが到着するまで待たずにJpegを送信すると、徐々にブラウザ上に部分画像が埋め込まれて表示されます。ブラウザでは0.8秒以上の遅れを許容することはできません。カメラがMJPEGを送信するように設定されているとき、我々は0.250秒遅れを見る。 H.264では1.25秒、0.8秒にする必要があります。だから、私たちは実際にH.264を細かくチューニングして時間を節約しようとしています。だからこそ、FPSを下げる最初のアプローチが悪化したとき、FPSに踏み込んで良い結果を得るには、他に何が微調整される必要があるのか不思議でした。
FFMPEGには、最初のデータが到着するとすぐにJpegを送信するように指示するオプションはありますか?あるいは、他のチューニング・アベニューを見るべきでしょうか?ここで
FFMPEGパラメータです: ffmpegの -buffer_size 1024000 15 -r -i RTSP://10.140.150.92/02441987-0826-4dc2-b9bd-62efdc0dd951/02441987-0826-4dc2-b9bd-62efdc0dd951_vs1 ?トークン= 02441987-0826-4dc2-b9bd-62efdc0dd951^LVEAMOKTD^100^40^26^1500482113^a97effd2a6f85c4a0b5e93953b27c8e1eb40ca77 &名= USER1 -f画像2 -multiple_requests 1 -icy 0 -chunked_post 0 -q:31 V 1 -vsync 1 -r 15 -vfスケール= 640:-1 http://127.0.0.1:58014/video/cameraTag_deviceId_22cameraUid_-1scale_640:-1cameraOrigin_requestedStreams_videostream1/frame-%03d.jpeg
多くのありがとう、 Joe。
ありがとうございます。私はうまくいけばあなたが私の質問に必要なコンテキストを追加するいくつかの追加情報を追加しました。 –