本篇主要分为两部分,给大家复盘下 GSYVideoPlayer
的 发展历程感悟 和有哪些 “有趣的事情”。
一、无聊的项目历程
GSYVideoPlayer
如今在 Github 是 15.9k
的 star ,也许你会觉得作为个人项目居然接近16k star 好厉害,但是如果再加上一个维护了近 5 年的前置描述,会不会就显得意外的普通。
GSYVideoPlayer
是一个 Android 上的播放器封装项目,2016 年 11 月 13 日项目被创建,它并不是我第一个项目,其实在 2016 年 11 月 - 12 月这段时间我创建了很多开源项目,但机缘巧合之下只有它窜了起来。
GSYVideoPlayer
为什么会火?其实并不是因为这个项目有多大的技术含量,我觉得最大的原因是因为音视频开发是一个“脏”“乱”“累”的活,而 GSYVideoPlayer
恰好帮你少走了一些泥泞的路。
从数据层面看,GSYVideoPlayer
在起初之初刚好赶上直播和音视频开始爆发,大量的音视频需求让项目获取到关注度,而其实 GSYVideoPlayer
一开始并不是原创项目。
GSYVideoPlayer
成立之初只是因为:我使用的播放器开源项目不满足需求 ,所以我将原本的项目 fork 过来自己维护修改,但是随着关注度和各类问题的出现,为了进一步的发展,前前后后我对项目进行了四次的重构 ,所以才有了现阶段的 GSYVideoPlayer
。
我总结了下为什么 GSYVideoPlayer
能走到今天:
- 首先最主要一点是我的工作不是996,这决定了我有心情和时间来维护这些开源项目。
- 第二就是
GSYVideoPlayer
存在市场需求 ,音视频开发一直处于增长。 - 第三就是持续的维护 ,这一点说起来容易,但是能坚持下来并不多,因为维护开源项目最重要的就是不追求短期的回报,持续性的长期投资。
所以我觉得做开源项目最重要的就是有闲暇时间,而这些时间不是说用来写多少代码,而是通过开源项目去交流、聆听别人的想法和思路,解决别人遇到的问题,最终实现项目和个人的成长。
而随着项目的发展,在 2019 年 6 月时项目成功突破 10000 star,这算是完成了我开源项目的第一个里程碑。
如今 GSYVideoPlayer
已经有近 70多 个发布版本(最新昨天 315 刚刚发布),3000+ 的 issue ,JCenter 一年大概 20万+的下载量(可惜 JCenter 要关了),这对我来说就是最美丽的回报。
二、有趣的 issue
维护开源项目的另外一个好处就是可以接触到行业内各式各样的人 ,而 issue 作为沟通交流的主要渠道,它在这些年给我带来了许多有趣的回忆:
播放器能不能播放 gif 图或者 png 图片的
在 issue 里留下不可描述链接的
为什么无法播放优酷的 html 链接的
阿根廷小哥用翻译器提中文 issue 的
国外小哥用翻译器提和善 issue 的
一开始气冲冲地提了 issue ,然后气消了一般会修改用礼貌用语的
在 issue 发布招聘的
提 issue 发泄情绪的
GSYVideoPlayer
这些“有趣”的 issue 给我提供了不少快乐的源泉,类似还有:
- “为什么爱奇艺的链接网页能播放,gsy不能”
- “为什么b站的视频流在你这里播放失败”
- “请问这个能播放mp4吗”
- “请问下你的播放器可以压缩视频吗?”
- “你好,可以帮我做一个抖音的demo吗?”
- “垃圾,居然会崩溃”
.....
当然,这五年里除了 GSYVideoPlayer
之后,GSY 大家庭也诞生了其他的成员,如今这个大家庭已经有 40k+ 的 star ,如果你问我是什么让你坚持做开源这么多年?那我的答案一定是:成就感和快乐 。