linux环境下javacv视频抓图失败
程序员文章站
2022-07-13 14:26:31
...
linux 环境javacv视频抓取第一帧失败
异常信息:
[2020-09-14 15:16:21,469] [ERROR] [ThumbnailThreadPool113-1] [] [resource.impl.ResourceServiceImpl] - Exception Caughtedavformat_open_input() error -5: Could not open input "https://.../group1/M00/00/86/test.mp4". (Has setFormat() been called?)
org.bytedeco.javacv.FrameGrabber$Exception: avformat_open_input() error -5: Could not open input "https://.../group1/M00/00/86/test.mp4". (Has setFormat() been called?)
at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:432) ~[javacv-1.1.jar:1.1]
at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:380) ~[javacv-1.1.jar:1.1]
......
pom依赖
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>nu.pattern</groupId>
<artifactId>opencv</artifactId>
<version>2.4.9-4</version>
</dependency>
处理过程
在windows环境下用同一个视频做本地测试,抓取第一帧正常,问题不能复现;
在mac环境用下同一个视频做本地测试,抓取第一帧正常,问题不能复现;
此时开始怀疑是否在linux环境下需要安装某些软件,网上各种查资料,无果。
......
在无计可施时网上看到一篇文章,发现竟然是缺少maven依赖的原因,替换依赖后问题解决。
替换pom依赖
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv-platform</artifactId>
<version>3.4.1-1.4.1</version>
</dependency>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>ffmpeg-platform</artifactId>
<version>3.4.2-1.4.1</version>
</dependency>
参考文章:https://blog.csdn.net/a1053646895/article/details/81335481
上一篇: SXSSF workbook createSheet() 失败获卡死 linux
下一篇: 华为笔试