ffmpeg

 


1.ffmpeg

  1. ffmpeg官网,https://ffmpeg.org/ffmpeg.html。
  2. FFmpeg是领先的多媒体框架,能够解码、编码、转码、过滤和播放多媒体。

2.项目中视频处理使用ffmpeg的两种方式

  1. 方式一。

    1. 官方下载ffmpeg的基于windows或者linux的工具包。
    2. 将ffmpeg的bin添加到path中,然后就可以直接使用ffmpeg命令。
    3. 项目中直接使用命令的方式(如直接执行ls)调用即可。
  2. 方式二,Java中引入ffmpeg的包。

    1. 引入依赖。
    <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>ffmpeg</artifactId>
        <version>6.1.1-1.5.10</version>
    </dependency>
    
    <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>ffmpeg-platform</artifactId>
        <version>6.1.1-1.5.10</version>
    </dependency>
    
    1. 代码使用。
    import org.bytedeco.javacpp.Loader;
    
    public class App {
        public static void main(String[] args) throws Exception {
            test02();
        }
    
        /**
         * 将视频转换为音频
         */
        public static void test02() throws Exception {
            String ffmpeg = Loader.load(org.bytedeco.ffmpeg.ffmpeg.class);
            ProcessBuilder pb = new ProcessBuilder(ffmpeg, "-i", "D:\\1.mp4", "-vn", "-ab", "160k", "-ar", "44100", "-ac", "2", "D:\\temp\\a.mp3");
            pb.inheritIO().start().waitFor();
        }
    
        /**
         * 使用ffmpeg每隔0.5将视频截取为图片
         */
        public static void test01() throws Exception {
            String ffmpeg = Loader.load(org.bytedeco.ffmpeg.ffmpeg.class);
            ProcessBuilder pb = new ProcessBuilder(ffmpeg, "-i", "D:\\1.mp4", "-vf", "fps=1/0.5", "D:\\temp\\%d.png");
            pb.inheritIO().start().waitFor();
        }
    }
    
posted @   行稳致远方  阅读(54)  评论(0编辑  收藏  举报
(评论功能已被禁用)
点击右上角即可分享
微信分享提示