简介说明:
流媒体服务器+终端(android,ios,web)来实现实时监控或着说是直播
以下几个因素建议考虑
采集、预处理、编码、传输、服务器转码、解码
- 采集采集是播放环节中的第一环,iOS 系统比较简单,软硬件适配性较好。Android系统市面上的开源系统非常多,所以很难可以找一个库可以匹配所有的系统。PC 端的采集也跟各种摄像头驱动有关,推荐使用目前市面上最好用的 PC 端开源免费软件 OBS。
- 编码编码主要难点有两个:
- 处理硬件兼容性问题。
- 在高 fps、低 bitrate 和音质画质之间找到平衡,fps一般建议选择15fps,600K码率。iOS 端硬件兼容性较好。而 Android 的的支持系统比较多,推荐使用软编。
- 推流和传输(CDN)传输涉及到很多端:从主播端到服务端,从推流服务端到边缘节点,以及再从边缘节点到观众端。推流端和分发端理论上需要支持的并发用户数应该都是千万级的,不过毕竟产生内容的推流端在少数,和消费内容端播放端不是一个量级,但是他们对推流稳定性和速度的要求比播放端高很多,这涉及到所有播放端能否看到直播,以及直播端质量如何。感觉现在的独家CDN太不靠谱,要多家冗余,互相弥补才行。
- 转码为了让主播推上来的流适配各个平台端各种不同协议,