适用于Windows的FFMPEG批量转换

Ash*_*dog 4 ffmpeg

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

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

 ffmpeg -i "EXAMPLE.avi" newEXAMPLE.mp4
Run Code Online (Sandbox Code Playgroud)

但我想要的是一个ffmpeg实例,可以将特定文件夹中的所有文件转换为新格式,并保存文件的原始名称.

example1.avi> example1.mp4

example2.avi> example2.mp4

example3.avi> example3.mp4

等等...

PS.我对这些事情有点新意,所以我非常感谢你的回答,所以我能理解和学习.谢谢!

Dom*_*son 9

如果文件名中有多个句点,则可以使用此方法:

for /r C:\path\ %a in (*.avi) do ffmpeg -i "%a" "%~pa%~na.mp4"
Run Code Online (Sandbox Code Playgroud)

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


use*_*477 8

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

这适用于cmd窗口用法,如果要在批处理脚本中使用它,则为双倍所有百分号.您已在视频所在的目录中运行它.


小智 7

为了让 Windows 用户更容易进行 ffmpeg 批量编码,我使用 .NET/C# 开发了这个免费的开源应用程序。我想将它包含在这里作为一个额外的选择,以使一些可能不太熟悉命令行操作的 Windows 用户更容易使用它。

https://sourceforge.net/projects/ffmpeg-batch