我正在寻找 ffmpeg 的 .bat 脚本,然后偶然发现了论坛上的这个帖子。
有问题的代码是
for %%F in (*.mp4) do (
If not Exist "%%~nF" MkDir "%%~nF"
ffmpeg -i %%F -r 1 -qscale:v 2 %%~nF\%%~nF-%%3d.jpg
)
FFMPEG 已添加到 PATH,当我尝试在文件夹上使用此批处理脚本时,虽然创建了文件夹,但没有出现图像。
除了让屏幕截图出现在文件夹中之外,我还想知道是否有更好的命令来包含多种文件格式 - 我的大部分内容都是.mkv,但这里也有其他随机格式。
会
for %%F in (*.mp4, *.mkv) do (
为此工作?
我忘了补充,我不确定这是否重要,但文件位于外部硬盘驱动器(不是 C:/)上,脚本从包含文件的文件夹中运行。
很抱歉创建了新帖子,我本来想在那篇帖子中发表评论,并希望评论者能够回复,但我是一个新帐户,没有声誉。任何帮助都非常感谢,感谢您的时间!
答案1
复制的代码行ffmpeg
不会保存包含空格的路径/文件名。
将 -line更改ffmpeg
为以下内容:
ffmpeg -i "%%F" -r 1 -qscale:v 2 "%%~nF\%%~nF-%%3d.jpg"
请注意添加的引文。
我只是想知道是否有更好的命令来包含多种文件格式 - 我的大部分内容都是.mkv,但这里也有其他随机格式。
会
for %%F in (*.mp4, *.mkv) do (
为此工作?
你为什么不自己测试一下这个已知代码?测试这个绝对不是什么大事。你可以轻松地自己解决的问题是不礼貌的。——它禁止我们帮助别人。
但是是的:要通过扩展名捕获不同的文件格式,对代码最简单的更改就是您自己的建议。
更新
不幸的是,我更改了线路,但它仍然立即关闭,文件夹中没有出现任何内容
这暗示我您是通过快捷方式图标启动批处理,而不是从打开的命令 shell 中启动批处理。
要查看代码的运行情况,请打开命令 shell 并将脚本作为 shell 命令启动。请复制输出作为问题的更新。
也许您想生成视频集的小型测试结构以限制合理的输出量。