FFmpeg 图片合成视频,并添加音频
使用FFmpeg将图片合成视频并添加音频
你可以使用以下 ffmpeg 命令行将图片序列合成视频并添加音频,同时设置帧率为每秒15帧:
ffmpeg -framerate 15 -i "img%04d.png" -i "audio.mp3" -c:v libx264 -preset slow -crf 20 -c:a aac -b:a 192k -vf "format=yuv420p" -shortest -r 15 output.mp4
参数详解:
- 输入设置: 
- -framerate 15:指定输入图片的帧率为15帧/秒。
- -i "img%04d.png":输入图片序列,- %04d表示4位数字编号(如- img0001.png,- img0002.png)。
- 音频设置: 
- -i "audio.mp3":输入音频文件(支持MP3、AAC、WAV等格式)。
- -c:a aac -b:a 192k:将音频编码为AAC格式,比特率192kbps(可调整)。
- 视频编码: 
- -c:v libx264:使用H.264编码器。
- -preset slow:平衡编码速度与压缩率(可选:- ultrafast,- fast,- medium)。
- -crf 20:画质控制(范围18-28,值越小画质越好)。
- 其他参数: 
- -vf "format=yuv420p":确保兼容播放器的像素格式。
- -shortest:使视频与音频等长(以较短的输入为准)。
- -r 15:强制输出视频帧率为15帧/秒。
常见问题及解决:
- 图片命名问题: 
- 确保图片按顺序命名(如 - img0001.png,- img0002.png)。
- 若命名不连续,尝试修改通配符(如 - img%d.png)。
- 音频不同步: 
- 若音频长于视频,使用 - -shortest自动截断。
- 若需循环图片延长视频,移除 - -shortest并添加- -stream_loop -1(需FFmpeg 4.0+)。
- 格式兼容性: 
- 若播放器不支持视频,尝试强制YUV420P像素格式: - -vf "format=yuv420p"。
示例命令变体:
- 快速生成(低画质): - ffmpeg -framerate 15 -i img%d.png -i audio.mp3 -c:v libx264 -preset ultrafast -c:a copy -shortest output.mp4 
- 指定分辨率(如1080p): - ffmpeg -framerate 15 -i img%d.png -i audio.mp3 -vf "scale=1920:1080,format=yuv420p" -c:v libx264 -c:a aac output.mp4 
- 循环图片匹配音频时长: - ffmpeg -stream_loop -1 -framerate 15 -i img%d.png -i audio.mp3 -c:v libx264 -c:a aac -shortest output.mp4 
执行命令前,请确保:
- ffmpeg已添加到系统环境变量。
- 图片和音频文件路径正确。 
- 输出目录有写入权限。 
如有报错,可附加 -loglevel debug 查看详细日志。
转载请注明出处。