【问题标题】:ffmpeg batch retains old filetype in nameffmpeg 批处理在名称中保留旧文件类型
【发布时间】:2015-02-08 03:15:24
【问题描述】:

我正在使用以下 ffmpeg 脚本将文件夹中的所有 .mp4 文件转换为 .webm。

for %%A IN (*.mp4) DO ffmpeg -i "%%A" -c:v libvpx -crf 4 -b:v 3M -c:a libvorbis "%%A.webm"

我正试图让它从 "xxx.mp4" 变为 "xxx.webm"

但是,当我运行脚本时,文件名从 "xxx.mp4" 变为 "xxx.mp4.webm"

非常感谢任何建议。

【问题讨论】:

  • windows 资源管理器是否默认显示扩展?在运行脚本时关闭它可能会有所帮助。或者,您可以在 ffmpeg 完成它们之后重命名它们。
  • 是的,我看到了文件扩展名。关闭它时,我得到了相同的结果,一个名为“xxx.mp4”的 webm 文件。如果可能的话,我希望在转换后输出名称是正确的,但如果不是,我想我以后只需要重命名它们。

标签: batch-file ffmpeg filenames


【解决方案1】:

使用%%~nA.webm 选择文件名的名称部分。

从提示或文档中查看for /?

【讨论】:

    【解决方案2】:

    要在 webm 中递归转换嵌套文件夹中的所有 mp4 视频文件,你可以试试这个命令:

    find '~/Video/' -iname '*.mp4' -exec bash -c 'D=$(dirname "{}"); B=$(basename "{}"); mkdir "$D/webm/"; ffmpeg -i "{}" -c:v libvpx -crf 4 -b:v 3M -c:a libvorbis "$D/webm/${B%.*}.webm"' \;
    

    它将在包含 mp4 视频文件的文件夹中创建一个名为“webm”的文件夹,并且在“webm”文件夹中,它将保存相关的 webm 文件,而不会在名称中保留旧的文件扩展名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多