javacv无法解析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javacv无法解析相关的知识,希望对你有一定的参考价值。
参考技术A JavaCV是一个开源的基于Java的视觉库,它可以帮助开发人员更轻松地创建和管理视觉应用程序。它提供了一个简单的API,可以用来管理图像,视频,视频流和视频处理等任务。但是,JavaCV无法解析或解释基于表达式的文本,因为它不是一个文本处理器。它只能处理和解释图像和视频数据,而不能处理文本数据。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>
如果觉得博主写得还不错,欢迎“关注、点赞、收藏”一键三连!!!
本文来自博客园,作者:eguid,没有作者允许禁止转载,取得作者同意后转载需注明作者名和原文链接:https://www.cnblogs.com/eguid/p/16015449.html
以上是关于javacv无法解析的主要内容,如果未能解决你的问题,请参考以下文章
JavaCV音视频开发宝典:JavaCV读取Base64编码图片并解析预览图片
JavaCV开发详解之21补充篇1:使用javacv读取海康大华平台和海康大华摄像头sdk回调视频裸流并解析
JavaCV开发详解之21补充篇1:使用javacv读取海康大华平台和海康大华摄像头sdk回调视频裸流并解析