公司项目需求是,一个视频,需要转码成不同比例的视频,并且添加一个水印,这个水印透明度可调节,本来想用公司渲染引擎,考虑需要gpu环境的服务器,成本比较高,后来想了下使用ffmpeg命令行也能完成这些事情。
命令行如下:
ffmpeg -i input.mp4 -i logo.png -filter_complex "[1:v]lut=a=val*0.5[watermark];[0:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2[v];[v][watermark]overlay=W-w-10:H-h-10:format=auto,format=yuv420p" -c:a copy output.mp4
input.mp4 输入视频比例可以任意
logo.png 水印文件
lut=a=val*0.5, 0.5是水印的透明度,也就是半透明
scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2
导出视频1920*1080,如果收入视频比例不一致,把它fidin到1920*1080,多的地方黑色背景填充,
overlay 添加水印