springboot ffmpeg视频切割
时间: 2023-05-22 16:06:15 浏览: 568
java8源码-ffmpeg-web-pusher:基于FFmpeg、SpringBoot、JavaCV开发的远程推流服务,可通过http-a
可以使用FFmpeg的Java库(即JavaCV)来在Spring Boot中进行视频切割。以下是示例代码:
```
public class VideoController {
@RequestMapping(value = "/cut_video", method = RequestMethod.GET)
public void cutVideo(){
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("source_video_path.mp4");
try {
grabber.start();
int length = grabber.getLengthInFrames();
int fps = grabber.getFrameRate();
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("target_video_path.mp4", grabber.getImageWidth(), grabber.getImageHeight());
recorder.setFrameRate(fps);
recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
recorder.setFormat("mp4");
recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
recorder.setFrameRate(fps);
recorder.start();
for (int i=0;i<length;i++){
Frame frame = grabber.grabImage();
recorder.record(frame);
}
recorder.stop();
grabber.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这段代码使用了JavaCV的FFmpegFrameGrabber和FFmpegFrameRecorder两个类来实现视频的读取和写入。在这个例子中,我们将源视频切成等长的多段并保存为MP4格式。视频切割的算法可以自己定义,比如按照时间段或者按照帧数来切割。
阅读全文