You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SoftwareEngineering/设计/流媒体平台设计.md

60 lines
1.3 KiB

5 years ago
# 流媒体平台
## 流媒体底层需求
- 支持第三方接入开发
- 支持内部产品平台
- 支持跨平台(linux、windows、Android、ios...)
- 流媒体输入源
- 视频文件
- 编码芯片
- camera
- 网络流:rtmp、rtsp、hls、udp、webrtc...
- 其他源
- 流媒体输出
- 网络推流:rtmp、rtsp、hls、udp(ts)、webrtc...
- Ndi
- 本地播放器
- 视频文件存储
- hdmi
- 编解码:软编码和硬编码
- 视频:h264、h265
- 音频:aac ...
- 流媒体服务器:设备部署,云服务器
- 编译支持
- 单独编译:适合独立开发
- 集成编译:适合集成到产品开发
## 中间层
- Lua framework (kiloview)
- 包装底层sdk,提供应用层接入api
- Java framework
- TODO
## 应用层
- 开发方式
- 接入流媒体底层sdk(不需要lua环境的)
- 接入中间层sdk (需要lua环境的)
## 流媒体底层设计
- 独立仓库、独立编译、提高开发和调试效率
- 设计成sdk,cmake构建跨平台编译系统
- 提供api接入文件、和接入demo
## 流媒体底层sdk化实施步骤
- 讨论需求
- 业务抽象、定义接口,接口文档,审核接口
- 编码
- 编写测试代码
- 测试
- 项目接入