摘要:这个项目是BiliBili 三年前开源的 flv.js,它是一个使用纯 JavaScript 编写的 FLV(HTML5 Flash Video)播放器。这个flv.js解决了使用flv作为视频容器,并在html5播放器播放出来的一个难点。

来自:开源最前线(ID:OpenSourceTop)

综合自: https://www.zhihu.com/question/51997376、https://github.com/bilibili/flv.js

知乎有个话题火了,关于: 如何看待B站flv.js作者月薪5000不到

就连作者本人都吐槽自己的月薪还没自己项目的Star多,据说这个项目是作者一个人独立完成,并且在公司中推动其开源,更让人惊讶的是,作者好像是96年,学历好像只到了高中毕业。16年那会,算起来年纪也刚20岁。

那么,这是一个怎样的项目呢?

这个项目是BiliBili 三年前开源的 flv.js,它是一个使用纯 JavaScript 编写的 FLV(HTML5 Flash Video)播放器

flv.js 作者介绍道,flv.js 做了三件事:

1. HTML5 原生仅支持播放 mp4/webm 格式,flv.js 实现了在 HTML5 上播放 FLV 格式视频

2. 使 Bilibili 网页端平滑过度到 HTML5 播放器,历史遗留不再是障碍

3. 对于视频直播,在 HTML5 上支持了延迟极低 HTTP FLV 播放,解开网页端直播对 Flash 的依赖

它的工作原理是将 FLV 文件流转码复用成 ISO BMFF(MP4 碎片)片段,然后通过 Media Source Extensions 将 MP4 片段喂进浏览器。 flv.js 使用 ECMAScript 6 编写的,然后通过 Babel Compiler 编译成 ECMAScript 5,使用 Browserify 打包。

具有如下特性:

  • FLV 容器,具有 H.264 + AAC 编解码器播放功能

  • 多部分分段视频播放

  • HTTP FLV 低延迟实时流播放

  • FLV 通过 WebSocket 实时流播放

  • 兼容 Chrome, FireFox, Safari 10, IE11 和 Edge

  • 十分低开销,并且通过你的浏览器进行硬件加速

目前,flv.js在Github上标星  15482 ,创建了 2337 个分支,提交了 409 次Commits(Github地址: https://github.com/bilibili/flv.js

flv.js当时一开源,就有很高的关注度,可以说这是中国程序员在h5音视频领域的一项杰出成果,还一度上了hackernews首页。 知乎上对其的评价也很高:

这个flv.js解决了使用flv作为视频容器,并在html5播放器播放出来的一个难点。

我就说一句,能做出来这个,确实很值得骄傲和自豪,而且这个的过程,确实值得敬佩。

也有人为他当时所得到的薪资抱不平:

为啥不跳槽,为自己的劳动寻找合理的价格,是社会资源优化配置的途径

flv.js曝出来就知道作者是大牛,然而他们只给这个大牛5000.....

对此,你们怎么看?

往期文章

推荐一款神器:在浏览器中运行 VS Code,随时随地写代码

awk,真的是一款牛逼的神器!

微信如何查看是否被删好友,这4种方法简单快捷!

没想到《天龙八部》这段,只有搞IT的才看得懂

你常常看到的 __init__.py 到底是个啥?

相关文章