ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11014|回复: 4

[Linux] 如何将mov视频覆盖到图片上,并使mov视频里的黑色背景透明

[复制链接]
发表于 2018-11-27 22:03:19 | 显示全部楼层 |阅读模式
本帖最后由 radrupt 于 2018-11-27 22:32 编辑

素材  http://test-small-static-bignono ... yuncs.com/front.mov
http://test-small-static-bignono ... 18-11-27-121212.png

我使用chromakey和colorkey都没有达到理想的效果,会把非黑色部分也透明了
比如
ffmpeg -loop 1 -i  2018-11-27-121212.png -i front.mov -filter_complex "[1:v]chromakey=Black:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" -t 10  -y out.mp4


生成视频

http://test-small-static-bignono.oss-cn-hangzhou.aliyuncs.com/2018-11-27-1212.mp4

使用chromakey=0x70de77的话,能较好的保留有效区域,但是会变暗

http://test-small-static-bignono.oss-cn-hangzhou.aliyuncs.com/2018-11-27-1.mp4

还有这个chromakey有点理解不了,按照文档说明,我选择black为处理目标颜色,匹配度设置1的话,那预期的效果就应该是黑色完全透明,保留视频效果的,但实际情况却不是的。


回复

使用道具 举报

 楼主| 发表于 2018-11-27 22:45:26 | 显示全部楼层
在网上看到的这样一句话,要如何理解呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-28 22:24:56 | 显示全部楼层
ffmpeg -loop 1 -i 2018-11-27-121212.png  -i front.mov -filter_complex "[1:v]split[m][a];[a]geq='if(gt(lum(X,Y),16),255,0)'[al];[m][al]alphamerge[ckout];[0:v][ckout]overlay,lutyuv=y=val*1.2[out]" -map "[out]" -t 10  -y out2-geq.mp4

ffmpeg -loop 1 -i 2018-11-27-121212.png  -i front.mov -filter_complex "[1:v]chromakey=0x70de77:0.01:1.0[ckout];[0:v][ckout]overlay,lutyuv=y=val*1.2[out]" -map "[out]" -t 10  -y out-chromakey.mp4

问题暂时性的处理了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-6 16:33:51 | 显示全部楼层
最后使用AE软件处理了,达到了预期的效果。
回复 支持 反对

使用道具 举报

发表于 2019-7-12 18:13:06 | 显示全部楼层
本帖最后由 正年华 于 2019-7-12 18:14 编辑

我自己试验了下,blend如果选择1,融合度太高,反而特效不清楚,可以试下我这个设置
[AppleScript] 纯文本查看 复制代码
ffmpeg -loop 1 -i  bg.png -i front.mov -filter_complex "[1:v]chromakey=Black:0.01:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" -t 10  -y out.mp4

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-12-27 12:32 , Processed in 0.055770 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表