2016-07-11 11 views
0

ich in der Lage bin zu streamen und Webcam-Feed in zwei Terminal über udpwie einen Videostrom als Eingabe verwendet wird in Python/opencv Programm

Befehl für das Streaming zu empfangen:

ffmpeg -i /dev/video0 -b 50k -r 20 -s 858x500 -f mpegts udp://127.0.0.1:2000 

Befehl für recieving:

Jetzt muss ich diesen empfangenen Video-Stream als Eingabe in Python/Opencv verwenden, wie kann ich das tun. Ich werde dies mit rtp und rstp tun. Aber im Falle von rtsp ist es wichtig, das empfangende Terminal zu initiieren, aber wenn ich das tue, dann wird Port beschäftigt und mein Programm wird nicht in der Lage sein, den feed.Wow könnte es gelöst werden. Ich verwende derzeit Opencv 2.4.13, Python 2.7 in Ubuntu 14.04

Antwort

0

Überprüfen Sie diese tutorial, und verwenden Sie cv2.VideoCapture("udp://127.0.0.1:2000"). Sie müssen Opencv mit FFmpeg erstellen, damit es funktioniert.

+0

danke für deine hilfe es hat funktioniert ......... aber jetzt muss ich das selbe tun mit rtsp ... aber das problem ist, dass in rtsp musst du zuerst empfänger initiieren, aber wenn ich es tue dass mein Programm nicht läuft, da der Port beschäftigt ist –

+0

Ich weiß nicht viel von der Semantik von RTSP. Aber wenn es nicht funktioniert, können Sie die FFmpeg-APIs verwenden, um die RTSP-Pakete manuell zu empfangen, sie in Rahmen zu decodieren und sie dann an Ihren opencv-Code zu übergeben. Aber ich denke, "VideoCapture" abstrahiert das alles weg? –

+0

Sie können dies [link] (http://stackoverflow.com/questions/21041370/opencv-how-to-capture-rtsp-video-stream) für RTSP überprüfen, ich nehme an, dass er 'VideoCapture' verwendet und einfach die URL übergeben hat zu ihm. –