惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
罗磊的独立博客
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
量子位
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
B
Blog RSS Feed
腾讯CDC
博客园_首页
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
博客园 - Franky
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
D
Docker
P
Privacy & Cybersecurity Law Blog
S
Securelist
V
V2EX
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
The Hacker News
The Hacker News
Microsoft Azure Blog
Microsoft Azure Blog
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Cloudbric
Cloudbric
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Latest news
Latest news
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

Mengke's blog - Mengke's coding journey

年轻不是健康的免死金牌 深圳工作机会,前端 2025 年终总结 Skill 不是 MCP 的替代品:我理解的渐进式披露与选型原则 独立开发者如何开具发票 香港银行卡开户完整指南(2025年9月最新) 招商银行储蓄卡微信动账提醒恢复方法 再谈 MCP - Model Context Protocol(MCP)详解和开发教程 Get Human-Readable "Time Ago" in TypeScript 以「asset-price-mcp」为例,从 0 开发 MCP Server Model Context Protocol (MCP) 快速开始 DeepSeek + Dify 搭建本地知识库 An elegant solution for implementing optional property types using TypeScript 2024 年终总结 Quickly Create a Fullscreen WebView with Autoplay Support for Testing 以数字开头的 ID 在 querySelector 中的处理 String casing utilities in JavaScript Check if a string is a valid color Simple Event-Emitter/PubSub pattern Find which process is running on a certain port and kill it Markdown Code block's basic and advanced syntaxes Common npm commands to use locally Pnpm aliases How to safely rename a case sensitive file/directory in a git repo? A custom hooks to use an async effect A custom hooks to use local storage state 🤩 Mengke'blog 上线的这一年 🗼 五月底去了一趟日本,记录一下我的游记和攻略 网站性能优化:如何高效预加载大型静态资源 闰年之约 - 2024年2月29日 A collection of some useful websites 2023 年终总结 WebGL 学习笔记(一)基础概念与实践 Android Webview <video> 标签去除默认播放按钮图 📷 纯前端也可以实现「用户无感知录屏」? Getting Spotify token to display now playing track on your website IndexedDB 基础入门 直接下载网易云音乐中歌曲MP3格式的方法 什么!一个项目给了8个字体包??? flex 布局中 start/end 和 flex-start/flex-end 的区别 深入 Pinia:从代码出发探索 Vue 状态管理的奥秘 Pinia 快速上手指南 Nest.js Typrorm 多对多关系如何创建 Strapi 快速入门 CentOS7 MySQL 数据库安装与卸载 Next.js 上手指南 Vue 数据响应式原理 deno 快速上手 - Hello World 案例 快速上手 Vue3 尝鲜 Vue 3.0 Combination API react-router-dom 路由基础教程 JavaScript 数组扁平化处理的方法总结
AVP - Web 端特效视频播放器
Mengke · 2023-09-28 · via Mengke's blog - Mengke's coding journey

// import AvpDemo from './avpDemo'

演示

为什么叫 AVP?

AVP 的全称是 Alpha Video Player,取其首字母为 AVP。这个命名意在强调播放器对于 Alpha Video 的支持,尤其是在礼物特效、互动动画等场景中的应用。

什么是 Alpha Video?

Alpha Video 是一种广泛用于直播礼物特效、互动视频等场景的技术。它能够在视频播放时实现透明效果,从而让视频内容能够无缝叠加在其他背景上,而不破坏整体画面。

Alpha Video 的核心原理在于使用了透明通道信息。由于大多数标准的视频格式不直接支持透明度,Alpha Video 通过间接方式实现这一点。通常,一侧为正常的彩色视频内容,另一侧为黑白的 Alpha 通道。黑白视频用来表示透明度,其中黑色代表完全透明,白色代表完全不透明,灰度则用于表示半透明效果。

在实际使用中,黑色背景常被用来表示透明区域。这种做法可以确保视频与其他元素的叠加不会显得突兀,尤其在实时交互的场景下,例如用户发送礼物特效时,Alpha Video 能够完美地与直播画面融为一体,提升互动体验。

Alpha Video 的应用场景

  • 直播礼物特效:在直播间中,观众发送的礼物通常会以 Alpha Video 的形式呈现。礼物特效可以浮现、移动并叠加在主播或背景画面上,带来更生动的互动效果。

  • 游戏互动:在某些互动游戏中,Alpha Video 能够用来增强角色的特效或动画,使其看起来更加立体和真实。

  • 虚拟主播和增强现实 (AR):Alpha Video 常用于虚拟主播的实时互动效果,或增强现实中的物体与背景的结合,创造出更具沉浸感的视觉体验。

通过 AVP(Alpha Video Player),开发者可以轻松集成和处理 Alpha Video,在不同应用场景中带来更具沉浸感的视觉呈现。

像这样:

demo

原理

将同名通道信息提取出来后与原视频进行融合计算,将计算结果绘制到 Canvas 中。

效果

目前已在公司内部使用,效果还不错。活动数据有较大提升,详细数据还在统计中,后续会更新到本篇博文中。