FFmpeg 7.0.1。我想了解是否可以使用
trim
修剪视频并使用 HH:MM:SS 格式(而不仅仅是秒)指定开始和结束时间。
也就是说,以下命令将视频从 5 秒修剪到 10 秒:
ffmpeg -y -i input.mp4 -vf trim=5:10,setpts=PTS-STARTPTS output.mp4
但是如果我尝试使用 HH:MM:SS 格式指定开始和结束时间,FFmpeg 将返回错误:
ffmpeg -y -i input.mp4 -vf trim='00:00:05':'00:00:15',setpts=PTS-STARTPTS output.mp4
ffmpeg -y -i input.mp4 -vf trim=00\:00\:05:00\:00\:15,setpts=PTS-STARTPTS output.mp4
输出文件为空,未编码任何内容(如果使用,请检查 -ss / -t / -frames 参数)
可以修复吗? (超级用户上的一个人建议
trim='00\:00\:05':'00\:00\:15'
或 trim=00\\:00\\:05:00\\:00\\:15
,但我收到了相同的错误消息。)
附带问题
要保留前 5 秒并放弃其他所有内容,我可以使用
ffmpeg -i input.mp4 -vf trim=end=5 output.mp4
。但如何只保留最后5秒呢?
要先放下5秒,我可以使用
ffmpeg -i input.mp4 -vf trim=start=5,setpts=PTS-STARTPTS output.mp4
。但如何去掉最后5秒呢?
试试这个
ffmpeg -y -i input.mp4 -vf "trim=start='00\:00\:05':end='00\:00\:15',setpts=PTS-STARTPTS" -an output.mp4