在切割视频时, 如果直接复制而不重新编码, 处理速度会大大提升。ffmpeg 命令可以通过 -acodec copy 和 -vcodec copy 选项实现这种无损切割
命令格式
ffmpeg -i input.mp4 -ss [开始时间] -t [持续时间] -acodec copy -vcodec copy output.mp4
-ss: 指定视频开始的时间点 (格式为时:分:秒), 如00:00:04表示第 4 秒开始-t: 指定持续时间 (格式为时:分:秒), 如00:04:16表示持续 4分16秒-acodec copy和-vcodec copy: 直接复制音频和视频数据, 实现无损分割
例子
从头开始截取前 30 秒
ffmpeg -ss 00:00:00 -t 00:00:30 -i keyoutput.mp4 -vcodec copy -acodec copy split.mp4
从 30 秒开始截取 30 秒的视频
ffmpeg -ss 00:00:30 -t 00:00:30 -i keyoutput.mp4 -vcodec copy -acodec copy split1.mp4
视频合并
在 list.txt 文件中, 对要合并的视频片段进行了描述
file ./split.mp4
file ./split1.mp4
ffmpeg 可以将分割后的多个视频片段进行合并
ffmpeg -f concat -i list.txt -c copy concat.mp4
原文