JavaCV 是一个使用 Java 语言实现的 OpenCV 和 FFmpeg 的接口库,它允许 Java 开发人员使用这些强大的多媒体处理库。然而,在使用 JavaCV 进行开发时,可能会遇到一些常见的错误。在本文中,我将介绍一些常见的 JavaCV 错误和解决方法。
1、Estimating duration from bitrate, this may be inaccurate
这个错误信息通常是由于使用的视频文件的元数据(如码率)不完整或损坏导致的。
可以尝试重新下载或获取该视频文件,或者使用其他视频工具进行转换和处理。
若视频没问题,就可以不用管,这个是正常情况,opencv在通过码率计算时长会有误差。
禁用该警告信息:
FFmpegLogCallback.set() .setDefaultLogLevel(Level.ERROR) .setCallback(new PrintStreamCallback(System.err));
2、Warning: Invalid return value 0 for stream protocol
如果不使用文件作为输入,而是使用自定义的(内存)输入流,会看到此运行时警告。
这个错误通常是从byte[]读取流时会报这个错,因为文件通常-1 \0代表结束,而字节数组没有。可以忽略,也可以禁用日志警告即可参考问题1
3、No video output stream (Is imageWidth > 0 && imageHeight > 0 and has start() been called?)