JAVA使用ffmpeg根据视频时长截取视频中N张图片(附获取视频时长方法)
一、执行多次命令遍历截取图片
/**
* 遍历截图
* @param tempVideoPath 视频路径
* @param cutImgNum 截取图片数量
*/
public void getVideoImg(String tempVideoPath, Integer cutImgNum) {
for (int i = 1; i < cutImgNum+1; i++) {
// 获取视频截取图片
String cutImgPath = this.getVideoCutImg(tempVideoPath, i);
// TODO 这里可以保存视频截图路径
// TODO 还可以进行一些业务逻辑...
}
}
/**
* 视频截图
* @param tempVideoPath 视频路径
* @param cutImgNum 截取图片数量
* @param index 第几张图
*/
public String getVideoCutImg(String tempVideoPath, Integer cutImgNum, Integer index) {
String resultStr = "";
try {
Long videoDuration = this.getVideoDuration(tempVideoPath);
long duration = (videoDuration / (cutImgNum+1)) * index