1.第一种是普通版,直接合成文件夹所有图片
package com.lst.test;
import org.apache.log4j.Logger;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/**
* @version: V2.0
* @author:
* @className: VideoDemol
* @packageName: com.lst.test
* @description: 图片合成视频
* @date: 2021/6/16 11:05
**/
public class VideoDemol {
private static Logger logger = Logger.getLogger("log");
public static void main(String[] args) {
test3("E:\\ffmpeg\\ffmpeg-20200729-cbb6ba2-win64-static\\bin\\ffmpeg.exe","D:\\home\\video\\img\\","D:\\home\\video\\video");
}
public static void test3(String ffmpge,String tplj,String sclj) {
long startTime =System.currentTimeMillis();
List commend = new ArrayList();
commend.add(ffmpge);
//以1fps读入
commend.add("-r");
commend.add("4");
//-threads 2 以两个线程进行运行, 加快处理的速度。
commend.add("-threads");
commend.add("2");
commend.add("-f");
commend.add("image2");
commend.add("-i");
commend.add(tplj+"%d.jpg");
commend.add("-vcodec");
commend.add("libx264");
//-y 对输出文件进行覆盖
commend.add("-y");
//-r 5 fps设置为5帧/秒(不同位置有不同含义) %2d标识图片文件的正则
commend.add("-r");
commend.add("10");
//提高合成的视频清晰度,比特率
commend.add("-b:v");
commend.add("7000k");
commend.add(sclj