私はVLCでも同じことを試みましたが、3秒間の待ち時間を得ることはできませんでした。 FFmpegは不思議に思って、最終的に待ち時間1秒を与えました。
mpeg2videoとUPDが最良の結果をもたらし、RTPレイテンシは少し悪化しましたが、非常に近いと感じました。 x264に移行すると、レイテンシが少し増えるのと引き換えに品質が向上しますが、それは実際にどれくらいの動的コンテンツが存在し、どのくらいの速さであるかに大きく依存します。私はUDPで動作するx264しか持っていませんが、RTPでそれを行う方法が必要です。
私はそれが再生可能かどうかはわかりません。サーバーは大量の作業負荷を受け、待ち時間が顕著になります。少なくともLinuxではウィンドウについて知りません。 Linuxの
は、次のいずれかのコマンドを試してみてください。
$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec mpeg2video -b:v 8000 -f rtp rtp://192.168.0.10:1234
または
$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec libx264 -preset ultrafast -tune zerolatency -crf 18 -f mpegts udp://192.168.0.10:1234
画面解像度(-s <your resolution>
)、リフレッシュレート(-r <fps>
)、帯域幅(-b:v <bits/s>
)、品質(-crf 18
のための調整しますまたは-qp 18
、低い方が良い)、およびtarget ip:portです。
Windowsを実行している場合はx11grab
の代わりにdshow
を使用してください。
ffplay udp://192.168.0.10:1234
またはffplay sdp://192.168.0.10:1234
を使用してご覧ください。
これらのオプションのいずれも音を流さないことを忘れないでください。オーディオをストリーミングするときに、私はそのような短い待ち時間を得ることができませんでした。それは実行可能かもしれない、私はちょうど方法を考え出していない。
最も反応クライアントでもゼロに設定されたネットワークキャッシュとffplay
、VLC
導入あまりの待ち時間だった - それはあまりにもしばしば「再同期」にストリームを試してみましたので、そのようなキャッシュでそれは実際には、悪化しました。
さらに詳しい情報が必要な場合は、私の所見をpostにしました。それが役に立てば幸い。私はフィードバックを感謝します。^_^
FFmpegには、「チューニングゼロ」のようないくつかのx264エンコーディング設定があります。これは、ここで便利です:http://trac.ffmpeg.org/wiki/StreamingGuide#Latency – rogerdpack
私はあなたのウェブサイトにこれを実行する前に来た記事。私の意見では、vlcとffplayはほぼ同じレイテンシを持っていました。 – user1767754
私は以下のURLのように解決パラメータを渡そうとしましたが、動作していないようです、私は320x240を過ぎてもrtspで記録されたmp4ビデオは高解像度のままであることを意味します:( "-t 30 -i \" rtsp ://xxx.xxxxxx.com/2 \ "-s 320x240 -acodec copy -vcodec copy -to" –