在字节跳动,有这样一支技术团队:
他们开源的项目在GitHub摘得3400多颗星,除了字节跳动,不少其他互联网公司也在用他们的产品;
他们经历过不少极限操作,《囧妈》2020年春节期间网络首播的一套技术解决方案,他们在36小时内就完成了;
他们拥有交叉领域稀有技能,据说是「前端里最懂多媒体的,多媒体里最懂前端的」。
他们,就是字节跳动的web多媒体团队。
GitHub 3400星的前端开源播放器
Web多媒体团队的组建者郭辉2016年加入字节跳动,当时他负责的是今日头条网页版前端。
有一天,郭辉的leader给他提了一个问题:
为什么有些网站的播放器里,从720p切换到高清是连续播放的;而在今日头条的网站里切换清晰度,就会黑屏一会儿才能切换成功呢?
整个视频行业不少产品也面临着类似的问题。
郭辉研究之后发现,今日头条的视频是mp4格式,而那些流畅切换的网站则是用的流式传输的webm格式:
“用大白话说,就是人家1分钟的视频可以切成6个10秒钟,用户从720p切换高清的时候,当前720p的10秒钟片段继续播,等到下一个10秒钟的时候就无缝切换成1080p;而mp4是一个完整文件,从720p的视频切换到高清,需要重新打开另一个文件,中间肯定会黑屏。”郭辉说。
想要流畅切换清晰度,当然也可以把视频都转换一次格式。
但请教了相关同事之后,郭辉意识到这件事情根本划不来:
当时的今日头条有上亿个视频,每个都转变一次格式,虽然用户体验可以有微小的提升,但付出的存储、带宽成本实在过高。
一边是高额的投入,一边是用户体验,两难之间,郭辉决定做一个开创性的尝试:
把修改视频格式这件事儿,从存储视频的服务端,挪到浏览器前端,从底层开始,自研一套新的播放器。
要知道,从底层开始开发一个网页上的播放器,并不是传统前端的工作范围,这意味着郭辉要从一个单纯的前端跨行到多媒体领域。
郭辉要吃的“苦头”,也就从这时开始了。
底层的研发,往往要从最底层的原理开始