Java操作ffmpeg截取视频指定时间的内容
src:原文件路径 dest:生成文件路径 start:开始时间(格式:xx:xx:xx) time:截取多少时间(格式:xx:xx:xx,如00:00:40 为40秒) event:默认填null 完成后事件
代码如下:
public static boolean interceptVideo(String src, String dest,String start,String time,AfterVideoConvertEvent event) {
FfmpegCommandBuilder fcb = new FfmpegCommandBuilder();
fcb.addFfmpegCommand();
fcb.addCommand("-ss");
fcb.addCommand(start);
fcb.addCommand("-t");
fcb.addCommand(time);
fcb.addInputFileCommand(src);
fcb.addCommand("-vcodec");
//fcb.addCommand("copy");
fcb.addCommand("h264"); //指定编码为播放器可支持的编码 无特殊要求填copy copy表示复制原编码
fcb.addCommand("-acodec");
fcb.addCommand("copy");
fcb.addCommand(dest);
execute(fcb.getCommandList(), src, dest, false, event);
return true;
}
package net.pubone.framework.media;
import java.util.ArrayList;
import java.util.List;
import net.pubone.framework.kit.StrKit;
import com.jfinal.kit.PathKit;
public class FfmpegCommandBuilder {
public static final String RESOLUTION_SUPERDEFINITION = &