适用于 Windows 的 FFMPEG 批量转换 [重复]
Posted
技术标签:
【中文标题】适用于 Windows 的 FFMPEG 批量转换 [重复]【英文标题】:FFMPEG Batch Convert for Windows [duplicate] 【发布时间】:2017-09-27 11:28:07 【问题描述】:很长时间以来,我一直在尝试使用 ffmpeg 转换文件的整个文件夹。我在网上搜索过,找到了各种答案,但没有一个对我有帮助。目前我正在使用多个 ffmpeg 实例一次转换多个文件。但是一直输入所有内容非常耗时且烦人,即使使用复制/粘贴也是如此。
为了简化我当前的代码,它看起来像这样。我指定输入文件和输出格式(+各种设置):
ffmpeg -i "EXAMPLE.avi" newEXAMPLE.mp4
但我想要一个 ffmpeg 的单个实例来将特定文件夹中的所有文件转换为新格式并让文件保留其原始名称。
example1.avi > example1.mp4
example2.avi > example2.mp4
example3.avi > example3.mp4
等等……
PS。我对这些事情有点陌生,所以我非常感谢你的回答的解释,所以我可以理解和学习。谢谢!
【问题讨论】:
【参考方案1】:为了让 Windows 用户更容易进行 ffmpeg 批量编码,我使用 .NET/C# 开发了这个免费的开源应用程序。我想将它作为一个额外的选择包含在此处,以使一些可能不太熟悉命令行操作的 Windows 用户更容易使用。
https://sourceforge.net/projects/ffmpeg-batch
【讨论】:
即使对ffmpeg非常熟悉,这也很棒!无论出于何种原因,它似乎也比通过命令行执行相同的操作要快。 嗯,这很令人惊讶:)【参考方案2】:如果文件名中有多个句点,则可以改用此方法:
for /r C:\path\ %a in (*.avi) do ffmpeg -i "%a" "%~pa%~na.mp4"
只需根据需要编辑“C:\path\”。
【讨论】:
【参考方案3】:for /f "tokens=1 delims=." %a in ('dir /B *.avi') do ffmpeg -i "%a.avi" "%a.mp4"
这是用于 cmd 窗口使用,如果你想在批处理脚本中使用它,比所有百分号加倍。您已在视频所在的目录中运行它。
【讨论】:
以上是关于适用于 Windows 的 FFMPEG 批量转换 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 bash 命令或 Ruby 使用 ffmpeg 将 mp4 文件批量转换为 ogg