この投稿では、VLCを使用してストリーミングする方法を示します。それはうまく機能し、シンプルですが、それは私に約2ラグを与えます。この投稿はGStreamerを使用しており、0.3秒の遅延があります。少なめにお願いします。
Raspberry Piグラフィックチップを使用してエンコードを高速化することは可能ですか?
この投稿では、VLCを使用してストリーミングする方法を示します。それはうまく機能し、シンプルですが、それは私に約2ラグを与えます。この投稿はGStreamerを使用しており、0.3秒の遅延があります。少なめにお願いします。
Raspberry Piグラフィックチップを使用してエンコードを高速化することは可能ですか?
回答:
Ubuntu 14.10とGstreamerを使用すると、1280 x 720 @ 60Hzで100〜116 msのレイテンシに達します。
@Antonvhの戦車。ここでは、後者の参照用にソリューションを再現します。
Piからストリーミングするには:
raspivid -t 0 -b 2000000 -fps 60 -w 1280 -h 720 -o - \
| gst-launch-1.0 -e -vvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 \
! udpsink host=10.42.0.1 port=5001
コンピューターでgst-0.10を使用して受信し、仮想v4l2デバイスに送信するには(実際にはv4l2loopbackが必要です):
gst-launch -v udpsrc port=5001 ! application/x-rtp, payload=96 ! rtph264depay \
! ffdec_h264 ! ffmpegcolorspace ! v4l2sink device=/dev/video1
次に、/dev/video1
v4l2キャプチャをサポートする任意のソフトウェアでデバイスを開くことができます。
gst-1.0ソリューションの場合(v4l2loopbackはgst-1.0では機能しません)、Antonvhブログ投稿をご覧ください。
200msのラグを達成しました!トリック:リモート側で読み取るよりも少ない数のフレームをPiから送信することで、バッファーが空のままになります。
これは、ストップウォッチを撮影しているRPiの写真です。時間差を表示します。
これは私が使うレシピです。まずラップトップ(Mac)でこれを行います:
nc -l 5001 | mplayer -fps 24 -cache 1024 -
次に、RPIでストリーミングを開始します。
raspivid -t 999999 -w 1280 -h 720 -fps 20 -o - | nc 192.168.178.22 5001
次のことを確認してください。
私はこのビデオレシピを使用します:http : //archpi.dabase.com/#sending-and-receiveing-pi-camera-video-over-the-network
https://github.com/thaytan/gst-rpicamsrcを試しましたか?もう少し合理化する必要があります。Tbh、私はそれを試すことに煩わされることはできません。
0.3秒の遅れはかなり良いです。