阅读 72

揭秘智能防挡弹幕是如何实现的

因为以前看视频很少开弹幕,所以前段时间才发现有一个智能防挡弹幕功能,瞬间感觉这功能好厉害啊。正好这两天一直想着为祖国母亲庆生,无心学习和工作,刚好有时间来探索一下这个黑科技是如何实现的~

1.前端主要用到了mask-image这个CSS属性。

目前这还是一个实验中的功能,没有了解过的童鞋可以去MDN学习一下这个属性如何使用。使用这个属性的时候,<mask-source>可以赋值为<mask>或css图像的url,<image>图片作为遮罩层。例如:

#masked {   width: 100px;   height: 100px;   background-color: #8cffa0;   mask-image: url(https://mdn.mozillademos.org/files/12676/star.svg);   -webkit-mask-image: url(https://mdn.mozillademos.org/files/12676/star.svg); } <div id="masked"></div> 复制代码

注意:使用的时候注意本属性的浏览器兼容性 image.png

2.那播放器又是如何利用这个css属性来实现智能防挡的呢?让我们继续往下探索

image.png

image.png

image.png 大家可以看出来视频基本在每一帧都会返回一张右侧这样的图片,这其实是后端通过算法识别出来的svg遮罩图片。其中黑色部分的透明度为1,将完全显示黑色区域下层的内容。而其它部分透明度为0,将完全覆盖下层的内容。所以我们会看到弹幕在经过人物的时候会被遮挡,到了其它地方又会显示出来。
到此这个功能的实现我们已经大致摸索出来了,感兴趣的童鞋可以自己实验一下哦。


作者:Lmuy
链接:https://juejin.cn/post/7012803122108039199


文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐