FFMPEG:使用过滤器添加透明水印
FFMPEG: using filters for adding transparent watermark
如何结合这两行代码来添加透明水印(动态大小)
ffmpeg -i 1.gif -i logo.png -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:H-h-5" -c:a copy output.gif
ffmpeg -i 1.gif -i logo.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[video][logo]overlay=(W-w)/2:H-h-5" -c:a copy output.gif
我试过以下代码:
ffmpeg -i 1.gif -i logo.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:H-h-5" -c:a copy output.gif
我收到以下错误:
过滤器 scale2ref 有一个未连接的输出
每个过滤器的输出必须连接到某个东西,而你的 [video]
输出垫 scale2ref
不是,因此错误。
您需要将 [video]
而不是 [0]
提供给 overlay
过滤器:
您需要确保所有滤波器输入和输出垫都已连接。在您的情况下,format
和 overlay
需要使用 scale2ref
的输出而不是重复使用输入流:
ffmpeg -i 1.gif -i logo.png \
-filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo1][video];\
[logo1]format=rgba,colorchannelmixer=aa=0.5[logo];\
[video][logo]overlay=(W-w)/2:H-h-5" \
-c:a copy output.gif
[编辑:修复了其他标签问题]
如何结合这两行代码来添加透明水印(动态大小)
ffmpeg -i 1.gif -i logo.png -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:H-h-5" -c:a copy output.gif
ffmpeg -i 1.gif -i logo.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[video][logo]overlay=(W-w)/2:H-h-5" -c:a copy output.gif
我试过以下代码:
ffmpeg -i 1.gif -i logo.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:H-h-5" -c:a copy output.gif
我收到以下错误: 过滤器 scale2ref 有一个未连接的输出
每个过滤器的输出必须连接到某个东西,而你的 [video]
输出垫 scale2ref
不是,因此错误。
您需要将 [video]
而不是 [0]
提供给 overlay
过滤器:
您需要确保所有滤波器输入和输出垫都已连接。在您的情况下,format
和 overlay
需要使用 scale2ref
的输出而不是重复使用输入流:
ffmpeg -i 1.gif -i logo.png \
-filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo1][video];\
[logo1]format=rgba,colorchannelmixer=aa=0.5[logo];\
[video][logo]overlay=(W-w)/2:H-h-5" \
-c:a copy output.gif
[编辑:修复了其他标签问题]