2017-04-21 245 views
0

我想在JOGL(用於OpenGL的Java綁定)中使用JavaCV錄製視頻。JavaCV VideoWriter無法打開

這是打開的視頻文件中的代碼:

VideoWriter wv; 
wv.open("video.avi", CV_FOURCC_DEFAULT, 30 , new Size(width, height), true); 

的問題是,wv.isOpened()始終返回false並沒有創建視頻文件。

事情我已經嘗試:

  • 更改 「video.avi」 到 「video.mp4」
  • 變化CV_FOURCC_DEFAULT爲-1
  • 更改寬度,高度,FPS值

任何人都做到了這一點?

我的機器正在運行一個帶有JavaCV v1.3.2和JOGL v2.3.2的Ubuntu 14.04 LTS。

+0

@aarelovich我想記錄什麼JOGL在我的電腦屏幕上繪製。我用'glReadPixels()'獲得每幀的像素。關於這個決議,我已經嘗試過我的屏幕1920x1080的分辨率和'reshape()'返回的1855x1056。 – dxb

回答

0

當使用OpenCV的與C++,我不得不定義這個常量:

const int VIDEO_CODEC_FOURCC = CV_FOURCC('M','J','P','G'); 

嘗試使用CV_FOURCC功能和使用.avi文件擴展名,你原本做的事情。另外,請嘗試確保相機的框架尺寸與您在寬度和高度上傳遞的尺寸相同。

+0

我已經使用該行,但我得到:_incompatible類型:可能有損轉換從char到byte_。這可以通過鑄造輕鬆修復。我通過CV_FOURCC((字節)'M',(字節)'J',(字節)'P',(字節)'G')改變了'CV_FOURCC_DEFAULT',現在創建了該文件。謝謝你的幫助! – dxb

+0

歡迎您光臨!我已經爲此付出了很多努力,所以我知道它的感覺 – aarelovich