我有命令
for file in *.mp4; do ffmpeg -i "${file%.mp4} -vf fps=1/60 img%03d.jpg; done
我想在ffmpeg中使用它来迭代目录中的每个mp4文件并运行ffmpeg -i myvideo.mp4 -vf fps=1/60 img%03d.jpg
命令。但是,当我运行上面的for循环时,我收到错误"此时文件是意外的。"我该如何解决这个问题?
我还应该提到文件名中包含空格和其他特殊字符。
答案 0 :(得分:1)
几个问题:
-q:v 3
以提高JPG输出的质量。一个很好的尝试范围是2-5,其中较低的值是更高的质量和更大的文件大小。修复示例:
mkdir images
for file in *.mp4; do ffmpeg -i "$file" -vf fps=1/60 -q:v 3 "images/${file%.mp4}.jpg"; done