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

Posted

技术标签:

【中文标题】ffmpeg:如何将 wav 作为音频输入来创建视频?【英文标题】:ffmpeg : how to take wav as audio input for creating a video? 【发布时间】:2020-01-02 20:58:29 【问题描述】:

我正在尝试使用 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 音频文件作为输入而不下载单独的库?

【问题讨论】:

【参考方案1】:

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

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,因此您的所有过滤都包含在过滤图中。

【讨论】:

以上是关于ffmpeg:如何将 wav 作为音频输入来创建视频?的主要内容,如果未能解决你的问题,请参考以下文章

我想用ffmpeg命令行转换一个视频文件,视、音频编码格式不变,只是将画面旋转90度,请问命令行该如何写?

在 django 中使用 FFMPEG 在网络上上传后从视频中提取 WAV 音频文件

Android ffmpeg 无法将音频(.wav 文件)与视频(.mp4 文件)合并

使用 ffmpeg 创建一个 44 字节的标头

ffmpeg 如何转换其他格式的音频文件?

FFmpeg学习5:多线程播放视音频