1

我正在尝试在单个命令中从视频文件中转换和提取图像帧我可以分两步执行此操作,但我想使用类似管道的技术来执行此操作

这就是我所拥有的: for %%a in ("*.avi") do ffmpeg -i "%%a" -c:v libx264 -preset slow -crf 20 -c:a libvo_aacenc -b:a 128k "%%~na.mp4" <-- 正确转换

我需要合并这个提取命令:

ffmpeg -i inputfile.avi  -r  1  -t  4  image-%d.jpeg

合并两个命令给出错误。

我该怎么做?

编辑: 这就是我所拥有的。但它只是转换视频,没有创建 jpg 图像作为第二个输出

for %%a in ("*.avi") do ffmpeg -i "%%a" -c:v libx264 -preset slow -crf 20 -c:a libvo_aacenc -b:a 128k "%%~na.mp4" | ffmpeg -r 1 -s 4cif "%%~na.jpeg"
4

1 回答 1

1

您可以创建一个如下所示的代码块,其中 2 个输出由它们的选项分开。

请注意,我在您的 jpg 文件名中添加了 %%05d 以热图像编号。

 for %%a in ("*.avi") do (
    fffmpeg -i "%%a" -c:v libx264 -preset slow -crf 20 -c:a libvo_aacenc -b:a 128k "%%~na.mp4" -r 1 -s 4cif -t 4 "%%~na%%05d.jpg"
  )
于 2013-07-13T08:49:23.643 回答