[英]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.