ffmpeg:如何将 wav 作为音频输入来创建视频?

ffmpeg : how to take wav as audio input for creating a video?

我正在尝试使用 ffmpeg 渲染视频,其中将音频文件和图像作为输入,并将其转换为与图像尺寸相同的视频,并在视频播放期间播放音频文件(基本上是一个音乐视频)。

我有这个适用于 flac 和 mp3 文件,我的 mp3 ffmpeg 命令如下:

ffmpeg -loop 1 -framerate 2 -i "front.png" -i "testMP3file.mp3" -vf "scale=2*trunc(iw/2):2*trunc(ih/2),setsar=1" -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p -strict -2 "testMP3fileOutput1.mp4" 

如何将 wav 音频文件而不是 mp3 作为输入?我需要指定其他编解码器吗? This post 谈论下载 libfaac 和使用它,有没有办法只使用 ffmpeg 将 wav 音频文件作为输入而不下载单独的库?

只需使用 WAV 文件作为输入并将 -c:a copy 更改为 -c:a aac(如果您想使用默认编码器 -c:a aac,则省略 -c:a for MP4输出):

ffmpeg -loop 1 -framerate 2 -i "front.png" -i "testMP3file.wav" -vf "scale=2*trunc(iw/2):2*trunc(ih/2),setsar=1,format=yuv420p" -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a aac -shortest "testMP3fileOutput1.mp4"

其他变化:

  • 不需要-strict -2:它什么都不做。您也可以从命令中删除它。
  • 我将 -pix_fmt yuv420p 替换为 format=yuv420p,因此您的所有过滤都包含在过滤图中。