概述
packagecom.founder.util.video;importjava.util.ArrayList;importjava.util.List;public classTransferUtil {public static void main(String[] args) throwsFFmpegException {boolean flag = transform("D:\ffmpeg\ffmpeg2016\bin\ffmpeg.exe", "d:\ys\StoryBrooke.mp4", "d:\ys\480p.flv", "480x320");
System.out.println(flag);
}/*** 视频转换
*@paramffmpegPath ffmpeg路径
*@paramoldPath 原视频地址
*@paramnewPath 新视频存放地址(包含视频格式)
*@paramresolution 分辨率
*@return*@throwsFFmpegException*/
public static Boolean transform(String ffmpegPath, String oldPath, String newPath, String resolution) throwsFFmpegException {
List command =getFfmpegCommand(ffmpegPath, oldPath, newPath, resolution);if (null != command && command.size() > 0) {returnprocess(command);
}return false;
}private static boolean process(List command) throwsFFmpegException {try{if (null == command || command.size() == 0)return false;
Process videoProcess= new ProcessBuilder(command).redirectErrorStream(true).start();
videoProcess.getInputStream().close();int exitcode =videoProcess.waitFor();if (exitcode == 1)return false;return true;
}catch(Exception e) {throw new FFmpegException("file transfer failed", e);
}
}private static List getFfmpegCommand(String ffmpegPath, String oldfilepath, String outputPath, String resolution) throwsFFmpegException {
List command = new ArrayList();
command.add(ffmpegPath);//添加转换工具路径
command.add("-i"); //添加参数"-i",该参数指定要转换的文件
command.add(oldfilepath); //添加要转换格式的视频文件的路径
command.add("-qscale"); //指定转换的质量
command.add("4");/*command.add("-ab"); //设置音频码率
command.add("64");
command.add("-ac"); //设置声道数
command.add("2");
command.add("-ar"); //设置声音的采样频率
command.add("22050");*/command.add("-r"); //设置帧速率
command.add("24");
command.add("-s"); //设置分辨率
command.add(resolution);
command.add("-y"); //添加参数"-y",该参数指定将覆盖已存在的文件
command.add(outputPath);returncommand;
}
}class FFmpegException extendsException {private static final long serialVersionUID = 1L;publicFFmpegException() {super();
}publicFFmpegException(String message) {super(message);
}publicFFmpegException(Throwable cause) {super(cause);
}publicFFmpegException(String message, Throwable cause) {super(message, cause);
}
}
最后
以上就是饱满水蜜桃为你收集整理的java 视频分辨率_Java 转换视频格式 或者 分辨率的全部内容,希望文章能够帮你解决java 视频分辨率_Java 转换视频格式 或者 分辨率所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复