我尝试弄清楚如何使用 FFmpeg 修剪视频。我.mov
使用 Apple 的 QuickTime 播放器创建了一个 30 秒的屏幕截图,然后尝试使用三种不同的方式对其进行修剪:
使用
-copyts
,无需重新编码ffmpeg -copyts -ss 00:00:10 -i input.mov -to 00:00:15 -map 0 -c copy output.mov
使用
-copyts
,并重新编码ffmpeg -copyts -ss 00:00:10 -i input.mov -to 00:00:15 -c:v libx264 -crf 23 -c:a aac -b:a 192k output.mov
使用
-trim
(重新编码,这是唯一的选择):ffmpeg -i input.mov -vf trim=10:15 output.mov
无论我尝试哪种方法,输出的视频总是 15 秒长,其中前 10 秒只是黑屏,而我预期的是 5 秒的视频,并且没有黑屏。
这三个解决方案都来自这里:https://superuser.com/questions/377343/cut-part-from-video-file-from-start-position-to-end-position-with-ffmpeg(@slhck和@malat的回答),并且投票率很高,所以我以为它们应该可以正常工作,但事实并非如此。这是为什么?命令有问题,还是视频有问题?
通常与分片流
.mov
一起使用。如果您坚持使用 quicktime(或)如果您输出到 matroska。
重新编码:
我必须在重新编码时指定视频比特率,否则它会发出一个大的黄色警告。
添加
-b:v 809k
解决了这个问题。所有测试都在 Fedora 40 上使用 ffmpeg 版本 6.1.1 进行