GStreamer、VLC、またはNetcatを使用してraspividをLinuxおよびOSXにストリーミングする方法は?


回答:


32
  • Netcat(nc)は、遅延が最小のようです。
  • 私の経験では、VLCには最大の遅延があります。一方、便利なAndroid用のVLCクライアントがあります。

  • <IP-OF-THE-CLIENT> ビデオストリームを受信するコンピューターのIPです。

  • <IP-OF-THE-RPI> Raspberry PiのIPです。

Netcatの使用:

クライアントで

(最初にクライアントでコマンドを実行し、次にサーバー(RPi)でコマンドを実行します)。

Linux

nc -l 2222 | mplayer -fps 200 -demuxer h264es -

OS X

nc -l 2222 | mplayer -fps 200 -demuxer h264es -

RPiで

/opt/vc/bin/raspivid -t 0 -w 300 -h 300 -hf -fps 20 -o - | nc <IP-OF-THE-CLIENT> 2222

GStreamerの使用:

クライアントで

Linux

gst-launch-1.0 -v tcpclientsrc host=<IP-OF-THE-RPI> port=5000  ! gdpdepay !  rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false

OS X

gst-launch-1.0 -v tcpclientsrc host=<IP-OF-THE-RPI> port=5000  ! gdpdepay !  rtph264depay ! avdec_h264 ! videoconvert ! osxvideosink sync=false

RPiで

/opt/vc/bin/raspivid -t 0 -hf -fps 20 -w 300 -h 300 -o - | gst-launch-1.0 fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=<IP-OF-THE-RPI> port=5000

VLCを使用する

クライアントで

クライアントが携帯電話にいる可能性さえあります(Androidで試しました)。

VLCクライアントのネットワークから単に開く:

http://<IP-OF-THE-RPI>:8090

RPiで

/opt/vc/bin/raspivid -o - -t 0 -hf -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264

Piバージョンは機能しません。私はそれがどうあるべきか機能しないことを意味します。クライアントIP?
フラッシュサンダー

1
私は同意します、netcatのレイテンシは最低です。しかし、なぜ200fpsを使用するのですか?私のストリームは30fpsですが、mplayerを60に設定するのが最適に見えますが、その理由はわかりません。mplayerを30に設定すると、1〜2秒の待ち時間が追加されます
エリオットB

28

より良い:

rpiで:

raspivid -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o-| nc -k -l 2222

コンピューターで:

mplayer -fps 200 -demuxer h264es ffmpeg:// tcp://10.0.1.3:2222

再接続をサポート


3
ラズベリーパイでは、-pパラメーターを使用してポートを設定するraspivid -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o - | nc -k -l -p 2222
必要がありました。– johnboiles

3
mplayerコマンドをありがとう。次のように、raspividを使用せずにTCPにストリーミングできる新しいバージョンでも機能します。- およびplayコマンドは同じです。VLCストリーミングの正しいURLを探しています。それはのようなものだったnetcatraspivid -fps 20 -w 1280 -h 720 -t 0 -l -o tcp://0.0.0.0:2222h264+tcp://example.org:2222
トマシュGandor

1
コマンドはtcp / h264://example.org:2222です。このタイプのストリームをAndroidで再生する方法を知りたいです。携帯電話にはこのような貧弱なアプリがあります。
バレンティンラドゥ

MacOSで:brew install mplayer
クライマー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.