javacv-ffmpeg(3)ビデオキャプチャ

説明

ローカルファイル、rtmp、rtsp、http-flv、hlsをサポートします

1.コード例

			boolean isStart = true;// 该变量建议设置为全局控制变量,用于控制录制结束
			FFmpegFrameGrabber ff = new FFmpegFrameGrabber(url);
			// 微秒 大概为设置时间的两倍 TimeoutOption代码在示例文章二
			grabber.setOption(TimeoutOption.RW_TIMEOUT.getKey(), timeout);
			// rtsp 默认udp 丢包 改为tcp
			grabber.setOption("rtsp_transport", "tcp");
			grabber.start();
			//好多视频熟悉可以获取后打印 示例几个
			log.info("ImageWidth:" + grabber.getImageWidth());
			log.info("ImageHeight:" + grabber.getImageHeight());
			log.info("AudioChannels:" + grabber.getAudioChannels());
			log.info("Format:" + grabber.getFormat());
			FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outputFile, imageWidth, imageHeight, grabber.getAudioChannels());
					recorder.setFrameRate(grabber.getFrameRate());
//					recorder.setAudioBitrate(grabber.getAudioBitrate());
//					recorder.setSampleRate(grabber.getSampleRate());
//					recorder.setGopSize(2);
					recorder.setFormat(Format);
					recorder.setAudioCodecName("aac");
					recorder.setVideoCodec(grabber.getVideoCodec());
			Frame f = null;
			//如果想截取规定时间段视频 请看系列文章二
			while (isStart) {
    
    
				f = grabber.grabFrame();
				recorder.record(f);
			}
			recorder.stop();
			recorder.release();
			grabber.stop();
			grabber.release();
			

2.ビデオフォーマット

rtmp、rtsp、http-flvMP4として
保存hlstsとして保存

おすすめ

転載: blog.csdn.net/u013947963/article/details/103423570
おすすめ