ffmpeg 同一视频裁剪多次

ffmpeg 同一视频裁剪多次

我对 FFmpeg 和编程完全是个新手,所以这个问题可能太愚蠢了...我有一个视频,想把它裁剪成小块并渲染出每一个,所以我尝试使用 FOR 循环:

FOR /l %x IN (0,40,1000) DO ffmpeg -i sample.avi -filter:v "crop=20:20:x:x" outx.avi; done

我得到的是:[NULL @ 0000000002624220] 无法找到适合“outx.avi”的输出格式;outx.avi;:参数无效

有人可以帮忙吗?

答案1

您显然正在使用 Windows 批处理文件。这里,FOR循环没有尾随的; done,而 Bash 循环有。

在 Windows 下:

FOR ... IN ... DO ...

在 Bash 下:

for ... in ...; do ...; done

因此,请确保你使用了适合你的 shell 的语法。


请注意,简单地指定out.avi将使 ffmpeg 分别选择 MPEG-4 和 MP3 作为视频和音频编解码器,并且您的质量可能会很差。理想情况下,请指定视频和音频编码器,例如:

ffmpeg -i <input> -c:v libx264 -crf 23 -c:a aac -b:a 192k out.mp4

阅读H.264 编码指南了解更多信息。

相关内容