FFmpeg处理合成视频(绿幕)

本文章介绍一下使用FFmpeg将两段视频合成为一段视频!

小编这里使用的是绿幕人像视频哦!会将绿幕人像视频去除绿幕并合成为一段视频

  • 首先准备两段视频将视频进行截取你想要的时长(我这里截取了5秒)
  • ffmpeg -ss 00:00:00 -t 00:00:05 -i 原视频.mp4 截取后新视频.mp4
    // 视频地址可为相对路劲,也可为绝对路劲
  • 绿幕人像视频缩放(如果不需要缩放可不执行)
  • ffmpeg -i 原人物绿幕视频.mp4 -vf "scale=180:240:flags=lanczos" -crf 1 缩放后人物绿幕视频.mp4
    •  参数说明
      • scale:缩放滤镜(scale=宽:高)
  • 视频合成
    • 直接合并视频(适合无绿幕视频合成)
    • ffmpeg -i 背景视频.mp4  -i 缩放后人物绿幕视频.mp4 -vf "scale=720:1280"  合并视频路劲.mp4
    • 将绿幕人物放在指定位置(右下)
    • ffmpeg -i 背景视频.mp4 -i 缩放后人物绿幕视频.mp4 -filter_complex "[0:v][1:v] overlay=W-w-10:H-h-10:enable='between(t,1,5)'" 新视频合并路径.mp4
    • 去除绿幕
    • mov转webm去除绿幕(问题:本地绿幕仍然存在,服务器端呈黑色背景) 使用滤镜调色
    • // 转mov  推荐使用值0.2:0.3
      ffmpeg -i 合成旧视频.mp4 -vf "chromakey=0x00FF00:0.2:0.3" -c copy -c:v mov新视频.mov
      // 转webm
      ffmpeg -y -i 新视频.mov -vf "chromakey=0x00FF00:0.2:0.3" -c copy -c:v libvpx-vp9 -c:a libopus 新视频.webm
    • 直接将绿幕人物嵌入背景视频中(浅色绿幕)
    • ffmpeg -i 背景视频.mp4 -i 缩放后绿幕人物视频.mp4 -filter_complex "[1:v]chromakey=Green:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" 新视频.mp4
    • 直接嵌入绿幕人像视频
    • ffmpeg -i D:\demo\bg_1.mp4 -i D:\demo\video_2.mp4 -filter_complex "[1:v]chromakey=0x00ff00:0.1:0.0[fg_keyed];[0:v][fg_keyed]overlay=W-w-10:H-h-10:enable='between(t,1,5)'" -map "[out]" -map 1:a -c:v libx264 -c:a aac -y D:\demo\output_1.mp4
    • 扣绿色嵌入(推荐)
      • 0x1CE90A 调整相应绿幕颜色 0x色域 否则人像绿边严重 #28FE0E #19DC08

      • ffmpeg -i 背景视频.mp4 -i 绿幕人像视频.mp4 -filter_complex "[1:v]chromakey=0x1CE90A:0.1:0.0[fg_keyed];[0:v][fg_keyed]overlay=x=W-w-10:y=H-h-10:shortest=1[out]" -map "[out]" -map 1:a -c:v libx264 -c:a aac -y 新视频位置.mp4
      •  绿边最浅建议使用
      • ffmpeg -i 背景视频地址.mp4 -i 绿幕人像视频地址.mp4 -shortest -filter_complex "[1:v]chromakey=0x19DC08:0.1:0.2[ckout];[0:v][ckout]overlay=x=W-w-10:y=H-h-10:shortest=1[out]" -map "[out]" 合成视频地址.mp4 
        // 需注意绿幕色域否则会出现绿边问题0x绿幕色域;位置x=人像视频距离左上角水平位置变量 y=人像视频距离左上角垂直位置变量 可直接x=人像视频距离左上角水平位置变量:y=人像视频距离左上角垂直位置变量  也可以x=W-w-人像视频距离左上角水平位置变量:y=H-h-人像视频距离左上角垂直位置变量

 如对坐标位置不清晰查看:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值