使用FFmpeg无损快速切割视频方法

安装FFmpeg

  1. ffmpeg下载

ffmpeg的官方网站是:http://ffmpeg.org/

  1. ffmpeg安装

下载完成后直接进行解压,然后配置环境变量就OK了,非常方便。

  1. ffmpeg安装成功验证

打开命令提示符窗口。输入命令“ffmpeg –version”。如果命令提示窗口返回FFmpeg的版本信息,那么就说明安装成功了。

FFmpeg无损快速切割视频方法

下面切割代码中的时间用的是时:分:秒, 00:00:04表示从第4秒开始切, 00:04:16持续4分16秒结束;

ffmpeg -i input.mp4 -ss  00:00:04  -t  00:04:16  -acodec copy -vcodec copy output.mp4
  • -ss 指定从什么时间开始
  • -t 指定需要截取多长时间
  • -i 指定输入文件

截取从头开始的30s

ffmpeg -ss 00:00:00 -t 00:00:30 -i keyoutput.mp4 -vcodec copy -acodec copy split.mp4

截取从30s开始的30s

ffmpeg -ss 00:00:30 -t 00:00:30 -i keyoutput.mp4 -vcodec copy -acodec copy split1.mp4

进行视频的合并

ffmpeg -f concat -i list.txt -c copy concat.mp4

在list.txt文件中, 对要合并的视频片段进行了描述, 内容如下:
file ./split.mp4
file ./split1.mp4

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Java调用FFmpeg切割视频。下面是一个简单的示例代码: ```java import java.io.BufferedReader; import java.io.InputStreamReader; public class VideoCutter { public static void main(String[] args) { String inputVideo = "input.mp4"; // 输入视频文件路径 String outputVideo = "output.mp4"; // 输出视频文件路径 int startTime = 10; // 开始时间(以秒为单位) int duration = 5; // 持续时间(以秒为单位) try { // 构建FFmpeg命令 String command = "ffmpeg -i " + inputVideo + " -ss " + startTime + " -t " + duration + " -c:v copy -c:a copy " + outputVideo; // 执行命令 Process process = Runtime.getRuntime().exec(command); // 获取命令输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 int exitCode = process.waitFor(); if (exitCode == 0) { System.out.println("视频切割成功!"); } else { System.out.println("视频切割失败!"); } } catch (Exception e) { e.printStackTrace(); } } } ``` 这段代码使用`Runtime.getRuntime().exec()`方法执行FFmpeg命令来切割视频。你需要将`input.mp4`替换为你的输入视频文件路径,`output.mp4`替换为你的输出视频文件路径,`startTime`替换为开始时间(以秒为单位),`duration`替换为持续时间(以秒为单位)。 请确保你已经正确安装了FFmpeg,并且FFmpeg可执行文件在系统路径中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值