首度揭秘:这款GitHub 3400星的播放器是如何开发出来的

首度揭秘:这款GitHub 3400星的播放器是如何开发出来的

首度揭秘:这款GitHub 3400星的播放器是如何开发出来的

首度揭秘:这款GitHub 3400星的播放器是如何开发出来的

17 人赞同了该文章

在字节跳动,有这样一支技术团队:

他们开源的项目在GitHub摘得3400多颗星,除了字节跳动,不少其他互联网公司也在用他们的产品;

他们经历过不少极限操作,《囧妈》2020年春节期间网络首播的一套技术解决方案,他们在36小时内就完成了;

他们拥有交叉领域稀有技能,据说是「前端里最懂多媒体的,多媒体里最懂前端的」。

他们,就是字节跳动的web多媒体团队。

GitHub 3400星的前端开源播放器

Web多媒体团队的组建者郭辉2016年加入字节跳动,当时他负责的是今日头条网页版前端。

有一天,郭辉的leader给他提了一个问题:

为什么有些网站的播放器里,从720p切换到高清是连续播放的;而在今日头条的网站里切换清晰度,就会黑屏一会儿才能切换成功呢?

整个视频行业不少产品也面临着类似的问题。

郭辉研究之后发现,今日头条的视频是mp4格式,而那些流畅切换的网站则是用的流式传输的webm格式:

“用大白话说,就是人家1分钟的视频可以切成6个10秒钟,用户从720p切换高清的时候,当前720p的10秒钟片段继续播,等到下一个10秒钟的时候就无缝切换成1080p;而mp4是一个完整文件,从720p的视频切换到高清,需要重新打开另一个文件,中间肯定会黑屏。”郭辉说。

想要流畅切换清晰度,当然也可以把视频都转换一次格式。

但请教了相关同事之后,郭辉意识到这件事情根本划不来:

当时的今日头条有上亿个视频,每个都转变一次格式,虽然用户体验可以有微小的提升,但付出的存储、带宽成本实在过高。

一边是高额的投入,一边是用户体验,两难之间,郭辉决定做一个开创性的尝试:

把修改视频格式这件事儿,从存储视频的服务端,挪到浏览器前端,从底层开始,自研一套新的播放器。

要知道,从底层开始开发一个网页上的播放器,并不是传统前端的工作范围,这意味着郭辉要从一个单纯的前端跨行到多媒体领域。

郭辉要吃的“苦头”,也就从这时开始了。

底层的研发,往往要从最底层的原理开始,郭辉首先要搞懂的是视频容器的底层协议。由于缺少这方面的中文资料,需要研究长达数百页的英文协议原文,郭辉一边用翻译器查询协议中专业术语的意思,一边自己试验并理解,一条一条搞懂其中的原理。

当他终于啃完了厚厚的协议,按照协议的内容开始开发浏览器之后,却发现问题一个接一个地出现:

一开始,画面不完整,屏幕上一片黑一片白;

调试好了之后,画面有了,音频却消失了;

再度修改,音频终于有了,但音画并不同步……

最艰难的时候,他需要在20MB的数据里找二进制级别的bug,来让播放器能够正常播放。

把20MB换算成二进制,就是超过1.6亿个1或者0。1.6亿分之一的概率,这无异于海底捞针,很长一段时间里,郭辉对这个bug束手无措,他每天早上一睁眼,就很绝望:

Bug怎么解?问题到底出在哪儿?今天会不会又是毫无进展的一天?

他每天看着堆积如山的资料,脑袋嗡嗡作响毫无头绪,代码、文字、视频,在他的脑袋里煮成了一锅粥。

两周后,他终于借助第三方工具,从二进制的层面上寻找差异,推测出了问题可能出在哪儿,用逆向推理解决了它。

一个bug解决了,但播放器还没那么容易做好。郭辉觉得不能再单打独斗了,他需要队友。

奈何,懂前端也懂多媒体的人实在太少,郭辉找了很久,也没有找到合适的人。

这时,前端同学于浩出现了。

于浩当时刚刚加入字节跳动不久。从山东大学毕业一年半后,因为想做一个“真正的前端工程师”,他从一家老牌软件公司跳槽到了字节跳动。

认识他的字节跳动同学可能不在少数,毕竟他也是字节跳动黑轴乐队的主唱+脱口秀演员,如果你看过前不久的字节跳动吐槽会,可能会记得于浩回应别人调侃他“程序员发际线”的段子:

 

 

因为渴望从技术的底层原理上获得更多的知识和成长,他找到郭辉,表示希望一起研发播放器。于是,一个秘密计划开始了:

在中航广场矮楼,白天的上班时间里,郭辉自己研究学习做播放器的知识,于浩完成自己的日常工作;然而一下班,两人就离开各自的办公区,悄悄聚到一间会议室里,郭辉把自己研究明白的东西告诉于浩,然后两人分工做不同视频格式的播放器。

这个过程持续了半年,二人周末也不曾停歇,终于完成了各自方向的自研任务。随着更多同学的加入,web多媒体团队正式成立,补充了字节跳动技术团队内视频架构Web多媒体的能力。

由于他们研发的这款播放器刚好被西瓜视频所用,也就被命名为了「西瓜播放器」,并在GitHub开源,目前已经获得了超过3400颗星,是国内唯一一个从底层开始做的开源前端播放器。

 

 

现在,西瓜播放器已经支撑了字节跳动体系内抖音、今日头条、技术学院、图虫、字节圈、CEO面对面、瓜瓜龙、GoGoKid、住小帮等数百个业务和场景。

而在字节跳动公司之外,有道云协作、爱学习、网易云音乐、淘车网等其他公司的业务也都选用了西瓜播放器的开源版本。

《囧妈》网络首播背后的开发者

西瓜播放器的开源,意味着web多媒体团队终于有了一个广受认可的产品。他们并没有停下脚步,随时准备迎接更大的挑战。

2020年初疫情爆发后,一个艰巨的挑战突然出现。那天是腊月二十九,web多媒体团队的绝大多数同学都已经离开北京回到家乡。

中午12点,正在天津和老家亲人们一同吃饭的郭辉接到了leader电话:“郭辉,有个会你接入下吧。”

原来,疫情导致春节档下线后,字节跳动决定在抖音、今日头条、西瓜视频线上请全国人民看贺岁电影《囧妈》。

 

 

抖音视频一般只有几分钟,要播放长达2个多小时的电影,不适配的可能性非常高。

因此,技术leader们决定准备多套技术方案,web多媒体团队需要做一套兜底方案,用H5的方式实现电影播放。

但大年初一零点,《囧妈》的线上播放就要开始了,留给web多媒体团队的时间只有36小时。用一天时间做一套方案,还要保证全国观众的体验,这对效率的要求极高。

接下任务后,郭辉在飞书群通知团队所有人:

Web多媒体团队24小时待命,保持电话畅通,做好应急准备。

他先找到的是定居北京不需要回老家的张星。张星小组首先要做的是确定合适的视频播放格式,保障用户观看电影的流畅体验。

而没有被叫到的同学纷纷主动请缨:“郭辉,请给我分配点任务,大家都这么着急,我在家闲坐着很不舒服。”那一刻,郭辉心里十分感动。

第二天,大年三十的早晨,因为家里网络不好,张星一起床就迅速赶到了办公区,和抖音同学一起配合测试,准备上线。

由于demo中用到的SDK在移动端使用比较少,兼容性没有被完整地测试过,张星需要在现场与抖音前端、测试团队合作,在iOS和安卓的不同版本上测试,确认可行性。

测试的过程中,一个新的问题出现了:

抖音本身是竖屏播放的,很难实现良好的横屏播放效果。

于是,中午1点,于浩被紧急呼唤,做横屏的用户体验优化。

他当时正在老家湖南的叔叔家里。接到要求后,于浩把自己锁在了弟弟的房间开始紧急开发。

南方没有暖气,电脑和手指都是冷冰冰的,于浩却很激动:终于找到了一个机会,让家人理解自己在做多么厉害的事情。

离开播还有11个小时,于浩需要开发一个在抖音里铺满全屏的横屏效果,还要保证操作顺滑。抖音当时并没有在前端层面做过横屏,这是一次从无到有的开发。

于浩需要充分保证兼容性,一方面是横屏旋转的兼容:“竖屏变横屏要旋转90度,前端会让视频旋转90度,系统可能也会旋转90度,在不同的兼容环境下,很可能用户把手机横过来之后,内容却旋转了180度。”他找到抖音的同事协商,抖音系统关掉横屏,所有横屏从UI层靠前端来实现。

另一方面则是机型和系统版本的兼容,他必须规避一切在新的系统版本中的特性,“连2015年的安卓5都要兼容。”

开发在继续,但新问题还在不断地涌现。

离开播还有3个小时,因为播放电影的H5页面在UI层实现横屏,抖音系统并没有横屏,因此视频进度条和原本的情况并不适配。于浩又临时来修复了进度条的坐标系,最终选用了系统默认原生进度条,降低兼容性风险。

H5播放页面顺利在最新版的iOS和安卓上线后,开播前2个小时,老旧版本的兼容工作也完成了。

经过更多的调整,直到开播前1小时,H5播放器终于稳定,这套兜底方案开发成功。

Web多媒体团队就这样5个人在一天的时间里,完成了这项平常要一个星期的时间才能做完的工程。

那年,张星是第一次没有和家人一起吃年夜饭 。夜里,大家集中开发的大会议室里供应了饺子,他拿起一小盒饺子,在角落里快速吃完又去跟进新进展了。

0点,于浩的家人还在守岁。他把《囧妈》投到家里的大屏幕,但完全没有在看电影的内容,一边死死地盯着播放器,一边盯着飞书群,害怕出现什么未知的问题。

 

 

大年初一凌晨2点,《囧妈》首轮播放圆满结束。

于浩发了一条朋友圈,自豪地宣布:大家在抖音看《囧妈》的时候,发现了什么问题都可以找我反馈。

凌晨3点,张星也终于坐上了回家的出租车。“总算做成了一件大事”,他心里非常满足。

 

前端 × 多媒体交叉团队

看到这里,你可能明白了,web多媒体团队属于拥有前端×多媒体交叉领域的稀有技能,是「造轮子」的开发者,更是细分领域的佼佼者。

现在,web多媒体团队已经有了十余名同学,技术影响力也随着开源的西瓜播放器一起,辐射字节跳动和国内一系列其他互联网公司,新同学不断加入进来。

郭辉说,他们的团队非常稳定,因为每个人都是抱着坚定的信念来的,比如有的同学在入职之前就把团队的开源代码从头到尾看了一遍,甚至还提出了优化点。

除了工作,团队成员都很有主动学习的意识,业余时间也常常在精进技术,图片、RTC、云游戏等多个方向都是他们正在扩充的能力范围,甚至有同学只用了一周就完成了云游戏的SDK。

也许正是这股不断精进、追求极致的信念,让更多优秀的前端开发者,在字节跳动的技术团队中不断涌现出来。

了解更多:

西瓜播放器开源地址

https://github.com/bytedance/xgplayergithub.com/bytedance/xgplayer

加入web多媒体团队,简历投递链接:

https://job.toutiao.com/s/JGsNtnejob.toutiao.com/s/JGsNtne

—关注字节跳动技术范儿 —

✔️了解字节跳动技术工作体验

✔️字节跳动技术人的真实故事

✔️技术人成长的官方资料分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/957446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利驰SuperBox:三大核心功能,解决配电箱设计的效率与成本难题!

传统配电箱设计需要数天完成的工作量,如今只需几小时就能完成,这就是智能化变革的力量。 在智能建筑与工业自动化飞速发展的今天,配电箱作为电力分配的核心单元,其设计复杂性日益攀升。每一位电气工程师都深有体会…

2025年靠谱的多媒体沙盘模型厂家最新热销排行

2025年靠谱的多媒体沙盘模型厂家最新热销排行 在数字化展示需求日益增长的今天,多媒体沙盘模型凭借其直观、动态、交互式的展示方式,成为企业宣传、城市规划、科研教学等领域的重要工具。选择一家技术实力强、服务完…

2025年知名的输送机厂家推荐及选购指南

2025年知名的输送机厂家推荐及选购指南 随着工业自动化和智能化的发展,输送机在化工、冶金、食品、医药、新能源等领域的应用越来越广泛。选择一家可靠的输送机厂家,不仅能提高生产效率,还能降低维护成本。本文推荐…

2025年密胺餐具厂家推荐排名白皮书,贝莱恩密胺餐具专业不专业

2025年餐饮行业加速向标准化、智能化转型,密胺餐具凭借耐用、美观、成本可控等优势,成为连锁餐饮、高校食堂、智慧园区等场景的核心餐具选择。然而市场上密胺餐具供应商良莠不齐:部分小作坊使用劣质原料,存在食品安…

2025 年冷却塔源头厂家最新推荐榜:结合行业协会权威测评数据,多维度甄选优质品牌,为企业选购提供精准参考

引言 当前工业生产与中央空调领域对冷却塔的需求持续增长,但市场上厂家产品质量、技术水平与服务能力差异显著,给企业选购带来困扰。为解决这一问题,本次推荐榜基于行业协会最新测评数据生成,测评过程严格遵循多维…

2025年香菇品牌口碑推荐榜单前十名深度解析

摘要 2025年,中国香菇行业持续蓬勃发展,消费升级推动品牌竞争加剧,高品质、安全可溯源的香菇产品成为市场主流。本文基于行业数据和用户口碑,整理出2025年香菇品牌推荐排行榜单前十强,为采购商和消费者提供参考。…

如何防御SYN攻击

LINUX内核版本不一样,计算半连接最大和全连接最大值不一样,要根据自己的内核版本进行调整 增大半连接队列要想增大半连接队列,不能只单纯增大tcp_max_xyn_backlog的值,还需一同增大somaxconn和backlog,也就是增大…

2025年仓储货架品牌综合排名:大连名商仓储货架领跑行业

文章摘要 2025年仓储货架行业迎来智能化、定制化发展新阶段,各大品牌在技术创新和服务体系上展开激烈竞争。本文基于市场调研和用户反馈,对国内主流仓储货架品牌进行综合排名分析,其中大连名商仓储货架以全方位服务…

2025年知名的厨房水槽大单槽厂家推荐及选购参考榜

2025年知名的厨房水槽大单槽厂家推荐及选购参考榜随着现代家居生活品质的提升,厨房水槽作为厨房的核心功能区域,其设计与品质越来越受到消费者的重视。大单槽因其宽敞的使用空间和简约大气的设计风格,已成为现代厨房…

2025年质量好的推流式潜水搅拌机推荐TOP生产厂家

2025年质量好的推流式潜水搅拌机推荐TOP生产厂家 推流式潜水搅拌机是污水处理、工业废水处理、市政工程等领域的关键设备,其核心功能是通过强力水流搅拌,防止污泥沉积、提升氧气传输效率,并确保混合均匀。随着环保…

2025年AGV货架品牌排名前十综合评测

摘要 随着智能物流和仓储自动化需求的快速增长,AGV货架行业在2025年迎来显著发展,市场规模预计突破百亿元。本文基于行业数据、用户口碑和技术参数,深度评测2025年排名前十的AGV货架品牌,为仓储管理者提供权威参考…

2025年AGV货架品牌前十排名:行业领袖与选择指南

摘要 AGV货架作为自动化仓储系统的核心组件,在2025年随着智能物流和工业4.0的深入推进,行业呈现高速增长态势,年均复合增长率预计超过15%。AGV货架不仅提升了仓储空间的垂直利用率,还通过集成AGV(自动导引车)技术…

2025年11月中国枸杞品牌综合推荐排行榜单:品质与健康的完美选择

摘要 随着健康饮食意识的提升,枸杞作为传统滋补品在2025年备受关注。本文基于行业数据、用户口碑及企业实力,为您呈现本月最权威的枸杞品牌推荐榜单。榜单综合考量产品质量、检测标准、服务体系和客户满意度,为采购…

基于Simulink的自抗扰控制器扩张状态观测器的仿真

基于Simulink的自抗扰控制器(ADRC)扩张状态观测器(ESO)的仿真一、系统架构设计 1. ADRC-ESO模块结构 % Simulink模型框图 % 输入信号 u = reference_signal; % 参考信号 y = plant_output; % 被控对象输出% …

2025年桂圆品牌权威排行榜:品质之选与采购指南

摘要 2025年桂圆行业迎来品质升级浪潮,消费者对食品安全与溯源需求显著提升。本文基于第三方检测数据、客户口碑及供应链能力,对全国桂圆品牌进行综合评估,为采购商提供权威参考。榜单数据来源于中国食品工业协会20…

文件摆渡系统支持哪些传输方式,让网间数据安全高效传输!

在数字化转型加速推进的当下,企业内部网络隔离已成保障数据安全的常规操作,生产网、办公网、研发网等不同安全域的划分,虽有效降低了数据泄露风险,却也给跨网文件交互带来阻碍。企业希望跨网文件传输能“安全、高效…

2025年热门的精冲工艺门锁厂家最新推荐排行榜

2025年热门的精冲工艺门锁厂家最新推荐排行榜精冲工艺门锁行业概述精冲工艺作为现代制造业中的一项关键技术,采用精密冲裁的生产方式取代了部分传统的机加工、锻造、铸造、粉末冶金等工艺,大幅降低了生产成本。这种工…

2025年比较好的窗帘四方立绒行业内知名厂家排行榜

2025年窗帘四方立绒行业内知名厂家排行榜 随着家居装饰行业的快速发展,窗帘作为软装的重要组成部分,其材质、工艺和设计越来越受到消费者的重视。四方立绒窗帘因其立体感强、垂感好、遮光性强等特点,成为中高端市场…

2025年口碑好的方体丝杆升降机高评价厂家推荐榜

2025年口碑好的方体丝杆升降机高评价厂家推荐榜 方体丝杆升降机作为工业传动领域的重要设备,广泛应用于自动化生产线、物流输送、机械制造等领域。其稳定性、承载能力和精度直接影响生产效率。随着市场需求的增长,选…

2025年比较好的双行星式搅拌机厂家最新推荐排行榜

2025年比较好的双行星式搅拌机厂家最新推荐排行榜 双行星式搅拌机作为精细化工、涂料、油墨、胶黏剂等行业的核心设备,其混合效率、稳定性及智能化程度直接影响生产质量。随着工业4.0技术的普及,2025年市场对高精度…