当前位置: 首页 > news >正文

如何使用ffmpeg制作透明背景的视频

  最近我们尝试在网页上叠加数字人讲解的功能,发现如果直接在网页上放一个矩形的数字人视频,效果会很差,首先是会遮挡很多画面的内容,其次就是不管使用任何任务背景,画面都和后面的网页不是很协调,如图所示:
在这里插入图片描述

  如果能去掉视频的背景,只展示人物效果就会好很多。经过一些调研和实验,我终于探索出一种可以批量自动化实现透明背景视频的方法,最终实现的效果如下:
在这里插入图片描述
  数字人的视频我是使用的腾讯智影生成带绿幕的视频,要实现透明背景,有个很关键的信息需要知道,不是所有的视频格式(视频编码)都支持透明背景,首先我们最常用的mp4就是不支持(不管是h264还是h265)都不支持,目前支持透明背景的只有少部分视频编码,比如google的vp9(webm)格式,上图中我用就是webm+vp9编码的视频。实测这种视频兼容性也不行,比如在苹果的safari浏览器下,就无法透明背景。

  另外一个问题是webm的格式也并不普及,比如腾讯智影导出只支持mp4,像剪映甚至final cut pro这样专业的剪辑软件都无法编辑导出透明背景的webm格式。 这里经过尝试,发现使用ffmpeg可以很轻松扣掉绿幕,然后导出透明背景的webm视频格式,完整命令如下:

ffmpeg -i green_video.mp4 -filter_complex "[0:v]colorkey=0x299530:0.1:0.1[ckout]" -map "[ckout]" -map 0:a -c:v libvpx-vp9 -b:v 2M -c:a libvorbis output.webm

  这里需要说下其中最关键的参数 -filter_complex "[0:v]colorkey=0x299530:0.1:0.1[ckout]" -map "[ckout]" 其中0x299530 是我使用的绿幕的RGB值, 具体可以根据你绿幕的RGB值调整。 其他参数就比较简单了,具体可以参考我这个ffmpeg系列文章.

http://www.lryc.cn/news/210650.html

相关文章:

  • C#中对于using的使用方式
  • 【Java】HashMap集合
  • 百度网盘使用指南
  • CSS 滚动驱动动画与 @keyframes 新语法
  • 二十三种设计模式全面解析-原型模式进阶之原型管理器:集中管理对象原型的设计模式之道
  • 【微信小程序开发】学习小程序的网络请求和数据处理
  • 微信小程序 slot 不显示
  • Spring Boot 优雅配置yml配置文件定义集合、数组和Map
  • java+springboot+vue开发的大学生健康检测小程序
  • 从零开始的LINUX(四)
  • 组播应用层收不到问题-接收网卡绑定
  • 回流重绘零负担,网页加载快如闪电
  • QT5.15在Ubuntu22.04上编译流程
  • 【电路笔记】-交流波形和交流电路理论
  • vue2 系列:自定义 v-model
  • 广东木模板批发,建筑桥梁工程专用组合木模板
  • 工业相机常见的工作模式、触发方式
  • 【C语言】指针那些事(上)
  • liunx Centos-7.5上 rabbitmq安装
  • 蓝桥杯学长经验笔记
  • 开发库介绍
  • 基于单片机的智能清洁小车设计—控制系统设计
  • 玩转视图变量,轻松实现动态可视化数据分析
  • 【51单片机】:智能施工电梯系统
  • 前端线上部署,如何通知用户有新版本
  • Debezium日常分享系列之:Debezium2.4版本之用于 MongoDB的Debezium 连接器
  • 编程应用场景:便利店商超进销存管理系统软件,试用版可以免费试用下载
  • 【LInux】进程概念II -- 描述进程
  • 紫光集团、展讯通信、锐迪科(RDA)、紫光展锐以及翱捷科技(ASR)关系梳理
  • 7.多线程之单例模式