在 Ubuntu 中使用 FFmpeg 批量转换视频:合并图像和音频

在 Ubuntu 中使用 FFmpeg 批量转换视频:合并图像和音频

我有一个文件夹,里面全是音频文件,扩展名为 .mp3 .amr 和 .wav。我有一个 image.jpg。我想要将 image.jpg 与该文件夹中的每个音频文件合并,然后将它们转换为单独的 vidoe.mp4 文件。如何在 Ubuntu 中使用 FFmpge 执行此操作?我使用的是 Ubuntu 14.04。

答案1

给视频添加声音很简单

ffmpeg -framerate 60 -i input.png -i input.mp3 -vcodec libx264 -crf 20 -preset medium -acodec aac -vf scale=1280:-2,format=yuv420p output.mp4
  • -iinput.mp3 音频文件名
  • -acodec copy将音频从输入流复制到输出流
  • -s是视频的输出分辨率

基本上,只需将 更改input.png为图片的文件名,将 更改input.mp3为音频文件output.mp4即可。最后,将其更改为所需的目标文件名。

这是一个非常简单的方法,可以完成您想要的操作,但可以按照以下方式编写脚本:

#! /bin/bash
###################################################################
picture="input.jpg"  # Change this to the file name of your picture
###################################################################
for i in *.mp3; do
  ffmpeg -framerate 60 -f image2 -i $picture -i input.mp3 -vcodec libx264 -crf 20 -preset medium -acodec aac -vf scale=1280:-2,format=yuv420p "${i%.*}.".mp4
done

将图片的文件名放在顶部,将其粘贴到文件中,将其另存为类似convert.sh。更改权限chmod 777 convert.sh,然后运行它./convert.sh

它应该读取所​​有 mp3 文件,添加图片并输出与 mp3 同名的 mp4 文件。

如果您想对 wav 文件或 amr 执行相同操作,只需更改for i in *.mp3; dofor i in *.wav; dofor i in *.amr; do

希望有帮助!

祝你好运 :)

答案2

将同一张图片与不同的 mp3 文件合并,从而生成与 mp3 文件同名的单独 avi 文件,代码如下:for i in *.mp3; do name= echo "$i" | cut -d'.' -f1; echo "$name"; ffmpeg -y -i image.jpg -i "$i" "${name}.avi"; done。只需更改图片文件的名称即可。

相关内容