feihui8888 发表于 2023-7-27 16:22

FFmpeg压缩视频和添加水印

本帖最后由 苏紫方璇 于 2023-7-27 23:37 编辑

先上ffmpeg软件下载地址:有window和lunix版本(window解压后添加环境变量,lunix安装有教程不详细介绍)
链接:https://pan.baidu.com/s/1qZEJKKCWTs4n_lA4f77myQ
提取码:52pj

压缩命令依据自己的要求,可自行修改。
代码如下,有帮助给点热心值{:1_918:}



import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.time.Duration;
import java.time.LocalDateTime;

public class VideoCompressionFFmpegCmd {

    public static void main(String[] args) throws IOException {
      String inputFileName= "C:\\******\\***.mp4";
      String outputFileName= "C:\\******\\***.mp4";
      String waterMarkFileName = "C:\\******\\***.png";
      String ffmpegPath = "D:\\Program Files\\ffmpeg\\bin\\ffmpeg.exe";

      String[] cmd = new String[]{ffmpegPath, "-i", inputFileName,"-i",waterMarkFileName,"-filter_complex" ,"overlay=x=W-w-30:y=30","-preset", "medium", "-crf", "23","-b:v","1M","-c:a","aac","-s","1280x720","-y", outputFileName};
      // 执行 FFmpeg 命令
      compressVideoFFmpeg(cmd);
    }





    private static void compressVideoFFmpeg(String[] cmd) throws IOException {
      LocalDateTime beginBuildMapTime = LocalDateTime.now();
      BufferedReader reader = null;
      try {
            ProcessBuilder pb = new ProcessBuilder(cmd);
            pb.redirectErrorStream(true);
            Process process = pb.start();
            reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            // 等待 FFmpeg 命令执行完毕
            process.waitFor();
      } catch (Exception e) {
            e.printStackTrace();
      } finally {
            if (reader != null) {
                reader.close();
            }
      }
      LocalDateTime endBuildMapTime = LocalDateTime.now();
      System.out.println("FFmpeg耗时:"+Duration.between(beginBuildMapTime,endBuildMapTime).toMillis()+ "毫秒");
    }


}

hmtool 发表于 2023-7-27 16:26

kio123 发表于 2023-7-28 09:02

666 加上视频传输参数更好用

wlsw 发表于 2023-7-28 10:04

非常感谢楼主,没有桌面,请教如何入门?

cong1018 发表于 2023-7-31 10:13

谢谢分享,收藏一波

myrant 发表于 2023-7-31 10:15

谢谢分享,收藏

w220913 发表于 2023-7-31 17:59

ffmpeg玩的溜。基本可以无视各种加密了。

ysxjl123 发表于 2023-8-13 15:19

怎么添加文字水印呢,求命令代码

feihui8888 发表于 2023-8-15 08:45

ysxjl123 发表于 2023-8-13 15:19
怎么添加文字水印呢,求命令代码

代码就直接添加水印了啊(水印的格式是图片非文字,你可以试试)
页: [1]
查看完整版本: FFmpeg压缩视频和添加水印