V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
HFX3389
V2EX  ›  问与答

这种直播弹幕防挡技术是怎么做出来的啊?

  •  
  •   HFX3389 · 2020-09-30 17:32:20 +08:00 · 2106 次点击
    这是一个创建于 1519 天前的主题,其中的信息可能已经有所发展或是发生改变。

    放假看一波 S 赛,发现在虎牙的弹幕有这么一个功能,弹幕在遇到英雄附近时透明度会逐渐拉满然后再逐渐出来(而且英雄在移动时或者在切回放时,已经出现的弹幕如果盖住了英雄也会直接消失,等到英雄位置过了以后才会出来)

    B 站的视频也有这么一个功能,但 B 站视频好像是直接穿过人像的背后,并不是这种淡化

    而且虎牙 S 赛是直播,毕竟不是 B 站视频那种,直播是需要实时渲染的,所以我很好奇是咋做出来的

    danmu1.png

    第 1 条附言  ·  2020-09-30 18:19:30 +08:00

    danmu1.png

    Network里面看到的确是遮罩

    8 条回复    2020-09-30 20:35:33 +08:00
    richard1122
        1
    richard1122  
       2020-09-30 17:45:12 +08:00
    确实,我猜是作为合作伙伴拿到了英雄的位置数据?而不是通过图像识别这种手段。
    tabris17
        2
    tabris17  
       2020-09-30 17:49:45 +08:00
    直播也有延迟啊,延迟一分钟已经够图像识别算法来生成遮罩数据了
    pecopeco
        3
    pecopeco  
       2020-09-30 18:01:14 +08:00 via iPhone
    直播≠实时
    noe132
        4
    noe132  
       2020-09-30 18:07:51 +08:00 via Android   ❤️ 1
    通过一定的算法 /机器学习 计算出需要遮罩的区域告诉前端,前端根据数据遮住相应区域就行了
    wysnylc
        5
    wysnylc  
       2020-09-30 18:08:49 +08:00
    你们都说完了我说什么?就祝大家新年快乐吧
    zcjfesky
        6
    zcjfesky  
       2020-09-30 18:11:20 +08:00 via Android   ❤️ 2
    单单英雄联盟直播的话,识别血条行了,血条本身也是固定的贴图,不需要太复杂的算法
    ungrown
        7
    ungrown  
       2020-09-30 20:30:26 +08:00
    就是机器学习获得图像中物体的轮廓
    然后生成遮罩,精度要求很低的
    对于形式内容高度固定的某些直播
    之前生成的遮罩稍微优化一下就能通吃
    直接套用就行了
    crclz
        8
    crclz  
       2020-09-30 20:35:33 +08:00
    分成 2 个子任务:
    1. 识别英雄的区域的长方形( Object Detection )。事先训练好模型,然后在后端进行运算,运算的代价非常低。
    2. 将长方形内的弹幕隐藏(前端工作)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5499 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 08:45 · PVG 16:45 · LAX 00:45 · JFK 03:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.