如何使用 ffmpeg 将多个 mp3 文件转换为 mp4?

如何使用 ffmpeg 将多个 mp3 文件转换为 mp4?

以下命令获取 mp3、附加图像并将其转换为 mp4:

ffmpeg -i input.mp3 -loop 1 -i image.png -c:a copy -c:v libx264 -shortest output.mp4

我需要对文件夹中的所有 mp3 执行此操作。我该如何编写代码?

答案1

假设 Linux 或某种 UNIX 版本,image.png其文字如下:

cd /media/volume/mp3_directory

ls *.mp3 | while read mp3File ; do outputFile=$(basename "${mp3File}" .mp3) ; ffmpeg -i "${mp3File}" -loop 1 -i image.png -c:a copy -c:v libx264 -shortest "${outputFile}".mp4 ; done

答案2

如果您想要批量转换,则应使用 shell(假设是 Linux)。使用 find 返回目录中的所有文件,并使用 '| xargs' 将给定的 ffmpeg 命令应用于每个文件。

答案3

echo “将源 Mp3 文件重命名为 audio.mp3” echo “输出 Mp4 文件为 video.mp4”

ffmpeg -r 1 -loop 1 -i 图像.jpg -i 音频.mp3 -acodec copy -r 1 -shortest -vf scale=640:480 视频.mp4 rm 音频.mp3

以上是将 mp3 转换为 mp4 的代码,并使用 image.jpg 作为视频图像,希望脚本将文件夹中的所有 mp3 转换为 mp4 并保存,例如 video01.mp4 video02.mp4 如果你理解我的意思

相关内容