好用的工具FFmpeg程序员

FFmpeg使用教程(三)-在Java环境下使用FFmpeg压缩

2019-06-14  本文已影响3人  菜菜___

在前面两篇文章中
FFmpeg使用教程(一)-windows安装配置ffmpeg
FFmpeg使用教程(二)-常用的FFmpeg命令,包含提取音频、剪辑、转码、截屏、加logo等
我们已经了解到了在cmd窗口运行FFmpeg命令可以操作视频、音频,有时候文件太多或者需求比较复杂,在cmd窗口不好操作,我们也可以用java脚本调用FFmpeg命令,然后批量操作文件。
代码如下:

public class FFmpegVideo {
    /**
     * 压缩视频
     * @param convertFile  待转换的文件
     * @param targetFile  转换后的目标文件
     */
    private static  void toCompressFile(String convertFile,String targetFile){
        try{
            Runtime runtime = Runtime.getRuntime();
            /**将视频压缩为 每秒15帧 平均码率600k 画面的宽与高 为1280*720*/
            String cutCmd="ffmpeg -i " + convertFile + " -r 15 -b:v 600k  -s 1280x720 "+ targetFile;
            runtime.exec(cutCmd);
            System.out.println("文件:"+convertFile+" 正在转换中。。。");
        }catch(Exception e){
            e.printStackTrace();
            System.out.println("压缩文件出现异常:"+e.getMessage());
        }
    }

    public static void main(String[] ars ){
        final String convertFile="D:\\media\\";
        File f=new File(convertFile);
        File[] fs=f.listFiles();
        for(File ff:fs){
            if(ff.toPath().toString().toLowerCase().endsWith(".mp4")){
                String f1=convertFile+ff.getName();
                String f2=convertFile+"压缩后_"+ff.getName();
                toCompressFile(f1,f2);
            }
        }
    }
}
压缩后

这样原来300M的视频会被压缩到10M左右。

原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe
95后前端妹子一枚,爱阅读,爱交友,将工作中遇到的问题记录在这里,希望给每一个看到的你能带来一点帮助。
欢迎留言交流

上一篇 下一篇

猜你喜欢

热点阅读