我試圖從IP攝像頭實時捕捉圖像。這個流在VLC中運行得非常好,但是OpenCV的cvQueryFrame()
似乎混亂和腐敗了傳入的圖像,以至於無法識別。OpenCV/FFMpeg圖像捕捉問題
同樣,從文件捕獲工作正常,但不是直播流。如果它有所作爲,我使用rtsp連接URL;我也嘗試過兩種不同的相機型號(不同品牌),問題依然存在。
此外,(我假設)編解碼器正在輸出以下幾種錯誤: Error at MB: 1746
和concealing 6000 DC, 6000 AC, 6000 MV errors
。
我該怎麼辦?
更新:序列中的第一個錯誤是總是cannot parallelize deblocking type 1, decoding such frames in sequential order
更新2:好吧,似乎OpenCV的/ FFmpeg中有RTSP/H264流的問題。我試過了Qt Phonon庫,這也不起作用,並且我已經給出了一個快速概覽庫。這個最後一個看起來很有效,因爲大家都說它的確如此,而應用程序示例(OpenRTSP)實際上可以很好地發揮我的流。然而,說實話,處理Live555代碼看起來像是一件漫長的事情,我現在幾乎無法承受。除了其他選擇,我想我必須走這條路。
是否還有其他解決方案?
更新3:我從LIVE555代碼工作的測試RTSP客戶端,所以我知道如何提取從流H264幀信息,但現在我需要重組該幀信息轉化爲實際顯示的幀,這似乎並不像直截了當!熟悉Live555的人都知道如何做到這一點?謝謝。
你使用的是什麼版本的OpenCV?在Linux或Windows上? – Mohammad
Win 7上的OpenCV 2.3.1。 –
'cvQueryFrame()'可能會返回NULL圖像。一定要在做這件事之前測試一下。 – karlphillip