ffmpeg通过cmd操作视频文件

Windows环境

下载中间工具

访问:https://ffmpeg.zeranoe.com/builds/

java 代码

package com.utils.media;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

public class VideoCutImgUtil {

    public static void main(String[] args) {
        String inputPath = "D:/leo/测试vido视频截取缩略图.mp4";
        String outputPath = "D:/leo/测试vido视频截取缩略图.png";
        String ffmpegPath = "D:/leo/ffmpeg-20180804-1940c27-win64-static/bin/";
        /*
         *  这里只有视频截图的命令demo;
         *  该软件可以做到将多张图片转为视频、为视频添加水印、添加背景音乐、转换视频格式很多种关于视频的操作
         *    更多的cmd命令网上很多
         */
        List<String> command = new ArrayList<String>();
        command.add(ffmpegPath + "ffmpeg");
        command.add("-i");
        command.add(inputPath);
        command.add("-ss");
        command.add("00:05");
        command.add("-t");
        command.add("10");
        command.add("-r");
        command.add("1");
        command.add("-f");
        command.add("image2");
        command.add("-vf");
        command.add("fps=fps=1");

        // 会分时段截取所有图片保存
        // command.add(outputPath + "a_%02d.png");

        // 仅截取第一张图片
        command.add(outputPath);
        try {
            Process videoProcess = new ProcessBuilder(command).redirectErrorStream(true).start();
            InputStream input = videoProcess.getInputStream();
            int ch;
            StringBuilder sb = new StringBuilder();
            while ((ch = input.read()) != -1)
                sb.append((char) ch);
            System.out.println(sb.toString());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
 

Linux环境(本人测试的是Ubuntu 16.04.3)

依次执行如下命令(将程序安装到/usr/bin目录下,相当于windows下的环境变量里;只知道是下载、更新、安装):

sudo add-apt-repository ppa:djcj/hybrid

sudo apt-get update

sudo apt-get install ffmpeg

查看软件版本:ffmpeg -version

猜你喜欢

转载自blog.csdn.net/cocoaxian/article/details/81532279