JavaCV升级1.5.6之后遇到h265/hevc编码的视频无法打开编解码器avcodec_open2() error -1:Could not open video codec异常解决办法

h265/hevc编码的视频无法打开编解码器问题

遇到问题:
升级或使用1.5.6版本的JavaCV后运行报avcodec_open2() error -1:Could not open video codec错误。

原因:
这是因为1.5.6开始javacv不再默认包含gpl许可协议的编解码库,涉及到的库包含:libx264、libx265等等。

关于gpl许可协议提示
商用软件如果确认不开源,请谨慎考虑是否使用gpl许可的代码库。

也就是说默认情况下h265编码是无法是用的,h264、vp8、vp9、av1等编解码则不受影响。

另提示:使用h264在默认情况下,ffmpeg会使用cisco(思科)的openh264编解码库,所以h264也不受影响,除非你要使用libx264,则必须在原有基础上添加下述依赖项。

如何解决:
原本的javacv全量依赖:

<dependency>
      <groupId>org.bytedeco</groupId>
      <artifactId>javacv-platform</artifactId>
      <version>1.5.6</version>
</dependency>

在原有的基础上再添加一个gpl依赖:

        <!-- Optional GPL builds with (almost) everything enabled -->
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>ffmpeg-platform-gpl</artifactId>
            <version>4.4-1.5.6</version>
        </dependency>

opencv硬件加速

另外1.5.6版本新增了Opencv硬件加速cuda模块,如果图像处理识别和深度学习等需要使用gpu硬件加速,则添加下面的依赖:

        <!-- Additional dependencies required to use CUDA and cuDNN -->
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>opencv-platform-gpu</artifactId>
            <version>4.5.3-1.5.6</version>
        </dependency>

如果觉得博主写得还不错,欢迎“关注、点赞、收藏”一键三连!!!

posted @   eguid  阅读(1847)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示