熟悉我们的人都知道,我们的视频直播点播平台可以配合RTMP推流平台使用,将手机实时视频流推至视频直播平台进行实时直播,在户外安防监控的应用上有着很大的实用性。
关于带宽,我上一篇写了安防视频监控流媒体服务器系统对网络带宽的要求,大概解释了安防视频监控对带宽的三点需求,本篇文章也将就带宽解释一下带宽的资源消耗问题。
首先我们要明白带宽资源被占用会发生什么。我打个比方,当公司有监控摄像头的时候,摄像头不断通过拉流推流来录制视频、存储视频,这个过程需要消耗网络资源的,假如这个公司的网络资源可以允许10路流同时进行,而公司的摄像头就占用了9路流,那么当员工们办公的时候,就只能分用剩下1路流,办公网速就会非常慢。就像下载东西,可能其他的应用下载会分走你上网的流量一下。
那么怎样解决这个问题呢?我们流媒体服务器有两种方法:码率自适应和云端混流。
1、码率自适应
让音视频流的码率自动适应复杂的网络环境,比如网络抖动。我们都知道,在国内用户端的上下行网络带宽是不对称的。比如说下行如果是100Mbps,那么对应的上行可能就是1Mbps,这样上行就成了瓶颈,下行反而问题不大。因此,要确保推流成功且质量好,那么就要利用好上行的网络带宽。
推流端要能够做到根据各种维度的因素(个体历史数据、群体历史数据、网络探测数据等)分析和预测网络的情况,决定推流应该采用多大的码率,选择哪条线路。关键点是要找到目前上行带宽的情况下恰好满足上行带宽的最大码率。
2、云端混流
把多路音视频流在服务器集群里面混合成一路流,然后转推到CDN去,让观众拉混合好的单流来观看。这样可以节省一部分带宽成本。拉流端拉流的时候有两个选择,一个是把所有推流端的音视频流单独拉下来播放,一个是把云端混合好的一路单流拉下来播放。
采用不混流的方案,优点是拉流端可以灵活的操控多路流,比如画中画的灵活对调等,缺点是多占用了网络带宽。采用混流的方案,优点是拉流端只需要拉一路流,可以大大的节省从流媒体服务器到CDN网络和CDN网络到拉流端所占的网络带宽,缺点是多路音视频流经过混流以后,画面布局就固定了,在拉流端不能再进行灵活操控了。