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)에서 실행하십시오).

리눅스

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 사용 :

클라이언트에서

리눅스

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 초의 대기 시간이 추가됩니다
Elliott 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로 스트리밍 할 수 있는 최신 버전에서도 작동 netcat합니다. 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

1
명령은 tcp / h264 : //example.org : 2222입니다. Android에서 이러한 유형의 스트림을 재생하는 방법이 궁금합니다. 휴대 전화에는 불량 앱이 있습니다.
Valentin Radu

macOS의 경우 : brew install mplayer.
creimers
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.