• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools
All Chinese English Newest Hottest
163 search results Contribute

商业侧的业务比较复杂,B端项目中含有大量常量类的类型判断,且因历史原因,很多常量值前端无法直接知其含义,这既不利于新人的上手,也不利于项目的维护。 在开发协作上,前后端的API沟通,大都通过配置swagger api来进行,要不就是口口相传或者通过写info文档来定义结构、入参及出参,这种协作方式不仅沟通成本高,且前端缺少能主动感知后端API变更的手段。 同时,为了提高项目的可维护性,组内推动前端项目TS工程化,在改造过程中,也会因为业务迭代,需要创建新的项目,而新项目TS工程化的过程,不仅需要自定义大量的类型,也需要定义后端API类型参数,如果全部通过手动敲,代价太大,不仅很容易出错,也会影响业务的开发效率。 因此,为了提升开发协作效率,增加前端主动感知API的能力,提升项目的可维护性和开发效率,开发实现了TS自动化生成工具。

25 Technology lddgo Shared on 2024-03-08

色彩空间(Color Space)是一种数学模型,用于描述和表示颜色的方式。不同的色彩空间有不同的用途和特点,可以用于不同的应用,如图像处理、计算机图形、印刷、摄影等领域。它一般用于描述设备的色彩能力,或者视频、图片的色彩范围。比如现在大部分人用的手机的屏幕,色彩空间大多为sRGB或者DCI-P3;网页上常见的图片或者视频内容,大多属于sRGB色彩空间;B站客户端播放的HDR视频,则处于BT.2020色彩空间。 目前B站UP主投稿视频是千变万化的,它们包含各种不同的色彩参数, 比如不同的色深,不同的色度采样坐标,不同的色彩空间,不同的亮度传递函数等等(如下图),而且每个用户观看这些视频的终端也不一样,这样就产生了各种各样的兼容性问题——很多时候用户的设备并不能完全正确显示UP主投稿的“原片”,而且老旧的设备或者浏览器也并不支持广色域或者HDR视频。为了考虑终端设备的兼容性和B站服务的完整性,我们会对用户投稿的不同色彩空间的视频进行统一处理。但是如何将各种不同色彩参数的视频进行准确地统一处理,同时又能保证视频的处理速度,这对于我们来说是一个巨大的挑战。

22 Technology lddgo Shared on 2024-03-05

为了给用户提供更清晰的画质体验,B站自研的超分辨率算法已经在站内广泛应用,支持了如《赛马娘》、《流浪地球2》、《权力的游戏》、英雄联盟S赛赛事直播等知名番剧、电影电视剧以及重要游戏赛事直播的 4K 视频流生产。

29 Technology lddgo Shared on 2024-03-01

想要开发一个具有视频合成功能的应用,从原理层面和应用层面都有一定的复杂度。原理上,视频合成需要应用使用各种算法对音视频数据进行编解码,并处理各类不同音视频格式的封装;应用上,视频合成流程较长,需要对多个输入文件进行并行处理,以实现视频滤镜、剪辑、拼接等功能,使用应用场景变得复杂。 视频合成应用的代表是各类视频剪辑软件,过去主要以原生应用的形式存在。近年来随着浏览器的接口和能力的不断开放,逐渐也有了Web端视频合成能力的解决思路和方案。 本文介绍的是一种基于FFmpeg + WebAssembly开发的视频合成能力,与社区既有的方案相比,此方案通过JSON来描述视频合成过程,可提高业务侧使用的便利性和灵活性,对应更多视频合成业务场景。 2023年上半年,基于AI进行内容创作的AIGC趋势来袭。笔者所在的团队负责B站的创作、投稿等业务,也在此期间参与了相关的AIGC创作工具类项目,并负责项目中的Web前端视频合成能力的开发。

28 Technology lddgo Shared on 2024-02-27

随着图形图像渲染技术的快速发展,如何在移动端呈现出高质量的数字人渲染效果,是实时渲染领域最主流的技术研究方向之一。对于B站移动端App而言,如果使用主流的实时渲染引擎如Unreal/Unity等,都会带来100-130M左右的安装包体积增量,进而增加应用安装和版本更新的成本。 针对该问题,我们选择了更为灵活轻量的WebGL渲染方案,将包体增量大幅降低至1M以内,同时借助Web天然的开箱即用特性,加速了业务需求在移动端落地的整体节奏。经过对Web渲染能力的行业调研,我们最终从众多的Web3D渲染引擎中选择了Three.JS。Three.JS作为一款轻量级的JavaScript 3D渲染库,具备强大的图形能力和广泛的社区支持,在数字人渲染方向能够给予我们一定的基础能力支持。 但如果只是使用Three.JS自带的PBR(Physically-Based Rendering)渲染,在偏CG和写实方向的数字人渲染效果上,很难达到令人满意的品质感。为了能够进一步还原商业实时渲染引擎Unreal的人物效果,同时兼顾好WebGL在移动设备上的性能和发热问题,我们在人物皮肤,瞳孔,抗锯齿,半透明等方

30 Technology lddgo Shared on 2024-02-23

精心设计的 DNS Failover 策略在 Go 中竟然带来了反效果,发生了什么?

25 Technology lddgo Shared on 2024-02-20

B站作为一个有用有趣的综合性视频社区,每个用户都是在与内容的互动过程中形成单向/双向关注和身份上的群体团结,具有相同兴趣爱好的小伙伴聚集在一起形成不同圈子,所以,当小部分用户在社区中有贬低或者拉踩其他用户的行为,甚至出现人身攻击等恶意发言,社区氛围很容易被破坏。 社区文化和价值的体现来源于内容的创作和交流,其中评论作为B站用户交流互动最重要的阵地之一,自然也是社区氛围的重要组成部分。根据2022年6月评论的举报理由分布,目前B站负向评论的主要来源为引战和人身攻击。

34 Technology lddgo Shared on 2024-02-18

如果系统的控制权、代码完全被掌控,很容易添加中间层; 现实情况我们往往无法控制系统的所有细节,所以需要使用一些 “非常规”(拦截) 手段来增加中间层。 常见的场景有 自动上报未捕获的错误,进行错误监控 拦截网络请求(fetch、xhr)进行接口性能统计、统一错误码处理、远程 debug 接口 构造执行第三方代码、微应用必须的沙盒环境

43 Technology lddgo Shared on 2024-02-06

会员购是B站2017年推出的IP消费体验服务平台,在售商品以手办、漫画、JK制服等贴合平台生态的商品为主。随着业务发展,会员购从最开始的预售,现货拓展到全款预售,盲盒,众筹等多种售卖方式,销售渠道也遍布 猫耳(现已下线),QQ小程序,漫画等多个业务渠道,再加上不断增加的营销活动玩法,每年几次大促活动的爆发式流量,对于会员购交易系统来说,无疑是一个巨大的挑战。

32 Technology lddgo Shared on 2024-02-02

web投稿页是B站的主要投稿来源,有很多高粉UP主使用web端进行投稿。 封面部分是投稿过程中耗时占比较高的步骤,因此在过去,web投稿页已上线了自动的封面截取&推荐功能,有效提升了用户体验。同时在此过程中有了一定的技术积累。 自动封面功能依赖于对用户上传视频进行截帧的能力,最简单的方式是在上传完成之后由服务端进行视频截帧并返回推荐的候选封面,但显然这一步会有大量的等待时间,因此我们采用的是纯前端视频截帧能力。

126 Technology lddgo Shared on 2024-01-30