记一次 javacv 问题–获取视频码流格式
概述:
由于前端摄像头设备型号种类繁多,对视频编码格式的设置大不相同,根据视频流信息来确定对应设备的视频码流格式。
主要使用javacv来从流地址中获取视频码流格式信息。
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>${javacv.version}</version>
</dependency>
读取视频流信息
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("流地址");
//启动
grabber.start();
//读取视频编码格式
grabber.getVideoCodec()
log.info("编码器ID[{}]",videoCodec);
编码器ID,打开avcodec.java,看到编码器ID为27表示h264;173表示h265编码
由此可以确认当前视频流码流格式。
引出问题:
本文使用的是javacv1.5.6版本,读取h265码流格式的流地址会报错
度姐既然能查到解决方案,那么就直接拿来用。
解决1.5.6版本拉流h265原文链接
注意:这个方案也只能解决rtsp流的问题,若编码是h265,则同样会报错,目前没找到解决方案。文章来源:https://www.toymoban.com/news/detail-426464.html
缺点:
点位太多,还存在是否在线的问题,一个一个获取,效率很慢,目前没想到更好的方法。文章来源地址https://www.toymoban.com/news/detail-426464.html
到了这里,关于记一次 javacv 问题–获取视频码流格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!