移动设备接入视频服务器和寻常的直播系统有一定的区别,一般直播系统是拉流多,一个直播多个观众的模式
但移动设备是成千上万的设备,客户端观看视频的不多。其中国家交通部视频标准JT/T 1078 协议和公安部标准
JB28181 视频标准都是由服务器来决定流媒体服务器的。这就决定了设备端的视频服务器是临时分配的。
从而让软负载均衡实现有了可以发挥的空间。
使用软负载均衡的好处有以下两点:
1. 不需要硬件投入,成本低
2. 移植性好,软件调度算法多种
解决软负载均衡就要能通过软件的方式获取服务器的状态,尤其是网络流量和处理器状态,网络速度这些。
car-eye基于nginx开发和自己动态计算的流量的方法解决了带宽使用情况。
并提供了http这种比较方便获取的接口来进行获取
我们可以简单看一下里面所包含的内容,数据采用json格式
{
"http-flv": {
"version": "1.1.3",
"built": "Apr 15 2021 20:24:26",
"pid": 6820,
"uptime": 317,
"naccepted": 3,
"bw_in": 113792,
"bytes_in": 918609,
"bw_out": 139160,
"bytes_out": 1122710,
"servers": [
{
"port": 9213,
"server_index": 1,
"applications": [
{
"name": "live",
"live": {
"streams": [
{
"name": "64921033299_channel_1",
"time": 37,
"bw_in": 118352,
"bytes_in": 1172789,
"bw_out": 113792,
"bytes_out": 1127279,
"bw_audio": 0,
"bw_video": 113792,
"clients": [
{
"id": 77,
"address": "127.0.0.1",
"time": 77,
"dropped": 0,
"avsync": 0,
"timestamp": 0,
"publishing": true,
"active": true
},
{
"id": 7,
"address": "103.72.147.201",
"time": 37,
"pageurl": "port=10077&app=live&stream=64921033299_channel_1",
"dropped": 0,
"publishing": true,
"active": true
}
],
"records": [],
"meta": {
"video": {
"width": 1280,
"height": 720,
"frame_rate": 25,
"codec": "H264"
},
"audio": {
"codec": "AAC",
"profile": "LC",
"channels": 1,
"sample_rate": 8000
}
},
"nclients": 2,
"publishing": true,
"active": true
}
],
"nclients": 2
}
}
]
}
]
}
}
具体的字段描述如下:
平台根据这些数据获取到单个设备的使用情况,同时也可以通过监听网络获取到网卡使用的带宽。这些信息跟
获取到的CPU和内存使用信息,一起作为了负载均衡的调度信息的依据。另外这些单个流的信息还可以作为
设备流量使用统计的主要依据。
car-eye开源官方网址:www.car-eye.cn
car-eye 流媒体平台网址:www.liveoss.com
————————————————
原文链接:https://blog.csdn.net/Car_eye/article/details/115971618
网友评论