GStreamer, VLC या Netcat का उपयोग करके Linux और OSX पर कैसे स्ट्रीम करें?


21

मैं raspivid और या तो VLC, GStreamer या Netcat का उपयोग करके लिनक्स या OS X पर वीडियो स्ट्रीम कैसे कर सकता हूं?


आप RTSP स्ट्रीमिंग के बारे में कुछ जानकारी raspberrypi.stackexchange.com/questions/12156/… पर
mpromonet

जवाबों:


32
  • Netcat (nc) सबसे छोटी देरी के साथ लगता है।
  • मेरे अनुभव में, VLC में सबसे बड़ी देरी है। दूसरी ओर, एंड्रॉइड के लिए एक वीएलसी क्लाइंट है, जो सुविधाजनक है।

  • <IP-OF-THE-CLIENT> कंप्यूटर का आईपी है जिसे वीडियो स्ट्रीम प्राप्त करना चाहिए।

  • <IP-OF-THE-RPI> रास्पबेरी पाई का आईपी है।

Netcat का उपयोग करना:

क्लाइंट पर

(पहले क्लाइंट पर कमांड चलाएँ, और फिर सर्वर (आरपीआई) पर।

लिनक्स

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

ओएस एक्स

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

GStreamer का उपयोग करना:

क्लाइंट पर

लिनक्स

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

ओएस एक्स

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

वीएलसी का उपयोग करना

क्लाइंट पर

ग्राहक मोबाइल फोन पर भी हो सकता है (मैंने Android पर कोशिश की)।

बस 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

पाई संस्करण काम नहीं करता है। मेरा मतलब है कि यह कैसे काम नहीं करना चाहिए। ग्राहक आईपी?
फ्लैश थंडर

1
मैं मानता हूं, netcat में सबसे कम विलंबता है। लेकिन आप 200fps का उपयोग क्यों करते हैं? मेरी धारा ३० एफपीएस है, लेकिन ६० तक मेप्लेयर सेट करना सबसे अच्छा लगता है, मुझे नहीं पता कि क्यों। अगर मैं 30 से mplayer सेट करता हूं, तो यह 1-2 सेकंड की विलंबता जोड़ता है
इलियट बी

28

बेहतर:

rpi पर:

raspivid -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o - | एनसी -के-एल 2222

आपके कंप्युटर पर:

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

फिर से जोड़ने का समर्थन करता है


3
रास्पबेरी पाई पर, मुझे -pपोर्ट सेट करने के लिए पैरामीटर का उपयोग करना था :raspivid -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o - | nc -k -l -p 2222
जॉन्बाइल्स

3
mplayerकमांड के लिए धन्यवाद । यह नए के साथ भी काम करता है raspividजो टीसीपी का उपयोग किए बिना स्ट्रीम कर सकता है netcat, जैसे: raspivid -fps 20 -w 1280 -h 720 -t 0 -l -o tcp://0.0.0.0:2222- और प्ले कमांड एक ही है। मैं अभी भी VLC स्ट्रीमिंग के लिए सही URL ढूंढ रहा हूं। यह कुछ इस तरह थाh264+tcp://example.org:2222
टॉमस गैंडर

1
कमांड tcp / h264: //example.org: 2222 है। मैं सोच रहा हूं कि एंड्रॉइड पर इस तरह की स्ट्रीम कैसे खेलें। मोबाइल फोन में ऐसे खराब ऐप होते हैं।
वैलेंटाइन रादू

MacOS पर: brew install mplayer
क्रेमर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.