尝试使用 ffmpeg SPACES IN NAME 将 mp3(和图像)转换为 mp4 时出错
Error when trying to convert mp3 (and image) to mp4 using ffmpeg SPACES IN NAME
我找到了如何在批处理文件中使用以下代码将 MP3 批量转换为 MP4:
for %%f in (*.mp3) do ffmpeg -i %%f -loop 1 -i image.jpg -c:a copy -c:v libx264 -shortest %%~nf.mp4
它工作正常,除非 FILENAME 中有空格:FILENAME.mp3 工作正常但 FILE NAME.mp3 给出错误 "No such file or directory."
我尝试在 %%f 前后插入 "delims=",但它一直说这是意外的。有什么想法吗?
谢谢。
for %%f in (*.mp3) do ffmpeg -i "%%f" -loop 1 -i image.jpg -c:a copy -c:v libx264 -shortest "%%~nf.mp4"
一般"quote filenames that may contain spaces"
"delims="
只能与 for /f
一起使用,如
for /f "delims=" %%f in (...
for
的目的主要是从文件中读取行。
使用 'dir /b /a-d filemask'
- 包括引号以向 for /f
提供要处理的文件名列表。 /b
表示 "basic form"(仅限名称),/a-d
表示 "no directories".
如果您的文件名包含空格等分隔符,请使用 `"delims=" 否则隐式 "tokens=1" 将截断第一个分隔符处应用的值。
谢谢大家的帮助,引号就是诀窍。
我改变了这个:
for %%f in (*.mp3) do ffmpeg -i %%f -loop 1 -i image.jpg -c:a copy -c:v libx264 -shortest %%~nf.mp4
为此:
for %%f in ("*.mp3") do ffmpeg -i "%%f" -loop 1 -i image.jpg -c:a copy -c:v libx264 -flags global_header -pix_fmt yuv420p -shortest "%%~nf.mp4"
仅供参考:添加了额外的开关,但与引起问题的空格无关:
-flags global_header -pix_fmt yuv420p
我找到了如何在批处理文件中使用以下代码将 MP3 批量转换为 MP4:
for %%f in (*.mp3) do ffmpeg -i %%f -loop 1 -i image.jpg -c:a copy -c:v libx264 -shortest %%~nf.mp4
它工作正常,除非 FILENAME 中有空格:FILENAME.mp3 工作正常但 FILE NAME.mp3 给出错误 "No such file or directory."
我尝试在 %%f 前后插入 "delims=",但它一直说这是意外的。有什么想法吗?
谢谢。
for %%f in (*.mp3) do ffmpeg -i "%%f" -loop 1 -i image.jpg -c:a copy -c:v libx264 -shortest "%%~nf.mp4"
一般"quote filenames that may contain spaces"
"delims="
只能与 for /f
一起使用,如
for /f "delims=" %%f in (...
for
的目的主要是从文件中读取行。
使用 'dir /b /a-d filemask'
- 包括引号以向 for /f
提供要处理的文件名列表。 /b
表示 "basic form"(仅限名称),/a-d
表示 "no directories".
如果您的文件名包含空格等分隔符,请使用 `"delims=" 否则隐式 "tokens=1" 将截断第一个分隔符处应用的值。
谢谢大家的帮助,引号就是诀窍。
我改变了这个:
for %%f in (*.mp3) do ffmpeg -i %%f -loop 1 -i image.jpg -c:a copy -c:v libx264 -shortest %%~nf.mp4
为此:
for %%f in ("*.mp3") do ffmpeg -i "%%f" -loop 1 -i image.jpg -c:a copy -c:v libx264 -flags global_header -pix_fmt yuv420p -shortest "%%~nf.mp4"
仅供参考:添加了额外的开关,但与引起问题的空格无关:
-flags global_header -pix_fmt yuv420p