在视频应用中,通常一台服务器无法解决所有业务,需要考虑系统的负载均衡。现实世界主要考虑两种典型的应用,一是拥有大量接入摄像头的应用,客户端多,但设备更多,而且这种情况下设备还需要在没有客户端的情况下实现视频上传实现云存储,如在移动车载领域,视频监控领域。第二种应用是设备并不多,但拥有大量的客户端,这种应用更加常见,如直播,教育等行业。无论这两种应用的那种,当量上去以后都需要考虑多视频服务器架构,并实现负载均衡。负载均衡有很多策略,可能是软负载,也可以采用硬件负载。我们主要讨论的是软负载,而且是不采用公共的负载均衡软件实现的软负载均衡策略

一。多接入的软负载均衡实现策略

通过统计服务器的流量,带宽等信息实现接入服务器的切换。并播放端接入的服务器的地址

 

在开始介入之前摄像头跟负载均衡模块进行询问,统计哪个视频服务器更加空闲。

负载均衡模块调用带宽和流量统计决定哪个服务器是空闲的,并将信息反馈给摄像头。

摄像头获知到信息后对指定的服务器进行推流。

 

二。多客户端的直播模式的负载均衡策略

 

第一步:设备推流的时候负载均衡服务器将流转发到不同的服务器

第二步:客户端向客户端服务器(通常是web等)请求观看视频

第三步:客户端服务器向负载均衡服务器获取视频信息

第四步,负载均衡服务器获知信息并将信息反馈给客户端服务器

第五步:客户端服务器将设备连入的视频服务器传递给客户端

第六步:客户端从视频服务器拉取视频流

无论哪种情况的负载均衡都需要获知视频服务器的流量和带宽信息。

 

有关视频服务器和典型的应用方案请参考,car-eye 流媒体平台git地址相关信息。

https://github.com/Car-eye-team

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐