吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2508|回复: 9
收起左侧

[Java 原创] FFmpeg压缩视频和添加水印

  [复制链接]
feihui8888 发表于 2023-7-27 16:22
本帖最后由 苏紫方璇 于 2023-7-27 23:37 编辑

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

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

[Java] 纯文本查看 复制代码

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()+ "毫秒");
    }


}

免费评分

参与人数 2吾爱币 +6 热心值 +2 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
fei888888 + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
hmtool 发表于 2023-7-27 16:26
提示: 作者被禁止或删除 内容自动屏蔽
kio123 发表于 2023-7-28 09:02
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
怎么添加文字水印呢,求命令代码

代码就直接添加水印了啊(水印的格式是图片非文字,你可以试试)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 19:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表