一种基于边缘计算设备的视频推流方法和系统与流程

未命名 09-29 阅读:110 评论:0


1.本发明提出了一种基于边缘计算设备的视频推流方法和系统,属于视频推流技术领域。


背景技术:

2.现阶段是自媒体和新媒体时代,在这种时代背景下,直播已经长为广泛传播的视频传播模式,在直播过程中,视频推流是必不可少的一个技术阶段,推流指的是把采集阶段封包好的内容传输到服务器的过程。在现阶段推流过程中,往往只是采用摄像机设备提供的推流协议,导致无法满足特定协议需求。


技术实现要素:

3.本发明提供了一种基于边缘计算设备的视频推流方法和系统,用以解决现有推流方式无法满足协议需求的问题,所采取的技术方案如下:
4.一种基于边缘计算设备的视频推流方法,所述视频推流方法包括:
5.通过边缘计算引擎获取不同型号摄像机采集的视频流;
6.所述边缘计算引擎将所述视频流转换为待推流的推流文件;
7.所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;
8.所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请求;其中,一个边缘计算引擎对应多个流媒体服务器;
9.视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。
10.进一步地,所述边缘计算引擎将所述推流文件发送至云管理平台进行存储,包括:
11.按照所述视频流生成的限先后顺序将所述推流文件进行压缩,形成推流文件数据包,并将所述推流文件数据包进行数据标记;其中,所述数据标记与视频流编号进行关联;
12.所述边缘计算引擎实时检测并判断是否接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求;
13.如果在指定时间段内接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则针对所述已完成推流文件数据包执行所述视频推流步骤;
14.如果在指定时间段内没有接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则将所述推流文件数据包发送至云管理平台进行存储;其中,所述指定时间根据实际服务器参数和规模情况进行设定。一般指定时间段的时间范围为10min-25min。
15.当所述云管理平台完成针对所述推流文件数据包的存储后,向所述边缘计算引擎发送存储完成指令;
16.所述边缘计算引擎在接受到存储完成指令后,针对已在所述云管理平台完成存储的推流文件数据包删除。
17.进一步地,当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器,包括:
18.所述流媒体服务器在向所述边缘计算引擎发送推流请求的同时,一并发送推流所需的执行协议;
19.所述边缘计算引擎在接收到所述推流请求和所述推流所需的执行协议时,判断所述执行协议的个数;
20.当所述执行协议的个数不超过预设的个数阈值时,将所述推流文件按照执行协议个数和协议要求转换为与所述执行协议相适应的流文件形式,并同时将多个已完成形式转换的推流文件发送至对应的流媒体服务器;
21.当所述执行协议的个数超过预设的个数阈值时,将相同种类的执行协议进行归类,形成一类执行协议集合;
22.针对每个执行协议集合,以所述个数阈值为个数单位将每个所述执行协议集合进行划分,获得多个协议转换组,其中,每个协议转换组中的协议数量与所述个数阈值相同,或,每个协议转换组中的协议数量低于所述个数阈值;
23.按照预先设定的协议种类优先级列表,依次针对每种类别的执行协议对应的推流文件就进行形式转换,并按照转换完成顺序依次发送至对应的流媒体服务器。
24.进一步地,所述个数阈值通过如下过程进行设置,包括:
25.提取每个所述边缘计算引擎对应的流媒体服务器的具体个数;
26.根据所述边缘计算引擎对应的流媒体服务器的具体个数结合个数阈值设置原则,进行个数阈值设置;
27.其中,所述个数阈值设置原则包括:
28.当所述边缘计算引擎对应的流媒体服务器具体个数不超过5个时,所述个数阈值设置约束条件为:
29.0.47
×
int(m
×
q)≤n≤0.73
×
int(m
×
q)
30.其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;int()表示向上取整,且,当n《3时,令n=3;
31.当所述边缘计算引擎对应的流媒体服务器具体个数超过5个时,所述个数阈值设置约束条件为:
32.0.40
×
round(m
×
q)≤n≤0.58
×
round((m
×
q)
33.其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;round()表示四舍五入取值。
34.一种基于边缘计算设备的视频推流系统,所述视频推流系统包括:
35.视频流采集模块,用于通过边缘计算引擎获取不同型号摄像机采集的视频流;
36.转换模块,用于所述边缘计算引擎将所述视频流转换为待推流的推流文件;
37.存储模块,用于所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;
38.接收模块,用于所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请
求;其中,一个边缘计算引擎对应多个流媒体服务器;
39.推流模块,用于执行视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。
40.进一步地,所述存储模块包括:
41.压缩标记模块,用于按照所述视频流生成的限先后顺序将所述推流文件进行压缩,形成推流文件数据包,并将所述推流文件数据包进行数据标记;其中,所述数据标记与视频流编号进行关联;
42.检测判断模块,用于所述边缘计算引擎实时检测并判断是否接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求;
43.推流执行模块,用于如果在指定时间段内接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则针对所述已完成推流文件数据包执行所述视频推流步骤;
44.云端发送模块,用于如果在指定时间段内没有接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则将所述推流文件数据包发送至云管理平台进行存储;
45.指令发送模块,用于当所述云管理平台完成针对所述推流文件数据包的存储后,向所述边缘计算引擎发送存储完成指令;
46.删除模块,用于所述边缘计算引擎在接受到存储完成指令后,针对已在所述云管理平台完成存储的推流文件数据包删除。
47.进一步地,所述推流模块包括:
48.执行协议发送模块,用于所述流媒体服务器在向所述边缘计算引擎发送推流请求的同时,一并发送推流所需的执行协议;
49.个数判断模块,用于所述边缘计算引擎在接收到所述推流请求和所述推流所需的执行协议时,判断所述执行协议的个数;
50.文件形式转换模块,用于当所述执行协议的个数不超过预设的个数阈值时,将所述推流文件按照执行协议个数和协议要求转换为与所述执行协议相适应的流文件形式,并同时将多个已完成形式转换的推流文件发送至对应的流媒体服务器;
51.归类模块,用于当所述执行协议的个数超过预设的个数阈值时,将相同种类的执行协议进行归类,形成一类执行协议集合;
52.划分模块,用于针对每个执行协议集合,以所述个数阈值为个数单位将每个所述执行协议集合进行划分,获得多个协议转换组,其中,每个协议转换组中的协议数量与所述个数阈值相同,或,每个协议转换组中的协议数量低于所述个数阈值;
53.按序发送模块,用于按照预先设定的协议种类优先级列表,依次针对每种类别的执行协议对应的推流文件就进行形式转换,并按照转换完成顺序依次发送至对应的流媒体服务器。
54.进一步地,所述个数阈值通过如下过程进行设置,包括:
55.提取模块,用于提取每个所述边缘计算引擎对应的流媒体服务器的具体个数;
56.阈值设置模块,用于根据所述边缘计算引擎对应的流媒体服务器的具体个数结合
个数阈值设置原则,进行个数阈值设置;
57.其中,所述个数阈值设置原则包括:
58.当所述边缘计算引擎对应的流媒体服务器具体个数不超过5个时,所述个数阈值设置约束条件为:
59.0.47
×
int(m
×
q)≤n≤0.73
×
int(m
×
q)
60.其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;int()表示向上取整,且,当n《3时,令n=3;
61.当所述边缘计算引擎对应的流媒体服务器具体个数超过5个时,所述个数阈值设置约束条件为:
62.0.40
×
round(m
×
q)≤n≤0.58
×
round(m
×
q)
63.其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;round()表示四舍五入取值。
64.本发明有益效果:
65.本发明提出了一种基于边缘计算设备的视频推流方法和系统,借助边缘计算设备,连接不同类型的相机,拉取视频流,将视频流通过流媒体服务器转发成指定协议的推流。通过这种方式借助边缘计算设备可以提供特定协议需求的视频流(如gb28181),满足特定需求,灵活、方便进行统一开发。
附图说明
66.图1为本发明所述方法的流程图;
67.图2为本发明所述系统的系统框图。
具体实施方式
68.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
69.本发明实施例一种基于边缘计算设备的视频推流方法,如图1所示,所述视频推流方法包括:
70.s1、通过边缘计算引擎获取不同型号摄像机采集的视频流;
71.s2、所述边缘计算引擎将所述视频流转换为待推流的推流文件;
72.s3、所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;
73.s4、所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请求;其中,一个边缘计算引擎对应多个流媒体服务器;
74.s5、视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。
75.上述技术方案的工作原理:首先,通过边缘计算引擎获取不同型号摄像机采集的
视频流;然后,所述边缘计算引擎将所述视频流转换为待推流的推流文件;随后,所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;然后,所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请求;其中,一个边缘计算引擎对应多个流媒体服务器;最后,执行视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。
76.上述技术方案的效果为:本实施例提出了一种基于边缘计算设备的视频推流方法,借助边缘计算设备,连接不同类型的相机,拉取视频流,将视频流通过流媒体服务器转发成指定协议的推流。通过这种方式借助边缘计算设备可以提供特定协议需求的视频流(如gb28181),满足特定需求,灵活、方便进行统一开发。
77.本发明的一个实施例,所述边缘计算引擎将所述推流文件发送至云管理平台进行存储,包括:
78.s301、按照所述视频流生成的限先后顺序将所述推流文件进行压缩,形成推流文件数据包,并将所述推流文件数据包进行数据标记;其中,所述数据标记与视频流编号进行关联;
79.s302、所述边缘计算引擎实时检测并判断是否接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求;
80.s303、如果在指定时间段内接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则针对所述已完成推流文件数据包执行所述视频推流步骤;
81.s304、如果在指定时间段内没有接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则将所述推流文件数据包发送至云管理平台进行存储;其中,所述指定时间根据实际服务器参数和规模情况进行设定。一般指定时间段的时间范围为10min-25min。
82.s305、当所述云管理平台完成针对所述推流文件数据包的存储后,向所述边缘计算引擎发送存储完成指令;
83.s306、所述边缘计算引擎在接受到存储完成指令后,针对已在所述云管理平台完成存储的推流文件数据包删除。
84.上述技术方案的工作原理:首先,按照所述视频流生成的限先后顺序将所述推流文件进行压缩,形成推流文件数据包,并将所述推流文件数据包进行数据标记;其中,所述数据标记与视频流编号进行关联;然后,所述边缘计算引擎实时检测并判断是否接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求;之后,如果在指定时间段内接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则针对所述已完成推流文件数据包执行所述视频推流步骤;随后,如果在指定时间段内没有接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则将所述推流文件数据包发送至云管理平台进行存储;其中,所述指定时间根据实际服务器参数和规模情况进行设定。一般指定时间段的时间范围为10min-25min。之后,当所述云管理平台完成针对所述推流文件数据包的存储后,向所述边缘计算引擎发送存储完成指令;最后,所述边缘计算引擎在接受到存储完成指令后,针对已在所述云管理平台完成存储的推流文件数据包删除。
85.上述技术方案的效果为:通过在指定时间段内推流实际需求的实际情况有针对性
的进行推流文件的存储和删除,能够有效降低推流文件所占用的存储空间,进而有效提高系统运行的稳定性。同时,通过上述云端管理平台只针对未被推流的推流文件进行存储,进一步降低文件存储空间的占用,在云数据较多,文件传输量较大的情况下,能够有效降低需存储文件的数据传输量,进而有效防止数据拥堵影响云管理平台运行效率的问题发生。
86.本发明的一个实施例,当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器,包括:
87.s401、所述流媒体服务器在向所述边缘计算引擎发送推流请求的同时,一并发送推流所需的执行协议;
88.s402、所述边缘计算引擎在接收到所述推流请求和所述推流所需的执行协议时,判断所述执行协议的个数;
89.s403、当所述执行协议的个数不超过预设的个数阈值时,将所述推流文件按照执行协议个数和协议要求转换为与所述执行协议相适应的流文件形式,并同时将多个已完成形式转换的推流文件发送至对应的流媒体服务器;
90.s404、当所述执行协议的个数超过预设的个数阈值时,将相同种类的执行协议进行归类,形成一类执行协议集合;
91.s405、针对每个执行协议集合,以所述个数阈值为个数单位将每个所述执行协议集合进行划分,获得多个协议转换组,其中,每个协议转换组中的协议数量与所述个数阈值相同,或,每个协议转换组中的协议数量低于所述个数阈值;
92.s406、按照预先设定的协议种类优先级列表,依次针对每种类别的执行协议对应的推流文件就进行形式转换,并按照转换完成顺序依次发送至对应的流媒体服务器。
93.上述技术方案的工作原理:首先,所述流媒体服务器在向所述边缘计算引擎发送推流请求的同时,一并发送推流所需的执行协议;然后,所述边缘计算引擎在接收到所述推流请求和所述推流所需的执行协议时,判断所述执行协议的个数;之后,当所述执行协议的个数不超过预设的个数阈值时,将所述推流文件按照执行协议个数和协议要求转换为与所述执行协议相适应的流文件形式,并同时将多个已完成形式转换的推流文件发送至对应的流媒体服务器;随后,当所述执行协议的个数超过预设的个数阈值时,将相同种类的执行协议进行归类,形成一类执行协议集合;然后,针对每个执行协议集合,以所述个数阈值为个数单位将每个所述执行协议集合进行划分,获得多个协议转换组,其中,每个协议转换组中的协议数量与所述个数阈值相同,或,每个协议转换组中的协议数量低于所述个数阈值;最后,按照预先设定的协议种类优先级列表,依次针对每种类别的执行协议对应的推流文件就进行形式转换,并按照转换完成顺序依次发送至对应的流媒体服务器。
94.上述技术方案的效果为:通过上述方式能够在执行协议较多的情况下,有效提高针对不同执行协议的文件形式转换效率,通过个数阈值、执行协议归类以及协议转换执行的优先级的结合,能够在执行协议种类和个数较多的情况下提高文件转换速度和转换执行的有序性,防止在执行协议种类和个数较多的情况执行依次转化无法满足协议优先级别要求和转化速度的需求问题发生。
95.本发明的一个实施例,所述个数阈值通过如下过程进行设置,包括:
96.步骤1、提取每个所述边缘计算引擎对应的流媒体服务器的具体个数;
97.步骤2、根据所述边缘计算引擎对应的流媒体服务器的具体个数结合个数阈值设置原则,进行个数阈值设置;
98.其中,所述个数阈值设置原则包括:
99.当所述边缘计算引擎对应的流媒体服务器具体个数不超过5个时,所述个数阈值设置约束条件为:
100.0.47
×
int(m
×
q)≤n≤0.73
×
int(m
×
q)
101.其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;int()表示向上取整,且,当n《3时,令n=3;
102.当所述边缘计算引擎对应的流媒体服务器具体个数超过5个时,所述个数阈值设置约束条件为:
103.0.40
×
round(m
×
q)≤n≤0.58
×
round((m
×
q)
104.其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;round()表示四舍五入取值。
105.上述技术方案的工作原理:首先,提取每个所述边缘计算引擎对应的流媒体服务器的具体个数;然后,根据所述边缘计算引擎对应的流媒体服务器的具体个数结合个数阈值设置原则,进行个数阈值设置。
106.上述技术方案的效果为:通过上述方式设置的个数阈值通过有效结合流媒体服务器具体个数的实际情况,根据不同的流媒体服务器具体个数进行不同约束条件范围的设置,能够有效提高个数阈值设置与流媒体服务器具体个数之间的匹配性,进而提高个数阈值设置的合理性。同时,由于个数阈值的设置直接影响到执行协议的个数和种类需求,因此,通过上述约束条件设置的个数阈值,在满足约束条件和设备参数个数要求的情况下,均能够满足个数阈值与执行协议的文件转换之间的高度匹配性和合理性的要求,同时,均能够有效满足后续执行协议文件转换的效率,有效防止个数阈值设置不合理无法满足后续执行协议文件转换效率的问题发生。
107.本发明实施例提出了一种基于边缘计算设备的视频推流系统,如图2所示,所述视频推流系统包括:
108.视频流采集模块,用于通过边缘计算引擎获取不同型号摄像机采集的视频流;
109.转换模块,用于所述边缘计算引擎将所述视频流转换为待推流的推流文件;
110.存储模块,用于所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;
111.接收模块,用于所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请求;其中,一个边缘计算引擎对应多个流媒体服务器;
112.推流模块,用于执行视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。
113.上述技术方案的工作原理:首先,利用视频流采集模块通过边缘计算引擎获取不同型号摄像机采集的视频流;然后,利用转换模块控制所述边缘计算引擎将所述视频流转
换为待推流的推流文件;随后,利用存储模块控制所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;之后,采用接收模块控制所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请求;其中,一个边缘计算引擎对应多个流媒体服务器;最后,利用推流模块于执行视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。
114.上述技术方案的效果为:本实施例提出了一种基于边缘计算设备的视频推流系统,借助边缘计算设备,连接不同类型的相机,拉取视频流,将视频流通过流媒体服务器转发成指定协议的推流。通过这种方式借助边缘计算设备可以提供特定协议需求的视频流(如gb28181),满足特定需求,灵活、方便进行统一开发。
115.本发明的一个实施例,所述存储模块包括:
116.压缩标记模块,用于按照所述视频流生成的限先后顺序将所述推流文件进行压缩,形成推流文件数据包,并将所述推流文件数据包进行数据标记;其中,所述数据标记与视频流编号进行关联;
117.检测判断模块,用于所述边缘计算引擎实时检测并判断是否接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求;
118.推流执行模块,用于如果在指定时间段内接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则针对所述已完成推流文件数据包执行所述视频推流步骤;
119.云端发送模块,用于如果在指定时间段内没有接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则将所述推流文件数据包发送至云管理平台进行存储;
120.指令发送模块,用于当所述云管理平台完成针对所述推流文件数据包的存储后,向所述边缘计算引擎发送存储完成指令;
121.删除模块,用于所述边缘计算引擎在接受到存储完成指令后,针对已在所述云管理平台完成存储的推流文件数据包删除。
122.上述技术方案的工作原理:首先,采用压缩标记模块按照所述视频流生成的限先后顺序将所述推流文件进行压缩,形成推流文件数据包,并将所述推流文件数据包进行数据标记;其中,所述数据标记与视频流编号进行关联;然后,利用检测判断模块控制所述边缘计算引擎实时检测并判断是否接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求;随后,利用推流执行模块如果在指定时间段内接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则针对所述已完成推流文件数据包执行所述视频推流步骤;利用云端发送模块在如果在指定时间段内没有接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则将所述推流文件数据包发送至云管理平台进行存储;然后,利用指令发送模块在当所述云管理平台完成针对所述推流文件数据包的存储后,向所述边缘计算引擎发送存储完成指令;最后,利用删除模块控制所述边缘计算引擎在接受到存储完成指令后,针对已在所述云管理平台完成存储的推流文件数据包删除。
123.上述技术方案的效果为:通过在指定时间段内推流实际需求的实际情况有针对性
的进行推流文件的存储和删除,能够有效降低推流文件所占用的存储空间,进而有效提高系统运行的稳定性。同时,通过上述云端管理平台只针对未被推流的推流文件进行存储,进一步降低文件存储空间的占用,在云数据较多,文件传输量较大的情况下,能够有效降低需存储文件的数据传输量,进而有效防止数据拥堵影响云管理平台运行效率的问题发生。
124.本发明的一个实施例,所述推流模块包括:
125.执行协议发送模块,用于所述流媒体服务器在向所述边缘计算引擎发送推流请求的同时,一并发送推流所需的执行协议;
126.个数判断模块,用于所述边缘计算引擎在接收到所述推流请求和所述推流所需的执行协议时,判断所述执行协议的个数;
127.文件形式转换模块,用于当所述执行协议的个数不超过预设的个数阈值时,将所述推流文件按照执行协议个数和协议要求转换为与所述执行协议相适应的流文件形式,并同时将多个已完成形式转换的推流文件发送至对应的流媒体服务器;
128.归类模块,用于当所述执行协议的个数超过预设的个数阈值时,将相同种类的执行协议进行归类,形成一类执行协议集合;
129.划分模块,用于针对每个执行协议集合,以所述个数阈值为个数单位将每个所述执行协议集合进行划分,获得多个协议转换组,其中,每个协议转换组中的协议数量与所述个数阈值相同,或,每个协议转换组中的协议数量低于所述个数阈值;
130.按序发送模块,用于按照预先设定的协议种类优先级列表,依次针对每种类别的执行协议对应的推流文件就进行形式转换,并按照转换完成顺序依次发送至对应的流媒体服务器。
131.上述技术方案的工作原理:首先,通过执行协议发送模块控制所述流媒体服务器在向所述边缘计算引擎发送推流请求的同时,一并发送推流所需的执行协议;采用个数判断模块控制所述边缘计算引擎在接收到所述推流请求和所述推流所需的执行协议时,判断所述执行协议的个数;随后,利用文件形式转换模块在当所述执行协议的个数不超过预设的个数阈值时,将所述推流文件按照执行协议个数和协议要求转换为与所述执行协议相适应的流文件形式,并同时将多个已完成形式转换的推流文件发送至对应的流媒体服务器;然后,利用归类模块在当所述执行协议的个数超过预设的个数阈值时,将相同种类的执行协议进行归类,形成一类执行协议集合;随后,利用通过划分模块针对每个执行协议集合,以所述个数阈值为个数单位将每个所述执行协议集合进行划分,获得多个协议转换组,其中,每个协议转换组中的协议数量与所述个数阈值相同,或,每个协议转换组中的协议数量低于所述个数阈值;最后,采用按序发送模块按照预先设定的协议种类优先级列表,依次针对每种类别的执行协议对应的推流文件就进行形式转换,并按照转换完成顺序依次发送至对应的流媒体服务器。
132.上述技术方案的效果为:通过上述方式能够在执行协议较多的情况下,有效提高针对不同执行协议的文件形式转换效率,通过个数阈值、执行协议归类以及协议转换执行的优先级的结合,能够在执行协议种类和个数较多的情况下提高文件转换速度和转换执行的有序性,防止在执行协议种类和个数较多的情况执行依次转化无法满足协议优先级别要求和转化速度的需求问题发生。
133.本发明的一个实施例,所述个数阈值通过如下过程进行设置,包括:
134.提取模块,用于提取每个所述边缘计算引擎对应的流媒体服务器的具体个数;
135.阈值设置模块,用于根据所述边缘计算引擎对应的流媒体服务器的具体个数结合个数阈值设置原则,进行个数阈值设置;
136.其中,所述个数阈值设置原则包括:
137.当所述边缘计算引擎对应的流媒体服务器具体个数不超过5个时,所述个数阈值设置约束条件为:
138.0.47
×
int(m
×
q)≤n≤0.73
×
int(m
×
q)
139.其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;int()表示向上取整,且,当n《3时,令n=3;
140.当所述边缘计算引擎对应的流媒体服务器具体个数超过5个时,所述个数阈值设置约束条件为:
141.0.40
×
round(m
×
q)≤n≤0.58
×
round(m
×
q)
142.其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;round()表示四舍五入取值。
143.上述技术方案的工作原理:首先,利用提取模块提取每个所述边缘计算引擎对应的流媒体服务器的具体个数;然后,利用阈值设置模块根据所述边缘计算引擎对应的流媒体服务器的具体个数结合个数阈值设置原则,进行个数阈值设置;
144.上述技术方案的效果为:过上述方式设置的个数阈值通过有效结合流媒体服务器具体个数的实际情况,根据不同的流媒体服务器具体个数进行不同约束条件范围的设置,能够有效提高个数阈值设置与流媒体服务器具体个数之间的匹配性,进而提高个数阈值设置的合理性。同时,由于个数阈值的设置直接影响到执行协议的个数和种类需求,因此,通过上述约束条件设置的个数阈值,在满足约束条件和设备参数个数要求的情况下,均能够满足个数阈值与执行协议的文件转换之间的高度匹配性和合理性的要求,同时,均能够有效满足后续执行协议文件转换的效率,有效防止个数阈值设置不合理无法满足后续执行协议文件转换效率的问题发生。
145.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种基于边缘计算设备的视频推流方法,其特征在于,所述视频推流方法包括:通过边缘计算引擎获取不同型号摄像机采集的视频流;所述边缘计算引擎将所述视频流转换为待推流的推流文件;所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请求;其中,一个边缘计算引擎对应多个流媒体服务器;视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。2.根据权利要求1所述视频推流方法,其特征在于,所述边缘计算引擎将所述推流文件发送至云管理平台进行存储,包括:按照所述视频流生成的限先后顺序将所述推流文件进行压缩,形成推流文件数据包,并将所述推流文件数据包进行数据标记;其中,所述数据标记与视频流编号进行关联;所述边缘计算引擎实时检测并判断是否接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求;如果在指定时间段内接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则针对所述已完成推流文件数据包执行所述视频推流步骤;如果在指定时间段内没有接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则将所述推流文件数据包发送至云管理平台进行存储;当所述云管理平台完成针对所述推流文件数据包的存储后,向所述边缘计算引擎发送存储完成指令;所述边缘计算引擎在接受到存储完成指令后,针对已在所述云管理平台完成存储的推流文件数据包删除。3.根据权利要求1所述视频推流方法,其特征在于,当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器,包括:所述流媒体服务器在向所述边缘计算引擎发送推流请求的同时,一并发送推流所需的执行协议;所述边缘计算引擎在接收到所述推流请求和所述推流所需的执行协议时,判断所述执行协议的个数;当所述执行协议的个数不超过预设的个数阈值时,将所述推流文件按照执行协议个数和协议要求转换为与所述执行协议相适应的流文件形式,并同时将多个已完成形式转换的推流文件发送至对应的流媒体服务器;当所述执行协议的个数超过预设的个数阈值时,将相同种类的执行协议进行归类,形成一类执行协议集合;针对每个执行协议集合,以所述个数阈值为个数单位将每个所述执行协议集合进行划分,获得多个协议转换组,其中,每个协议转换组中的协议数量与所述个数阈值相同,或,每个协议转换组中的协议数量低于所述个数阈值;按照预先设定的协议种类优先级列表,依次针对每种类别的执行协议对应的推流文件就进行形式转换,并按照转换完成顺序依次发送至对应的流媒体服务器。
4.根据权利要求3所述视频推流方法,其特征在于,所述个数阈值通过如下过程进行设置,包括:提取每个所述边缘计算引擎对应的流媒体服务器的具体个数;根据所述边缘计算引擎对应的流媒体服务器的具体个数结合个数阈值设置原则,进行个数阈值设置;其中,所述个数阈值设置原则包括:当所述边缘计算引擎对应的流媒体服务器具体个数不超过5个时,所述个数阈值设置约束条件为:0.47
×
int(m
×
q)≤n≤0.73
×
int(m
×
q)其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;int()表示向上取整,且,当n<3时,令n=3;当所述边缘计算引擎对应的流媒体服务器具体个数超过5个时,所述个数阈值设置约束条件为:0.40
×
round(m
×
q)≤n≤0.58
×
round((m
×
q)其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;round()表示四舍五入取值。5.一种基于边缘计算设备的视频推流系统,其特征在于,所述视频推流系统包括:视频流采集模块,用于通过边缘计算引擎获取不同型号摄像机采集的视频流;转换模块,用于所述边缘计算引擎将所述视频流转换为待推流的推流文件;存储模块,用于所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;接收模块,用于所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请求;其中,一个边缘计算引擎对应多个流媒体服务器;推流模块,用于执行视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。6.根据权利要求5所述视频推流系统,其特征在于,所述存储模块包括:压缩标记模块,用于按照所述视频流生成的限先后顺序将所述推流文件进行压缩,形成推流文件数据包,并将所述推流文件数据包进行数据标记;其中,所述数据标记与视频流编号进行关联;检测判断模块,用于所述边缘计算引擎实时检测并判断是否接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求;推流执行模块,用于如果在指定时间段内接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则针对所述已完成推流文件数据包执行所述视频推流步骤;云端发送模块,用于如果在指定时间段内没有接收到所述流媒体服务器发送的针对已完成推流文件数据包对应的推流请求,则将所述推流文件数据包发送至云管理平台进行存
储;指令发送模块,用于当所述云管理平台完成针对所述推流文件数据包的存储后,向所述边缘计算引擎发送存储完成指令;删除模块,用于所述边缘计算引擎在接受到存储完成指令后,针对已在所述云管理平台完成存储的推流文件数据包删除。7.根据权利要求5所述视频推流系统,其特征在于,所述推流模块包括:执行协议发送模块,用于所述流媒体服务器在向所述边缘计算引擎发送推流请求的同时,一并发送推流所需的执行协议;个数判断模块,用于所述边缘计算引擎在接收到所述推流请求和所述推流所需的执行协议时,判断所述执行协议的个数;文件形式转换模块,用于当所述执行协议的个数不超过预设的个数阈值时,将所述推流文件按照执行协议个数和协议要求转换为与所述执行协议相适应的流文件形式,并同时将多个已完成形式转换的推流文件发送至对应的流媒体服务器;归类模块,用于当所述执行协议的个数超过预设的个数阈值时,将相同种类的执行协议进行归类,形成一类执行协议集合;划分模块,用于针对每个执行协议集合,以所述个数阈值为个数单位将每个所述执行协议集合进行划分,获得多个协议转换组,其中,每个协议转换组中的协议数量与所述个数阈值相同,或,每个协议转换组中的协议数量低于所述个数阈值;按序发送模块,用于按照预先设定的协议种类优先级列表,依次针对每种类别的执行协议对应的推流文件就进行形式转换,并按照转换完成顺序依次发送至对应的流媒体服务器。8.根据权利要求7所述视频推流系统,其特征在于,所述个数阈值通过如下过程进行设置,包括:提取模块,用于提取每个所述边缘计算引擎对应的流媒体服务器的具体个数;阈值设置模块,用于根据所述边缘计算引擎对应的流媒体服务器的具体个数结合个数阈值设置原则,进行个数阈值设置;其中,所述个数阈值设置原则包括:当所述边缘计算引擎对应的流媒体服务器具体个数不超过5个时,所述个数阈值设置约束条件为:0.47
×
int(m
×
q)≤n≤0.73
×
int(m
×
q)其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个流媒体服务器对应的可执行协议个数不低于2个;int()表示向上取整,且,当n<3时,令n=3;当所述边缘计算引擎对应的流媒体服务器具体个数超过5个时,所述个数阈值设置约束条件为:0.40
×
round(m
×
q)≤n≤0.58
×
round(m
×
q)其中,n表示每个所述边缘计算引擎对应的个数阈值;m表示每个所述边缘计算引擎对应的流媒体服务器具体个数;q表示每个流媒体服务器对应的可执行协议个数,并且,每个
流媒体服务器对应的可执行协议个数不低于2个;round()表示四舍五入取值。

技术总结
本发明提出了一种基于边缘计算设备的视频推流方法和系统。所述视频推流方法包括:通过边缘计算引擎获取不同型号摄像机采集的视频流;所述边缘计算引擎将所述视频流转换为待推流的推流文件;所述边缘计算引擎将所述推流文件发送至云管理平台进行存储;所述边缘计算引擎实时接收其对应的流媒体服务器发送的推流请求;其中,一个边缘计算引擎对应多个流媒体服务器;视频推流步骤:当所述边缘计算引擎接收到所述流媒体服务器发送的推流请求时,所述边缘计算引擎将所述推流文件转换成指定协议的推流文件发送至流媒体服务器。所述系统包括与所述方法步骤对应的模块。括与所述方法步骤对应的模块。括与所述方法步骤对应的模块。


技术研发人员:兰雨晴 余丹 李易君 武晓文
受保护的技术使用者:慧之安信息技术股份有限公司
技术研发日:2022.12.22
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐