使用ffmpeg创建音乐视频,并将其封面放在黑色背景上

时间:2020-09-21 12:08:54

标签: ffmpeg

我正在尝试使用本教程使用ffmpeg创建youtube视频 https://trac.ffmpeg.org/wiki/Encode/YouTube

在使用此示例时,我得到了一个可以播放的视频,但是背景是白色的

ffmpeg -loop 1 -framerate 2 -i albumcover.png -i audio.wav -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p output.mkv

我尝试添加一个滤色器,但是这会使整个视频输出变黑:

ffmpeg -loop 1 -framerate 2 -i albumcover.png -filter_complex "color=s=1920x1080:c=black" -i audio.wav -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p output.mkv

我发现很难在互联网上找到有关此内容的信息,因为大多数人只要求提供黑色视频或gif背景的透明背景。

那我如何在黑色背景上获取albumcover.png?

编辑:我刚刚意识到视频格式当然是图像格式(正方形),因此在youtube上是白色的。因此,现在的问题是我如何创建黑色背景16:9并将相册封面居中放置...

1 个答案:

答案 0 :(得分:1)

将图像覆盖到黑色画布上。

ffmpeg -f lavfi -i color=r=2:d=1 -loop 1 -framerate 2 -i albumcover.png -i audio.wav -filter_complex "[0][1]scale2ref=oh*16/9:ih[bg][img];[bg][img]overlay=x=(W-w)/2:(H-h)/2,setsar=1" -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a copy -shortest -fflags +shortest -max_interleave_delta 100M output.mkv

由于与-shortest的某些细微差别,我添加了一些选项以确保输出以最短的流终止。