你可以使用FFmpeg命令去掉视频的前20秒钟,并保留剩余的视频内容。这可以通过-ss
参数指定起始时间。以下是具体的FFmpeg命令:
ffmpeg -ss 00:00:20 -i input.mp4 -c copy output.mp4
解释:
-
-ss 00:00:20
: 设置视频的起始时间为20秒,即从第20秒开始处理视频。FFmpeg会从指定时间点开始读取输入文件,而忽略之前的部分。 -
-i input.mp4
: 指定输入视频文件input.mp4
。 -
-c copy
: 复制视频和音频流,而不重新编码。这可以保持原始质量并加快处理速度。 -
output.mp4
: 指定输出文件的名称output.mp4
,保存去掉前20秒后的视频。
这个命令非常高效,因为它不会重新编码视频或音频,而是直接从指定的时间点开始复制流数据。这样可以快速去掉视频的前20秒并生成一个新的文件。
要使用FFmpeg删除视频的最后十秒钟,可以通过以下步骤实现:
- 确定视频的总时长。
- 计算需要保留的时长(即总时长减去最后的十秒)。
- 使用FFmpeg命令裁剪视频。
以下是一个具体的FFmpeg命令示例:
ffmpeg -i input.mp4 -t $(ffmpeg -i input.mp4 2>&1 | grep "Duration" | cut -d ' ' -f 4 | sed s/,// | awk -F: '{ print ($1 * 3600) + ($2 * 60) + $3 - 10 }') -c copy output.mp4
解释:
-
ffmpeg -i input.mp4 -t $(...) -c copy output.mp4
:-i input.mp4
:指定输入视频文件。-t $(...)
:指定输出视频的时长,这里通过嵌套的命令计算出需要保留的时长。-c copy
:复制音频和视频流,而不重新编码。output.mp4
:输出文件的名称。
-
嵌套命令
$(...)
部分:ffmpeg -i input.mp4 2>&1 | grep "Duration"
:获取视频的时长信息。cut -d ' ' -f 4 | sed s/,//
:提取并清理时长字符串。awk -F: '{ print ($1 * 3600) + ($2 * 60) + $3 - 10 }'
:将时长转换为秒数并减去10秒。
这种方式有效地截取了视频的前部分,去掉了最后的十秒钟,并且保留了原始视频的编码格式和质量。请确保FFmpeg已正确安装并配置在系统的路径中。