直播系统源码的模块划分
视频服务器端:视频传输和播放用的流媒体服务器,通常是用C或者C 语言开发实现,主要实现一对多的视频流发布功能。
内容分发系统:很多人都知道,涉及到大规模内容分发都需要用到CDN技术,并且市场上出现了很多专门提供CDN服务的上市公司,他们通过为用户提供内容的大范围分发服务来盈利。
直播系统源码的分发主要有以下特点:
1、flv居多,ts较少,原因主要是ts标准太过于复杂。Flv的标准开放文档是11页,ts的有174页。对于一般的直播,flv基本能满足需求,因此ts应用就较少。当然了,我们也可以借助于FFmpeg,但是它会将流媒体方面你想得到的和想不到的都封装了,不够精准。
2、rtmp和hls并存。一般来讲,rtmp用在PC端上,使用flash播放;hls用作手机和平板上。
3、实时流一般使用rtmp。rtmp能做到1到3秒的延迟,是直播里除了rtsp外延迟最低的协议。PC上支持直接播放,移动端可以用FFmpeg解码播放。
直播系统源码搭建完成后需要注意的方面:
关键页面的响应时间
如果用户访问的某个页面的跳出率过高,那么你就需要对该页面进行验证了。尤其是在结账、添加物品到购物车、不同模型的比较等页面。你需要验证这些关键页面的响应时间,并检查这些页面的负载量。
资源使用情况
你需要不断监控服务器的资源使用情况,识别出那些地方比预期耗费了更多的资源。关键的地方包括CPU、内存、磁盘、垃圾回收与网络。当某个资源的使用达到峰值时,你需要明白造成高资源使用率的原因并进行横向与纵向的比较(如果有需要)。
重定向的数量
重定向的数量不是一个性能要素,但是它仍然可能会影响到性能。如果你的页面重定向到多个页面,这种情况就可能会发生,它会破坏良好的用户体验,使用户因此关闭页面。