簡體   English   中英

捕獲和播放MJPEG-使用OpenCV和ffmpeg通過UDP傳輸網絡視頻流

[英]Capture and play MJPEG - Network Video stream over UDP with OpenCV and ffmpeg

我正在嘗試接收和顯示udp實時mjpeg-來自網絡攝像頭的網絡視頻流。 通過使用參數--demux=mjpeg啟動VLC,然后在網絡流字段中鍵入udp://@:1234 ,可以播放視頻流。 或通過控制台行使用gstreamer: gst-launch -v udpsrc port=1234 ! jpegdec ! autovideosink gst-launch -v udpsrc port=1234 ! jpegdec ! autovideosink gst-launch -v udpsrc port=1234 ! jpegdec ! autovideosink 我的Cam的IP地址為192.168.1.2 ,它將流發送到地址192.168.1.1:1234

我試圖用OpenCV捕獲流:

cv::VideoCapture cap;
cap.open("udp://@192.168.1.1:1234");

我也嘗試過:

cap.open("udp://@:1234")

cap.open("udp://@localhost:1234")

cap.open("udp://192.168.1.1:1234")

cap.open("udp://192.168.1.1:1234/")

但是該函數將一直掛起,直到我按ctrl+C為止。 當我將ffmpeg與以下內容一起使用時,我會遇到相同的問題: ffmpeg -i udp://@192.168.1.1:1234 -vcodec mjpeg

我做錯了什么? 當我安裝ffmpeg時,我無法安裝依賴項libsdl1.2-dev 那是問題嗎?

如果是這樣,有什么方法可以從套接字讀取udp幀,然后解碼JPEG圖片並用OpenCV顯示它?

我有Freescale linaro oneiric 11.10操作系統和Freescale內核3.0.35

不管怎么說,還是要謝謝你。 我通過安裝較新版本的ffmpeg並使用ffmpeg的C-Api解決了此問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM