FFMPEG批量转换工具(适用于Windows)

10

我一直在尝试使用ffmpeg转换整个文件夹中的文件。我搜索了网络,找到了各种答案,但没有一个能帮助我。目前,我正在使用多个ffmpeg实例同时转换多个文件。但每次都要键入所有内容,即使使用复制/粘贴也很耗时且烦人。

为了简化我的当前代码,它看起来会像这样。我指定输入文件和输出格式(+各种设置):

 ffmpeg -i "EXAMPLE.avi" newEXAMPLE.mp4

但我想要的是一个单一实例的ffmpeg将特定文件夹中的所有文件转换为新格式,并使文件保持原始名称。
例如:example1.avi > example1.mp4
例如:example2.avi > example2.mp4
例如:example3.avi > example3.mp4
等等...
PS. 我对这些事情有点新,所以我非常感谢您在回答时提供解释,以便我能够理解和学习。谢谢!

我相信这就是你要找的 https://dev59.com/hG025IYBdhLWcg3wzpWK#74585087 这也适用于子目录中的视频 :) - Joel
3个回答

17
for /f "tokens=1 delims=." %a in ('dir /B *.avi') do ffmpeg -i "%a.avi" "%a.mp4"

这是针对命令行窗口使用的,如果您想在批处理脚本中使用它,则需要将所有百分号加倍。您必须在视频所在的目录中运行它。


10
为了让Windows用户更方便地进行批量编码,我使用.NET/C#开发了这个免费的开源应用程序。 我希望将其作为附加选择项包含在此处,以使一些不太熟悉命令行操作的Windows用户的工作变得更加轻松。 https://sourceforge.net/projects/ffmpeg-batch

即使非常熟悉ffmpeg,这也很棒!出于某种原因,它似乎比通过命令行执行相同操作更快。 - Ben
哦,这真是令人惊讶 :) - Eibel

9
如果你的文件名中包含多个句点,你可以使用以下方法代替:
for /r C:\path\ %a in (*.avi) do ffmpeg -i "%a" "%~pa%~na.mp4"

只需根据需要编辑"C:\path\"即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接