首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >opencv for java视频编辑程序无法打开

opencv for java视频编辑程序无法打开
EN

Stack Overflow用户
提问于 2016-03-16 16:38:46
回答 2查看 3K关注 0票数 2

我在java中使用opencv3.1.0。我想把视频保存到文件中,但是录影器不能打开。我的代码如下:

代码语言:javascript
复制
Size size = new Size(capture.get(Videoio.CAP_PROP_FRAME_WIDTH), capture.get(Videoio.CAP_PROP_FRAME_HEIGHT));
double fps = capture.get(Videoio.CAP_PROP_FPS);
VideoWriter vw = new VideoWriter("/home/sify/1.mp4", VideoWriter.fourcc('X', '2', '6', '4'), fps, size, true);

vw.isOpened()返回false。没有创建任何文件。

我怀疑四‘s是不是出了什么问题。

我尝试使用H 264/XVID/FMP4 4/MPEG,并尝试将第二个参数替换为(int)capture.get(Videoio.CAP_PROP_FOURCC),也不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-11 18:59:36

openCV下载包含动态链接库文件opencv_ffmpeg343_64.dll中的mp4编解码器。要使JVM看到这一点,请在打开VideoWriter之前运行如下行。

代码语言:javascript
复制
System.setProperty("java.library.path", "C:\pathToFolderContainingDLL")
val fieldSysPath = ClassLoader::class.java.getDeclaredField("sys_paths")
fieldSysPath.isAccessible = true
fieldSysPath.set(null, null)
//next time path is accessed, the new path will be imported

System.loadLibrary("opencv_ffmpeg343_64")
票数 1
EN

Stack Overflow用户

发布于 2017-10-09 13:56:10

问题是编解码,试试这个。

代码语言:javascript
复制
int fourcc = VideoWriter.fourcc('m','j','p','g');
Size frameSize = new Size((int) videoCapture.get(Videoio.CAP_PROP_FRAME_WIDTH),(int) videoCapture.get(Videoio.CAP_PROP_FRAME_HEIGHT));
VideoWriter videoWriter = new VideoWriter("testfile.avi", fourcc, 20, frameSize, true);
 if (videoCapture.read(frame))
      videoWriter.write(frame);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36041735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档