2014-03-07 92 views
1

我一直在努力從網絡攝像機捕捉和保存流作爲視頻。現在代碼很簡單,我製作了一個視頻編寫器並保存了視頻。我正在使用視頻的標準avi容器。視頻文件和OpenCV

當我們定義視頻的作家,我們還必須定義,我們應該同時節省了視頻使用的編解碼器。現在,該文件here指定的編解碼器的列表如下:

CV_FOURCC('P','I','M','1') = MPEG-1 codec 
CV_FOURCC('M','J','P','G') = motion-jpeg codec (does not work well) 
CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec 
CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec 
CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec 
CV_FOURCC('U', '2', '6', '3') = H263 codec 
CV_FOURCC('I', '2', '6', '3') = H263I codec 
CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec 

但在使用它們,我們正在對視頻文件是不妥當的。它的大小爲0,所以進一步檢查,我發現了編解碼器必須在系統上安裝和OpenCV的版本也必須與編解碼器兼容。此外,可以應用的編解碼器取決於正在使用的操作系統。

我的操作系統是Windows 7和OpenCV的版本是2.4.6。

問題: 是否有一個文檔或指定可以與OpenCV中的每個版本中使用的編解碼器,並指定操作系統細節的網頁?如果確實存在,我可以在哪裏找到它?

回答

1

page解釋它的工作原理:

此外,如果傳遞的參數減一,一個窗口將包含安裝在系統上的所有編解碼器運行時彈出,並要求您選擇要使用的一個:

outputVideo.open(NAME, -1, inputVideo.get(CAP_PROP_FPS), S, true); 

enter image description here

+0

好了,讓我怎麼編解碼器添加到我的系統?我的意思是我想使用H.264,但它不在我的系統上。我該怎麼辦? –

+0

對於它實現了H.264,你可以去這裏的x264:http://sourceforge.net/projects/x264vfw/ –

+0

好吧,我現在得到它的選項,但使用CV_FOURCC選項如何申請? –