GSTreamer, VLC veya Netcat kullanarak raspivid Linux ve OSX'e nasıl aktarılır?


Yanıtlar:


32
  • Netcat (nc) en küçük gecikmeye sahip görünüyor.
  • Deneyimlerime göre, VLC en büyük gecikmeye sahip. Öte yandan, Android için uygun bir VLC istemcisi var.

  • <IP-OF-THE-CLIENT> video akışını alması gereken bilgisayarın IP’sidir.

  • <IP-OF-THE-RPI> Ahududu Pi'nin IP adresidir.

Netcat'ı kullanarak:

Müşteri

(Önce istemcide, sonra sunucuda (RPI) komutu çalıştırın.)

Linux

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

OS X

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

RPI'da

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

GStreamer'ı kullanma:

Müşteri

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'da

/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 Kullanımı

Müşteri

Müşteri bir cep telefonunda bile bulunabilir (Android'de denedim).

VLC istemcisindeki ağdan açmanız yeterlidir:

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

RPI'da

/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 versiyonu çalışmıyor. Demek istediğim, olması gerektiği gibi çalışmıyor. Müşteri ipi?
Flash Thunder,

1
Katılıyorum, netcat en düşük gecikme süresine sahip. Ama neden 200 fps kullanıyorsunuz? Akışım 30 fps, ancak mplayer'ı 60'a ayarlamak en iyi şekilde görünüyor, nedenini bilmiyorum. Eğer mplayer'ı 30'a ayarlarsam 1-2 saniye gecikme süresi ekler
Elliott B

28

daha iyi:

rpi'de:

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

bilgisayarınızda:

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

yeniden bağlamayı destekler


3
Ahududu pi üzerinde, -pportu ayarlamak için parametreyi kullanmak zorunda kaldım :raspivid -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o - | nc -k -l -p 2222
johnboiles

3
mplayerKomuta için teşekkürler . Ayrıca raspivid, TCP kullanmadan daha yeni bir sürümle çalışır netcat, bunun gibi: raspivid -fps 20 -w 1280 -h 720 -t 0 -l -o tcp://0.0.0.0:2222- ve play komutu aynıdır. Hala VLC akışı için doğru URL'yi arıyorum. Gibi bir şeydih264+tcp://example.org:2222
Tomasz Gandor

1
Komut tcp / h264: //example.org: 2222'dir. Android'de bu tür bir akışın nasıl oynatılacağını merak ediyorum. Cep telefonlarında böyle kötü uygulamalar var.
Valentin Radu

MacOS üzerinde: brew install mplayer.
creimers,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.