2012-01-04 155 views
10

我試圖記錄與OpenCV的框架包含視頻中想的是保存到一個Matroska的(MKV)容器連同一些額外的數據流。GStreamer的FFmpeg的VS

首先我想過使用FFmpeg的方式。 但是,當查看OpenCV源代碼並在網上搜索時,我發現了GStreamer。

因爲GStreamer中的文檔比FFmpeg的文檔,我寧願用這個框架要好得多。

在我的理解GStreamer是主要用於流媒體,但也可能rncode和複用的視頻數據。

使用GStreamer代替FFmpeg有什麼不利嗎?

在此先感謝 霍斯特

回答

12

我試圖記錄與OpenCV的框架包含視頻中想的是保存到一個Matroska的(MKV)

我不認爲可以的OpenCV存儲視頻作爲MKV,

具有一些附加的數據流

在一起。

OpenCV的不執行此操作提供的功能。

簡單的解決辦法是簡單地調用FFmpeg的或GStreamer中的CMD行應用程序做轉換爲你。

GStreamer確實有一個體面的文件,它也可以完成這項工作。明顯的缺點是,如果你知道如何使用FFmpeg,轉換到GStreamer將需要一些額外的時間來了解它是如何工作的,因爲兩者都有完全不同的API:GStreamer架構受DirectShow和Quicktime的啓發。

優勢是GStreamer的(除了是跨平臺也一樣)使用幾個大項目,結識的GStreamer肯定會很大技能添加到您的編程庫

+3

1作信息的GStreamer交:) – mevatron 2012-01-04 19:17:03

+0

OpenCV的構建其輸出數據存儲的概念和代理的圖案。您可以使用Ffmpeg代理,Gstreamer代理,甚至是_images proxy_,這是一種零代理,可以與其他JPEG圖像一起使用。看看[這個粘貼](http://paste.frubar.net/16334)[cvCreateVideoWriter函數](https://github.com/Itseez/opencv/blob/master/modules/highgui/src/cap的.cpp)。舉例來說,我用配置一個vanilla OpenCV,而不需要大量配置許多代理,並且只使用圖像,並在外部調用Ffmpeg進行視頻複用和解複用。 – uprego 2014-05-20 14:09:38