【问题标题】:JavaCV VideoWriter does not openJavaCV VideoWriter 打不开
【发布时间】:2017-04-21 17:31:49
【问题描述】:

我想在 JOGL(OpenGL 的 Java 绑定)中使用 JavaCV 录制视频。

这是打开视频文件的代码:

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。

【问题讨论】:

  • @aarelovich 我正在尝试记录 JOGL 在我的计算机屏幕上绘制的内容。我用glReadPixels() 得到每一帧的像素。关于分辨率,我尝试了屏幕分辨率为 1920x1080 和reshape() 返回的分辨率为 1855x1056。

标签: jogl javacv video-recording


【解决方案1】:

在 C++ 中使用 OpenCV 时,我必须定义这个常量:

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

尝试使用 CV_FOURCC 函数并像原来一样使用 .avi 文件扩展名。还要尝试确保相机的框架尺寸与您在宽度和高度中传递的尺寸相同。

【讨论】:

  • 我用过那一行,但我得到了:不兼容的类型:从 char 到 byte 的可能有损转换。这可以通过铸造很容易地解决。我将 'CV_FOURCC_DEFAULT' 更改为 CV_FOURCC((byte)'M',(byte)'J',(byte)'P',(byte)'G') ,现在文件已创建。感谢您的帮助!
  • 不客气!!我为此付出了很多努力,所以,我知道那是什么感觉
猜你喜欢
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 2017-09-10
  • 2018-02-23
  • 1970-01-01
  • 2021-07-16
相关资源
最近更新 更多