• 为什么弹幕可以不挡人物?怎么实现的?Python带你来实现。


    导读

           为什么突然想实现这个?应该是我昨天刷某站的视频,发现一个有趣的现象,因为我是一个比较喜欢边看视频边看弹幕的。所以昨天发现一个现象,他那个弹幕可以自动识别人物从而不遮挡观众的观看效果,我是觉得搞得特别棒的。

     类似于这样的效果吧,所以今天咱就来研究一下他是怎么实现的

    正文

           

    高端的效果,往往只需要采用最朴素的实现方式,忙碌了两个小时,陈师傅打开了 F12,豁然开朗。一张图片 + 一个属性,直接搞定。

     

     

    为了印证我的想法,我决定自己写一个 demo。

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Title</title>
    6. <style>
    7. .video {
    8. width: 668px;
    9. height: 376px;
    10. position: relative;
    11. -webkit-mask-image: url("mask.svg");
    12. -webkit-mask-size: 668px 376px;
    13. }
    14. .bullet {
    15. position: absolute;
    16. font-size: 20px;
    17. }
    18. </style>
    19. </head>
    20. <body>
    21. <div class="video">
    22. <div class="bullet" style="left: 100px; top: 0;">元芳,你怎么看</div>
    23. <div class="bullet" style="left: 200px; top: 20px;">你难道就是传说中的奶灵</div>
    24. <div class="bullet" style="left: 300px; top: 40px;">你好,我是胖灵</div>
    25. <div class="bullet" style="left: 400px; top: 60px;">这是第一集,还没有舔灵</div>
    26. </div>
    27. </body>
    28. </html>

    效果是这样的:

     

    加一个红背景,看得更清楚一些:

     

    至此,我们就实现了 B 站同款的不遮挡人物的弹幕。

    至于这张图片是怎么来的,肯定是 AI 识别出来然后生成的,一张图片也就一两 K,一次加载很多张也不会造成很大的负担。

    这是一个实验中的功能,此功能某些浏览器尚在开发中,在不同的浏览器中适合使用的前缀也不一样。

    在开发需求的时候可以把它当成一个亮点使用,但是不能强依赖于这个属性做需求。

    这里还有一系列的属性,有兴趣的话可以挨个试一下。

     

    需要完整代码↓公众号获取!

  • 相关阅读:
    Asp .Net Core 系列:集成 Ocelot+Consul+Swagger+Cors实现网关、服务注册、服务发现
    你清楚AI、数据库与计算机体系
    电商rpa是什么意思?跟电商rpi是一个意思吗?
    skywalking 安装部署实践
    idea中maven项目打包成jar,报错没有主清单属性解决方法
    35. 搜索插入位置
    SPDK/NVMe存储技术分析之初识UIO(一)
    使用HoloLens 2调用深度相机和前置摄像头
    Java高手的30k之路|面试宝典|精通Map篇
    5款好用的工具软件推荐给你
  • 原文地址:https://blog.csdn.net/weixin_43881394/article/details/127859715