添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
严肃的围巾  ·  Mocking Session State ...·  1 月前    · 
才高八斗的警车  ·  MATLAB编程 ...·  1 月前    · 
眉毛粗的书签  ·  GCP ...·  5 月前    · 

首先个人感觉JAVACV这个库不好用,内部API基本上没有注释

        FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtspUrl);
		log.info("创建grabber成功");
		grabber.setOption("rtsp_transport", "tcp");
		grabber.setFrameRate(frameRate);
		//设置获取的视频宽度
		grabber.setImageWidth(frameWidth);
		//设置获取的视频高度
		grabber.setImageHeight(frameHeight);
		//设置视频bit率
		grabber.setVideoBitrate(2000000);
		FFmpegLogCallback.set();
		grabber.start();
		log.info("grabber.start");
		Java2DFrameConverter java2DFrameConverter = new Java2DFrameConverter();
		while (true){
			Frame frame = grabber.grabImage();
			if (null == frame) {
					continue;
			BufferedImage bufferedImage = java2DFrameConverter.getBufferedImage(frame);
			byte[] bytes = imageToBytes(bufferedImage, "jpg");
			byte2image(bytes);
            // 抓取延时2s
            Thread.sleep(2000);
		try (FileImageOutputStream imageOutput = new FileImageOutputStream(new File("D:\\excel\\" + num + ".png"))) {
			num++;
			imageOutput.write(data, 0, data.length);
			log.info("图片保存成功" + num);
		} catch (Exception ex) {
			ex.printStackTrace();

使用FFmpegFrameGrabber.grabImage()进行抓帧的时候,如果设置Thread.sleep(2000),保存在D盘的图片并不是搁2s一张,是连续的帧,且抓取一段时间会出现Error: [h264 @ 00000181aa66e6c0] error while decoding MB 91 47, bytestream -5 错误

这边为了解决这个问题,代码改为下面的(因为本身要求只是个小demo,可能只是演示使用一次)

            FFmpegFrameGrabber.tryLoad();
			grabber = FFmpegFrameGrabber.createDefault(rtspUrl);
			log.info("创建grabber成功");
			grabber.setOption("rtsp_transport", "tcp");
//			grabber.setFrameRate(frameRate);
//			//设置获取的视频宽度
//			grabber.setImageWidth(frameWidth);
//			//设置获取的视频高度
//			grabber.setImageHeight(frameHeight);
//			//设置视频bit率
//			grabber.setVideoBitrate(200000);
//			grabber.setMaxDelay(2);
			FFmpegLogCallback.set();
            //不进行grabber.start()
			//grabber.start();
			log.info("grabber.start");
			singleThreadExecutor.execute(() -> {
				while (true) {
					try {
						Long end = System.currentTimeMillis();
                        //为了抓取最新的,每次进行grabber.start()
						grabber.start();
						log.info("grabber.start====>" + (System.currentTimeMillis()-end));
						frame = grabber.grabImage();
						log.info("grabber.grabImage====>" + (System.currentTimeMillis()-end));
						if (frame != null) {
							bufferedImage = java2DFrameConverter.getBufferedImage(frame);
							if (bufferedImage != null) {
								byteImage = PictureUtils.imageToBytes(bufferedImage, "jpg");
							    this.byte2image(byteImage);
						log.info("数据转换====>" + (System.currentTimeMillis()-end));
                        //抓取完成,进行grabber.stop()
						grabber.stop();
						Long data = System.currentTimeMillis();
						log.info("grabber.stop====>" + (data-end));
						Thread.sleep(1000);

通过每次抓取去grabber.start() 和grabber.stop()去解决这个问题

JAVACV 中断报错:Error: [h264 @ 00000181aa66e6c0] error while decoding MB 91 47, bytestream -5,图像延时问题 首先个人感觉JAVACV这个库不好用,内部API基本上没有注释,社区也不够完善 FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtspUrl); log.info("创建grabber成功"); grabber.setOption("rtsp_transport", "tcp"); grabber.setFrameRate(frameRate); //设置获取的视频宽度 grabber.s.
我是使用 ffmpeg播发mp4视频时候报错的,报错,但是视频依然能播发。mp4视频是自己打包的。 经过追踪,在h264打包成mp4之前的纯264视频就存在了报错问题。经过对比,确定是264视频帧数据存在错误。
JavaCV-示例 该项目包含使用和来自项目的其他库包装器的。 -在罗伯特Laganière的书“OpenCV计算机视觉应用编程食谱”介绍的例子JavaCV版本。 Cookbook中的原始示例是C ++,在此将它们转换为使用JavaCV API。 使用库的示例。 将用于Flir / Point Grey 。 demo-将用于Flir / Point Grey 示例。
一方面:如果采取pipeline的模式进行目标识别,先读取数据再识别,会有下面的报错: [h264 @ 0x55abeda05080] left block unavailable for requested intra mode [h264 @ 0x55abeda05080] error while decoding MB 0 14, bytestream 104435 目前比较靠谱的一种解释是“FFMPEG Lib does not support H264 videos
解决Python OpenCV 读取视频抽帧出现error while decoding问题1. 问题2. 解决3. 源代码参考 1. 问题 读取H264视频,抽帧视频并保存,报错如下; [aac @ 00000220b9a07fc0] Input buffer exhausted before END element found [h264 @ 00000220b9cd0500] error while decoding MB 20 45, bytestream -14 2. 解决 溯本求源:htt
JAVACV 中断报错:Error: [h264 @ 00000181aa66e6c0] error while decoding MB 91 47, bytestream -5,图像延时问题