webgl透明视频

本文介绍了如何利用WebGL处理透明视频,通过扩展视频尺寸存储alpha通道信息,并结合canvas进行绘制。文中详细讲解了代码实现过程,包括纹理坐标、片元着色器的使用,以及透明视频素材的制作方法。目前的解决方案虽然方便,但会增加视频大小,未来可能通过元数据或bit图优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前置知识
  1. webGL图片纹理
  2. webgl动画纹理
背景

直播近年来的风头可以说是一时无两,游戏直播、颜值/才艺直播、带货直播;火爆的直播间通常有各种刷屏大礼物,通常是透明背景,这就是透明视频的主要用途之一;

多数视频格式并不支持alpha通道,支持alpha通道的视频格式可以参考文献:

List of video formats supporting alpha channels

少数视频格式支持alpha通道,如webmmov等;其中webm是google的标准,是一种视频容器格式,内部编码一般是vp8和vp9;mov(quickTime)是苹果的视频容器格式,支持的编解码为Apple ProRes等;

现状

目前的透明视频的业内解决方案普遍都是参考自GitHub开源库seeThru,使用的是较通用的MP4视频;

该方案的机制是由于mp4视频格式不支持alpha通道,每个像素仅包含RGB通道;为了在视频中存储alpha通道的透明度信息;该方案将原始视频进行扩展为原来的2倍(宽或高),然后在新的视频上存储原始视频的alpha通道信息——具体方案是将扩展的部分的信息设置为

R(new) = G(new) = B(new) = alpha(original),alpha
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Neil-

你们的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值