用ffmpeg剪切视频。

时间:2017-04-20 09:23:03

标签: video ffmpeg cut

这是我的想法。

我想剪切前10个视频和最后10个视频

感谢您的帮助

enter image description here

2 个答案:

答案 0 :(得分:3)

重新编码:

ffmpeg -ss 10 -i video.mp4 -filter_complex "[0]trim=10,setpts=PTS-STARTPTS[b];[b][0]overlay=shortest=1" -shortest -c:a copy out.mp4

-ss 10设置从头开始减少的金额。 trim=10设定了从结尾处削减的金额。这里需要注意的是,由于当前的shortest=1错误,这可能不适用于2017年的ffmpeg版本。

一种破解转码的黑客方法:

ffmpeg -ss 10 -i video.mp4 -ss 20 -i video.mp4 -c copy -map 1:0 -map 0 -shortest -f nut - | ffmpeg -f nut -i - -map 0 -map -0:0 -c copy out.mp4

根据位置关键帧,开始和结束时的修剪将不完美。首先ss开始修剪。第二个ssstarting + ending trim

答案 1 :(得分:1)

这好一点。

ffmpeg -i "<FILE>" -ss 00:00:10 -to  $( echo "$(ffprobe -v 0 -show_entries format=duration -of compact=p=0:nk=1 "<FILE>) - 35"  | bc) -c copy  "trimmed-output.mp4"

使用ffprobe获取持续时间:ffprobe -v 0 -show_entries format=duration -of compact=p=0:nk=1 "<FILE>

然后通过管道<duration> - 10bc从持续时间中减去10,然后将其用于ffmpeg的-to参数中。