如何在单个命令中使用FFMPEG转换视频并从视频中提取帧

时间:2013-07-13 07:45:43

标签: ffmpeg

我正在尝试在单个命令中从视频文件转换和提取图像帧 我可以分2步完成这个,但我想用管道技术来做这个

这就是我所拥有的: 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"

1 个答案:

答案 0 :(得分: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"
  )