【问题标题】:Black overlay appears when merging a transparent video to another video将透明视频合并到另一个视频时出现黑色覆盖
【发布时间】:2012-06-14 00:58:58
【问题描述】:

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

创建透明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-1.mov 与 final-video.mov 是透明的。

问题:

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

请帮忙。

【问题讨论】:

    标签: video ffmpeg mencoder


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回复,顺便说一句,我已经用 GIMP 验证了图像,就像您说的那样,图像被索引为透明。您是否有更多信息,或者如果您分享您的命令并且我可以运行它会很好。
    • 当我尝试将图像传递给movie 属性时,我只能在最终输出中看到图像但视频,我看到一个黑色叠加层,并且将我的视频隐藏在后面,但我确信输入图像是透明图像。
    • 看起来图像创建有问题 - 可能是我遗漏了一些东西。原因?当我使用 Photoshop 并创建了一个没有任何问题的透明图像并且我得到了预期的最终输出时,意味着透明。
    • 我很高兴你把它整理好了?
    • 是的,我找到了问题,但我不确定图像处理中缺少什么,你有什么答案吗????
    猜你喜欢
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 2021-09-21
    • 2016-12-08
    相关资源
    最近更新 更多