V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
everywillatchina
V2EX  ›  求职

[求职] Web 渲染/多媒体

  •  
  •   everywillatchina · 97 天前 · 1234 次点击
    这是一个创建于 97 天前的主题,其中的信息可能已经有所发展或是发生改变。
    # 简介
    8 年工作经历,前 4 年写前端搞基建,近 4 年转多媒体方向搞音视频和渲染 SDK

    # 详细
    工作技能
    • 语言:Javascript | C++ | WebAssembly
    • 框架:React | Vue | 小程序 | Weex
    • 领域:图形 | 音视频

    工作经历
    xx 2022.5-至今
    • 渲染引擎 Web 端负责人;连续两年年度最佳员工;
    • 负责自研渲染引擎 Web SDK 规划和落地;
    • 主导各类自研(基于图形/基于 GAN)数字人落地云渲染服务;
    xx 2020.6-2022.3
    • 多媒体引擎 Web 端负责人;
    • 负责自研多媒体引擎 Web 端规划和落地;
    xx 2018.03-2020.05
    • xx 直播:参与直播开放体系的建设,负责 xx 直播互动开发方案;
    • xx 海购 WMS:负责组内技术推进和工具链开发;
    xx 2016.08-2018.02
    • 参与餐饮 SasS 内部创业;
    • 参与 ZanUI(后更名 Vant-Weapp) 组件库开源,;主导第一个小程序错误上报 SDK Raven-Weapp 的开源;

    项目经历

    数字人 SDK AvatarX
    • 背景:
    • 战略立项全平台数字人解决方案,自研渲染 SDK 总体功能上对标 Unity ,其中 Web 端力求轻量和易用;
    • 行动:
    • 总体架构设计:共用底层代码同时抹平相关 API (如文件系统)差异,以便短平快产出初始版本;
    • 渲染性能优化:针对 Web 端运行情况优化 Shader (如必要的 loop unrolling ,变量计算精度调整等)和 GL 资源使用,人物帧率从不可用的 2 帧提高到 60 帧;
    • 包体大小优化:引擎功能裁剪,利用 Async 实现引擎资源按需加载,首包网络流量控制在 2M 左右,首屏所需渲染资源(Shader 、材质模板、贴图等)从 19M 降至 1.8M ;结合 IndexedDB 构建缓存透明资源管理,加速二次进入资源加载;
    • 加载速度优化:修改 Shader 反射流程,支持 Web 平台 Shader 并行编译,加载耗时缩减 1/3 ,单 bundle 人物首屏控制在 3s ;
    • 结果:
    • Avatar Web SDK 提供完整数字人解决方案,支持人物捏脸换装以及对话,并且也不限于数字人应用场景,在数字人客服、数字文物、虚拟展厅等虚拟人/物/景为渲染目的的场景均有应用。

    多媒体引擎 XPlayer
    • 背景:
    • 直播/视频大热,公司急需完善的视频编辑器(非编播放器)开拓和巩固设计领域的市场;
    • 行动:
    • 总体架构设计:以模块化和扩展性优先参与设计底层 C++引擎整体架构,在数据流向上,数据源/处理增强/输出渲染各部分可自由扩展和组合,以适应不同产品和业务的需求;
    • 预览播放优化:视频利用 Video 标签 + Texture 、音频利用 Audio/Video 标签 + WebAudio AudioWorklet 将音视频数据导入音频后续处理逻辑,借助浏览器原生能力,做到最小化所需的运行时( 900K )和最优性能;
    • 合成导出优化:提供多种策略——(需要 ShaderdArrayBuffer 支持)开启多线程;需要较新浏览器支持的 WebCodecs 以及其对应的带 SIMD 优化后 H264 实现的 Polyfill 版本,根据策略不同合成有 1.5-3 倍的提升;
    • 结果:
    • SDK 补充的音视频能力除应用于视频编辑业务外,辐射图片编辑业务(如视频素材解析、Gif 导出功能依赖);合成性能对标 ClipperChamp ;项目中积累下的 Web 音视频经验成功转化为授权专利。

    直播互动开发套件
    • 背景:淘宝直播互动组件开发工具,开放体系中互动开放的解决方案。
    • 随着业务上升,淘宝直播启动开放,便利二方/三方业务快速接入直播分享红利和反哺直播;
    • 互动开放紧随互动动态化进行,动态化刚落地,相应开发工具链亟需完备;
    • 直播互动本质为 Rax(类 React) 组件,继承了 Rax 开发的弊端如各端样式无法完全统一,一般需要多次返工;
    • 行动:
    • 互动调试方案:以淘系前端代码模块化标准为出发点,设计模块替换,以实现在真实直播间在线调试开发中模块,确保开发和上线样式和行为的一致性;
    • 共建开发工具链:将以上方案固化到淘系前端统一的开发工具 DEF 的 builder ,推广到集团;
    • 成果:
    • 互动调试方案使互动组件的研发周期缩短了 40%,基于此的工具链成为 ALive 中互动开发的标准方案。

    开发工具链 SuperKaola
    • 背景:针对 Vue 工程构建优化,并集成项目初始化、本地开发、构建发布等功能的统一开发工具。
    • 市面上尚未有成熟的 Vue 开发工具链(如后来的 Vite),也未有成熟成体系的构建方案;
    • WMS 项目庞大,有大量的模块和页面;项目的增量构建耗时已经超过 1 分钟,开发体验和效率极差;
    • 行动:
    • 构建优化:基于 Code Splitting 以业务模块粒度进行动态加载,并利用多线程和缓存加速构建;优化后增量构建耗时下降到秒级;
    • 成果:
    • 优化经验固化到工具链推广到供应链组所有项目,统一了前端团队技术底座。

    说起来这个赛道太窄了 orz
    vx: ZXZlcnl3aWxsMjAwOA==
    4 条回复    2024-08-04 13:45:09 +08:00
    zsj1029334
        1
    zsj1029334  
       97 天前 via iPhone
    这种高手, 大厂需要的
    aesen321
        3
    aesen321  
       96 天前
    muyunyun
        4
    muyunyun  
       93 天前
    你好,我是拼多多前端研发,现在我们急招高级前端开发工程师和专家,不知道你有没有兴趣?我们的 base 在上海长宁区,如果有意向,可以加我微信 _muyunyun 聊聊,我可以帮忙内推下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1754 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:39 · PVG 00:39 · LAX 08:39 · JFK 11:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.