ffmpeg 批处理在名称中保留旧文件类型
ffmpeg batch retains old filetype in name
我正在使用以下 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"
非常感谢任何建议。
使用 %%~nA.webm
到 select 文件名的名称部分。
从提示或文档中查看 for /?
。
要在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 文件,而不保留名称中的旧文件扩展名.
我正在使用以下 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"
非常感谢任何建议。
使用 %%~nA.webm
到 select 文件名的名称部分。
从提示或文档中查看 for /?
。
要在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 文件,而不保留名称中的旧文件扩展名.