我正在尝试在单个命令中从视频文件转换和提取图像帧 我可以分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"
答案 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"
)