哔哩哔哩现为中国年轻世代高度聚集的文化社区和视频平台,被粉丝们亲切地称为“B站”。
overlord
分类:缓存服务解决方案
开发语言:GO
Overlord是哔哩哔哩基于Go语言编写的memcache和redis&cluster的代理及集群管理功能,致力于提供自动化高可用的缓存服务解决方案。主要包括以下组件:
•proxy:轻量高可用的缓存代理模块,支持memcache和redis的代理,相当于twemproxy,不同在于支持redis-cluster及能将自己伪装为cluster模式。•platform:包含apiserver、mesos framework&executor、集群节点任务管理job等。•GUI:web管理界面,通过dashboard可视化方便用于集群管理,包括创建删除、扩缩容、加减节点等。•anzi:redis-cluster的数据同步工具,可服务化与apiserver进行配合工作。•enri:redis-cluster的集群管理工具,可灵活的创建集群、迁移slot等。
Overlord已被哔哩哔哩用于生产环境。
Stars: 1.6k
Github: https://github.com/bilibili/overlord[1]
discovery
分类:基础服务
开发语言:GO
discovery是一项基础服务,可以在生产中使用,并且主要在Bilibili用于定位服务,以实现负载均衡和中间层服务器的故障转移。
Stars: 1.3k
Github: https://github.com/bilibili/discovery[2]
ijkplayer
分类:基础工具
开发语言:C, Object-C,Java
基于FFmpeg n3.4的Android / iOS视频播放器。
Stars: 28.1k
Github: https://github.com/bilibili/ijkplayer[3]
flv.js
分类:基础工具
开发语言:JavaScript
用纯JavaScript编写的HTML5 Flash Video(FLV)播放器,不依赖Flash。
flv.js的工作原理是将FLV文件流转换为ISO BMFF(分段MP4)段,然后<video>
通过Media Source Extensions API将mp4段馈送到HTML5元素中。
flv.js用ECMAScript 6编写,由Babel Compiler编译为ECMAScript 5 ,并与Browserify捆绑在一起。
特征
•具有H.264 + AAC / MP3编解码器播放功能的FLV容器•多段分段视频播放•HTTP FLV低延迟实时流播放•通过WebSocket进行FLV实时流播放•与Chrome,FireFox,Safari 10,IE11和Edge兼容•极低的开销,并且浏览器可以加速硬件!
Stars: 19.1k
Github: https://github.com/bilibili/flv.js[4]
DanmakuFlameMaster
分类:android组件
开发语言:Java
android上开源弹幕解析绘制引擎,烈焰弹幕。
功能特性
•使用多种方式(View/SurfaceView/TextureView)实现高效绘制 •B站xml弹幕格式解析
•基础弹幕精确还原绘制 •支持mode7特殊弹幕 •多核机型优化,高效的预缓存机制 •支持多种显示效果选项实时切换 •实时弹幕显示支持 •换行弹幕支持/运动弹幕支持
Stars: 8.8k
Github: https://github.com/bilibili/DanmakuFlameMaster[5]
boxing
分类:android组件
开发语言:Java
boxing是一个基于MVP模式的Android多媒体选择器。
功能特性
•支持自定义UI•支持多/单图片选择和预览,单图裁剪功能•支持gif•支持视频选择功能•提供图片压缩•多图生成gif(checkout feature/gif-encode)
Stars: 3.2k
Github: https://github.com/bilibili/boxing[6]
MagicaSakura
分类:android组件
开发语言:Java
MagicaSakura 是 Android 多主题框架,支持白天多种主题和夜间主题。
Stars: 3.4k
Github: https://github.com/bilibili/MagicaSakura[7]