#1 楼
Netcat(nc)似乎是最小的延迟。
以我的经验,VLC的延迟最大。另一方面,有一个用于Android的VLC客户端,这很方便。
<IP-OF-THE-CLIENT>
是应接收视频流的计算机的IP。<IP-OF-THE-RPI>
是Raspberry的IP Pi。在客户端上使用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?
– Flash Thunder
2015年7月3日,9:56
我同意,netcat的延迟最低。但是为什么要使用200fps?我的流为30fps,但是将mplayer设置为60看起来最好,我不知道为什么。如果我将mplayer设置为30,则会增加1-2秒的延迟
– Elliott B
18年8月3日在6:08
#2 楼
更好:在rp上:
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
支持重新连接
评论
在树莓派上,我必须使用-p参数设置端口:raspivid -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o-| nc -k -l -p 2222
–johnboiles
16-3-25在17:27
感谢您的mplayer命令。它也可以与较新的raspivid一起使用,后者可以不使用netcat而流式传输到TCP,例如:raspivid -fps 20 -w 1280 -h 720 -t 0 -l -o tcp://0.0.0.0:2222-和play命令是一样的我仍在为VLC流寻找正确的URL。就像h264 + tcp://example.org:2222
– Tomasz Gandor
17年12月11日在23:14
命令是tcp / h264://example.org:2222。我想知道如何在Android上播放此类流。手机具有如此差的应用程序。
–华伦丁·拉杜(Valentin Radu)
18 Mar 11 '18 at 15:26
在macOS上:brew install mplayer。
–火化炉
19年1月31日在17:10
评论
您可以找到有关RTSP流的一些信息raspberrypi.stackexchange.com/questions/12156/…