Jak mogę przesyłać strumieniowo strumień wideo do systemu Linux lub OS X przy użyciu raspivid i VLC, GStreamer lub Netcat?
Jak mogę przesyłać strumieniowo strumień wideo do systemu Linux lub OS X przy użyciu raspivid i VLC, GStreamer lub Netcat?
Odpowiedzi:
Z mojego doświadczenia wynika, że VLC ma największe opóźnienie. Z drugiej strony istnieje klient VLC na Androida, co jest wygodne.
<IP-OF-THE-CLIENT>
to adres IP komputera, który powinien odbierać strumień wideo.
<IP-OF-THE-RPI>
jest adresem IP Raspberry Pi.(Uruchom polecenie najpierw na kliencie, a następnie na serwerze (RPi)).
Linux
nc -l 2222 | mplayer -fps 200 -demuxer h264es -
OS X
nc -l 2222 | mplayer -fps 200 -demuxer h264es -
/opt/vc/bin/raspivid -t 0 -w 300 -h 300 -hf -fps 20 -o - | nc <IP-OF-THE-CLIENT> 2222
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
/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
Klient może być nawet na telefonie komórkowym (próbowałem na Androidzie).
Po prostu otwórz z sieci w kliencie VLC:
http://<IP-OF-THE-RPI>:8090
/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
lepszy:
na rpi:
raspivid -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o - | nc -k -l 2222
w Twoim komputerze:
mplayer -fps 200 -demuxer h264es ffmpeg: // tcp: //10.0.1.3: 2222
obsługuje ponowne łączenie
-p
parametru, aby ustawić port:raspivid -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o - | nc -k -l -p 2222
mplayer
polecenie. Działa również z nowszymi, raspivid
które mogą przesyłać strumieniowo do TCP bez użycia netcat
, w ten sposób: raspivid -fps 20 -w 1280 -h 720 -t 0 -l -o tcp://0.0.0.0:2222
- a polecenie odtwarzania jest takie samo. Wciąż szukam poprawnego adresu URL do przesyłania strumieniowego VLC. To było coś w styluh264+tcp://example.org:2222
brew install mplayer
.