将透明视频合并到另一个视频时会出现黑色叠加层

时间:2012-06-08 12:17:50

标签: video ffmpeg mencoder

这是我到目前为止所做的:

创建透明PNG图像的命令:

convert -size 640x480 -background transparent -fill blue \
-gravity South label:ROCK image1-0.png

创建透明视频的命令:

ffmpeg -loop 1 -f image2 -i image1-0.png -r 20 -vframes 100 \
-vcodec png -pix_fmt bgra mov-1.mov

(根据this post) - 我希望此视频是透明视频

将视频与其他视频重叠的命令:

ffmpeg -i final-video.mov -sameq -ar 44100 \
-vf "movie=mov-1.mov [logo];[in][logo] overlay=0:0 [out]" \
-strict experimental final-video.mov

上面的命令很完美,我没有遇到任何问题,但我没有得到我所期望的有点水印效果,我希望mov-.mov与final-video.mov透明。

问题:

  1. 有没有办法验证生成的视频是否透明?除了合并?
  2. 不确定为什么上面的mov-1.mov与final-video.mov合并时不透明,解决这个问题的任何信息都会很棒。
  3. 请帮忙。

1 个答案:

答案 0 :(得分:1)

ImageMagick并不总是以FFmpeg理解的方式生成透明的png。 上次我遇到这个问题时,我被迫使用GIMP创建索引透明图像。没关系,回头看this answer我发现我 显然能够通过设置png:color-type使ImageMagick以FFmpeg喜欢的方式产生透明度。您的转换命令将变为:

convert -size 640x480 -background transparent -fill blue \
-gravity South label:ROCK -define png:color-type=6 image1-0.png

那就是说,你不需要把图像变成自己的电影。 movie视频过滤器会接受透明的png作为输入。