将多个音频剪辑与一个图像组合在一起的 ffmpeg 批处理脚本 > mp4
ffmpeg batch script that combines multiple audio clips with one image > mp4
我在另一个线程中找到了这个脚本并对其进行了编辑:
@echo off
for %%F in (*.jpg) do (
if exist "%%~nF.mp3" (
ffmpeg -loop 1 -i "%%~nF.jpg" -i "%%~nF.mp3" -acodec libvo_aacenc -vcodec mpeg4 -shortest "%%~nF.mp4"
)
)
它将所有 mp3 文件和所有共享相同文件名的 jpeg 文件组合成一个带有静态图像的 mp4 视频 运行。
但问题是 - 如果我想使用同一图像转换多个 mp3 文件(假设是三个 mp3),我必须将同一 jpeg 图像复制三次!
例如,如果我有三个 Michael Jackson mp3 文件:
MJ1.mp3
MJ2.mp3
MJ3.mp3
我需要创建:
MJ1.jpg
MJ2.jpg
MJ3.jpg
但实际上我只需要一张图片即可播放所有三首 mp3。
我需要对将所有 mp3 文件与一个 jpeg 文件合并的脚本进行哪些编辑?假设我希望文件夹中的每个 mp3 文件都使用 default.jpg
进行转换。我该怎么做?
反转循环。不要迭代图像,而是迭代声音文件。
@echo off
for %%F in (*.mp3) do (
ffmpeg -loop 1 -i "default.jpg" -i "%%~nxF" -acodec libvo_aacenc -vcodec mpeg4 -shortest "%%~nF.mp4"
)
我在另一个线程中找到了这个脚本并对其进行了编辑:
@echo off
for %%F in (*.jpg) do (
if exist "%%~nF.mp3" (
ffmpeg -loop 1 -i "%%~nF.jpg" -i "%%~nF.mp3" -acodec libvo_aacenc -vcodec mpeg4 -shortest "%%~nF.mp4"
)
)
它将所有 mp3 文件和所有共享相同文件名的 jpeg 文件组合成一个带有静态图像的 mp4 视频 运行。
但问题是 - 如果我想使用同一图像转换多个 mp3 文件(假设是三个 mp3),我必须将同一 jpeg 图像复制三次!
例如,如果我有三个 Michael Jackson mp3 文件:
MJ1.mp3
MJ2.mp3
MJ3.mp3
我需要创建:
MJ1.jpg
MJ2.jpg
MJ3.jpg
但实际上我只需要一张图片即可播放所有三首 mp3。
我需要对将所有 mp3 文件与一个 jpeg 文件合并的脚本进行哪些编辑?假设我希望文件夹中的每个 mp3 文件都使用 default.jpg
进行转换。我该怎么做?
反转循环。不要迭代图像,而是迭代声音文件。
@echo off
for %%F in (*.mp3) do (
ffmpeg -loop 1 -i "default.jpg" -i "%%~nxF" -acodec libvo_aacenc -vcodec mpeg4 -shortest "%%~nF.mp4"
)