自动化直播录制方法、服务器、系统及存储介质与流程

文档序号:33712770发布日期:2023-04-01 00:37阅读:60来源:国知局
自动化直播录制方法、服务器、系统及存储介质与流程

1.本发明涉及互联网技术领域,尤其涉及一种自动化直播录制方法、服务器、系统及存储介质。


背景技术:

2.自2016年以来,互联网的普及使得网络直播行业发展速度非常迅猛,但绝大部分平台只提供网络直播服务,而不提供录制回放功能。这对于直播行业的相关从业人员对直播数据进行回顾分析时造成了极大的不便利性。


技术实现要素:

3.本发明的主要目的在于提供一种自动化直播录制方法、服务器、系统及存储介质,旨在解决现有技术因大部分平台不提供直播录制回放功能而导致相关从业人员无法对直播数据进行回顾分析的技术问题。
4.为实现上述目的,本发明提供了一种自动化直播录制方法,所述方法包括以下步骤:
5.监测主播列表中各主播的开播信息;
6.在监测到主播的开播信息为开播时,获取该主播的推流地址;
7.基于机器列表,确定当前负载最小的录制机器;
8.将所述推流地址分配给所述录制机器;
9.通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库。
10.可选地,所述在监测到主播的开播信息为开播时,获取该主播的推流地址,包括:
11.在监测到主播的开播信息为开播时,获取该主播的直播地址;
12.根据所述直播地址解析出所述主播的推流地址。
13.可选地,所述通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库,包括:
14.确定录制任务,其中,所述录制任务包括直接录制任务和切分任务;
15.根据所述切分任务确定切分规则;
16.基于所述直接录制任务,通过所述录制机器进行视频录制来生成第一视频信息,并将所述第一视频信息写入redis数据库;
17.按照切分规则对所述第一视频信息进行切分,生成第二视频信息,并将所述第二视频信息写入redis数据库。
18.可选地,所述按照切分规则对所述第一视频信息进行切分,生成第二视频信息,并将所述第二视频信息写入redis数据库,包括:
19.确定所述录制机器的当前执行切割数量;
20.若所述当前执行切割数量小于所述录制机器的切割线程最大数,则通过所述录制
机器来按照切分规则对所述第一视频信息进行切分,生成第二视频信息,并将所述第二视频信息写入redis数据库。
21.可选地,所述确定录制任务,包括:
22.获取所述主播的身份信息,并根据所述身份信息确定所述主播的重要等级;
23.根据所述重要等级从预设录制策略中确定优选录制策略;
24.根据所述优选录制策略确定录制任务。
25.可选地,所述自动化直播录制方法,还包括:
26.实时监测所述机器列表中各录制机器的在线信息,并在监测到录制机器的在线信息为不在线时,将该录制机器从所述机器列表中删除;或,
27.实时监测各处于录制状态的录制机器的录制情况,并在监测到录制机器的录制情况为断网/或机器故障时,及时报警。
28.可选地,所述自动化直播录制方法,还包括:
29.设置定时器;
30.通过所述定时器来确定报表时间;
31.在当前时刻为所述报表时间时,从所述redis数据库中获取所述当前时刻的前一天的录播数据,并根据所述录播数据生成报表。
32.此外,为实现上述目的,本发明还提出一种自动化直播录制服务器,所述自动化直播录制服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的自动化直播录制程序,所述自动化直播录制程序配置为实现如上文所述的自动化直播录制方法的步骤。
33.此外,为实现上述目的,本发明还提出一种自动化直播录制系统,所述自动化直播录制系统包括客户端以及上文所述的自动化直播录制服务器;其中,
34.所述自动化直播录制服务器,用于监测主播列表中各主播的开播信息;
35.还用于在监测到主播的开播信息为开播时,获取该主播的推流地址;
36.还用于基于机器列表信息,确定当前负载最小的录制机器;
37.还用于将所述推流地址分配给所述录制机器;
38.还用于通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库;
39.所述客户端,用于通过http接口获取所述redis数据库中的视频数据,再根据所述视频数据确定存储机器和存储路径,并基于所述存储机器以及所述存储路径来通过nginx进行网页端的直播视频回放。
40.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有自动化直播录制程序,所述自动化直播录制程序被处理器执行时实现如上文所述的自动化直播录制方法的步骤。
41.本发明提出的自动化直播录制方法,通过监测主播列表中各主播的开播信息;在监测到主播的开播信息为开播时,获取该主播的推流地址;基于机器列表,确定当前负载最小的录制机器;将所述推流地址分配给所述录制机器;通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库。通过上述方式,在自动监测到主播列表中的主播开播之后对主播的直播内容进行录制,能够方便相关从业人员对直播数据进行
回顾分析。
附图说明
42.图1是本发明实施例方案涉及的硬件运行环境的自动化直播录制服务器的结构示意图;
43.图2为本发明自动化直播录制方法第一实施例的流程示意图;
44.图3为本发明自动化直播录制方法第一实施例中的监测主播流程图;
45.图4为本发明自动化直播录制方法第一实施例中的阻塞式录制视频的流程图;
46.图5为本发明自动化直播录制方法第二实施例的流程示意图;
47.图6为本发明自动化直播录制方法第二实施例中的生成报表流程图;
48.图7为本发明自动化直播录制系统第一实施例的结构框图。
49.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
50.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
51.参照图1,图1为本发明实施例方案涉及的硬件运行环境的自动化直播录制服务器结构示意图。
52.如图1所示,该自动化直播录制服务器可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
53.本领域技术人员可以理解,图1中示出的结构并不构成对自动化直播录制服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
54.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及自动化直播录制程序。
55.在图1所示的自动化直播录制服务器中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明自动化直播录制服务器中的处理器1001、存储器1005可以设置在自动化直播录制服务器中,所述自动化直播录制服务器通过处理器1001调用存储器1005中存储的自动化直播录制程序,并执行本发明实施例提供的自动化直播录制方法。
56.基于上述硬件结构,提出本发明自动化直播录制方法实施例。
57.参照图2,图2为本发明一种自动化直播录制方法第一实施例的流程示意图。
58.本实施例中,所述自动化直播录制方法包括以下步骤:
59.步骤s10:监测主播列表中各主播的开播信息。
60.需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程
序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,或者是一种能够实现上述功能的电子设备或自动化直播录制服务器。以下以所述自动化直播录制服务器为例,对本实施例及下述各实施例进行说明。
61.需要说明的是,主播列表中均是已关注的主播,也有新添加的待关注的主播,主播列表中的主播均是需要进行监测的主播,对于新添加的待关注主播,需要根据其主播信息去对应平台进行关注之后才能实现对该主播的开播信息进行监测。开播信息包括主播开播和主播不开播,主播开播表示主播正在进行直播,主播不开播表示主播未进行直播。
62.在具体实现中,如图3所示,在通过轮询开播线程来监测主播列表中各主播的开播信息的同时,还可以通过关注主播线程来关注新添加进来的主播,其中,轮询开播线程指的是采用轮询的方式来对主播列表中各主播的开播信息进行监测。
63.步骤s20:在监测到主播的开播信息为开播时,获取该主播的推流地址。
64.需要说明的是,推流地址指的是推流服务器的地址,推流就是把直播状态实时上传到推流服务器,观众需要看直播的时候可以根据推流地址实时从推流服务器中下载。
65.可以理解的是,主播在进行直播时,需要将直播内容实时上传到推流服务器中,故可通过推流地址来获取到主播的直播内容。
66.在一实施例中,所述在监测到主播的开播信息为开播时,获取该主播的推流地址,包括:
67.在监测到主播的开播信息为开播时,获取该主播的直播地址;
68.根据所述直播地址解析出所述主播的推流地址。
69.在具体实现中,在监测到主播的开播信息为开播时,获取该主播的直播地址,然后通过该直播地址进入到直播间后将该主播的推流地址解析出来。
70.步骤s30:基于机器列表,确定当前负载最小的录制机器。
71.需要说明的是,机器列表中包含有多个录制机器的录制信息,可根据机器列表中多个录制机器的录制信息来确定当前负载最小的录制机器。
72.可以理解的是,当前负载最小的录制机器可以是未执行录制任务的录制机器,也可以是在多个录制机器中执行录制任务最少的录制机器,本实施例对此不做限定。
73.步骤s40:将所述推流地址分配给所述录制机器。
74.在具体实现中,录制机器可根据分配到的推流地址来获取主播的直播内容。
75.步骤s50:通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库。
76.需要说明的是,视频信息包括录播视频以及录播视频对应的属性信息等等,其中,录播视频对应的属性信息包括但不限于录制时长、文件大小以及主播话术分析结果。
77.在具体实现中,可以直接从redis数据库中提取出需要进行分析的录播视频,再根据视频信息中的主播话术分析结果来帮助分析直播数据。
78.在具体实现中,主播下播之后,用户可以通过http接口来获取redis数据库中的视频数据,再根据视频数据来确定存储机器和存储路径,最后再根据存储机器中的存储路径来通过nginx进行网页端的直播视频回放。
79.在一实施例中,所述通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库,包括:
80.确定录制任务,其中,所述录制任务包括直接录制任务和切分任务;
81.根据所述切分任务确定切分规则;
82.基于所述直接录制任务,通过所述录制机器进行视频录制来生成第一视频信息,并将所述第一视频信息写入redis数据库;
83.按照切分规则对所述第一视频信息进行切分,生成第二视频信息,并将所述第二视频信息写入redis数据库。
84.需要说明的是,直接录制任务指的是对直播内容进行录制之后只形成一个录播视频,切分任务指的是对直播内容进行录制时将直播内容切分后形成多个录播视频,示例性地,主播直播了30分钟,根据直接录制任务可以录制到一个30分钟的录播视频,根据切分任务可以将录播视频切分成6个5分钟的新录播视频。第一视频信息包括一个完整的录播视频以及该录播视频对应的属性信息。第二视频信息包括多个新录播视频以及多个新录播视频分别对应的属性信息。
85.需要说明的是,切分规则可以为规定一个新录播视频的时长,当录制视频达到该时长时,对该录制视频进行切分得到一个新录播视频,以此类推,主播的每次直播都能根据切分规则来生成多个新录播视频。
86.在具体实现中,录制进程在接收到录制任务时,会新起两个子线程,一个线程阻塞式的对直播内容进行直接录制,另一个线程作为定时器,可用来确定直播录制时长,当直播录制时长等于切分规则中的切分时长时,会在redis数据库写入一条切分信息。切分进程在从redis数据库读取该切分信息之后,会对已录制的视频进行一次切分,形成第二视频信息写入redis数据库。
87.在本实施例中,可根据直接录制任务和切分任务来分别对主播的直播内容进行录制,相关从业人员可以根据实际需求选择合适的录播视频来对直播数据进行回顾分析,能够使得相关从业人员对直播数据进行回顾分析更加方便,且使得对直播数据的分析更加具有针对性。
88.在一实施例中,所述按照切分规则对所述第一视频信息进行切分,生成第二视频信息,并将所述第二视频信息写入redis数据库,包括:
89.确定所述录制机器的当前执行切割数量;
90.若所述当前执行切割数量小于所述录制机器的切割线程最大数,则通过所述录制机器来按照切分规则对所述第一视频信息进行切分,生成第二视频信息,并将所述第二视频信息写入redis数据库。
91.在具体实现中,如图4所示,录制进程在接收到录制任务时,会新起两个子线程,一个线程阻塞式的对直播内容进行直接录制,另一个线程作为定时器,可用来确定直播录制时长,当直播录制时长等于切分规则中的切分时长时,会在redis数据库写入一条切分信息。切分进程会先判断录制机器的当前执行切割数量(录制机器正在进行的切分任务数),若当前执行切割数量未达到所述录制机器的切割线程最大数时,切分进程将会阻塞式地从redis数据库中读取该切分信息(视频路径+切割时长),并根据读取到的切分信息可直接对已录制的视频进行一次切分,形成第二视频信息后写入redis数据库;若当前执行切割数量等于所述录制机器的切割线程最大数,切分进程将不从redis数据库中读取新的切分任务,直到其他视频切割完成后当前执行切割数量未达到所述录制机器的切割线程最大数时,才
会重新从redis数据库读取新的切分信息。
92.需要说明的是,第二视频信息包括多个新录播视频以及多个新录播视频对应的属性信息等等,其中,新录播视频对应的属性信息包括但不限于录制时长、文件大小以及主播话术分析结果。
93.在一实施例中,所述确定录制任务,包括:
94.获取所述主播的身份信息,并根据所述身份信息确定所述主播的重要等级;
95.根据所述重要等级从预设录制策略中确定优选录制策略;
96.根据所述优选录制策略确定录制任务。
97.需要说明的是,可根据主播的身份信息来确定主播的粉丝数量,再根据主播的粉丝数量来确定主播的重要等级,还可以根据主播的身份信息来确定预估直播在线人数,再根据预估直播在线人数来确定主播的重要等级,其中,预估直播在线人数指的是提前对主播的本场直播的直播在线人数进行预测,预估直播在线人数可根据主播的先前直播在线人数来预测,先前直播在线人数指的是主播之前每场直播的实际在线人数。
98.需要说明的是,重要等级可分为第一重要等级、第二重要等级以及第三重要等级,预设录制策略时可提前设定好的,预设录制策略为各类重要等级分别对应的录制策略,其中,重要等级中的优先级从高到低依次为第一重要等级、第二重要等级以及第三重要等级。
99.在具体实现中,根据主播的身份信息确定主播的重要等级为第一重要等级后,可根据预设录制策略来确定第一重要等级对应的录制策略,该策略即为优选录制策略,示例性地,优选录制策略中的切分录制任务中的切分规则的切分时长为5分钟。
100.在一实施例中,所述自动化直播录制方法,还包括:
101.实时监测所述机器列表中各录制机器的在线信息,并在监测到录制机器的在线信息为不在线时,将该录制机器从所述机器列表中删除;或,
102.实时监测各处于录制状态的录制机器的录制情况,并在监测到录制机器的录制情况为断网/或机器故障时,及时报警。
103.需要说明的是,录制机器不在线时将不能进行直播内容的录制,录制机器不在线的原因可能是录制机器的电源被拔掉,还可以录制机器出现故障,或者是录制机器处于断网状态等等。
104.可以理解的是,在监测到机器列表中的录制机器出现问题之后,可以通过报警的形式来通知相关人员对该录制机器进行修护。
105.在本实施例中,通过对录制机器的在线信息或者录制情况进行监测,能够及时发现“有问题”的录制机器,进而避免使用“有问题”的录制机器来录制主播的直播内容。
106.本实施例通过通过监测主播列表中各主播的开播信息;在监测到主播的开播信息为开播时,获取该主播的推流地址;基于机器列表,确定当前负载最小的录制机器;将所述推流地址分配给所述录制机器;通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库。通过上述方式,在自动监测到主播列表中的主播开播之后对主播的直播内容进行录制,能够方便相关从业人员对直播数据进行回顾分析。
107.参考图5,图5为本发明一种自动化直播录制方法第二实施例的流程示意图。
108.基于上述第一实施例,本实施例自动化直播录制方法在所述步骤s50之后,还包括:
109.步骤s60:设置定时器。
110.步骤s70:通过所述定时器来确定报表时间。
111.需要说明的是,报表时间指的是每天生成报表数据的时间,可以通过定时器来提前设定报表时间。
112.步骤s80:在当前时刻为所述报表时间时,从所述redis数据库中获取所述当前时刻的前一天的录播数据,并根据所述录播数据生成报表。
113.需要说明的是,报表是由录播数据来生成的,不仅能够反映出各录播机器的录播情况,还能够反应各主播的直播情况。
114.在具体实现中,如图6所示,需要从所述redis数据库中获取所述当前时刻的前一天的录播数据,并根据所述录播数据生成报表。
115.本实施例通过设置定时器;通过所述定时器来确定报表时间;在当前时刻为所述报表时间时,从所述redis数据库中获取所述当前时刻的前一天的录播数据,并根据所述录播数据生成报表。通过获取录播数据来生成报表,相关工作人员可以直接从报表中获取各录制机器的录制情况以及各主播的直播情况,能够有效提高相关工作人员的工作效率。
116.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有自动化直播录制程序,所述自动化直播录制程序被处理器执行时实现如上文所述的自动化直播录制方法的步骤。
117.参照图7,图7为本发明自动化直播录制系统第一实施例的结构框图。
118.如图7所示,本发明实施例提出的自动化直播录制系统包括自动化直播录制服务器10以及客户端20:
119.所述自动化直播录制服务器10,用于监测主播列表中各主播的开播信息;
120.还用于在监测到主播的开播信息为开播时,获取该主播的推流地址;
121.还用于基于机器列表信息,确定当前负载最小的录制机器;
122.还用于将所述推流地址分配给所述录制机器;
123.还用于通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库;
124.所述客户端20,用于通过http接口获取所述redis数据库中的视频数据,再根据所述视频数据确定存储机器和存储路径,并基于所述存储机器以及所述存储路径来通过nginx进行网页端的直播视频回放。
125.应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
126.本实施例通过监测主播列表中各主播的开播信息;在监测到主播的开播信息为开播时,获取该主播的推流地址;基于机器列表,确定当前负载最小的录制机器;将所述推流地址分配给所述录制机器;通过所述录制机器进行视频录制来生成视频信息,并将所述视频信息写入redis数据库。通过上述方式,在自动监测到主播列表中的主播开播之后对主播的直播内容进行录制,能够方便相关从业人员对直播数据进行回顾分析。
127.在一实施例中,所述自动化直播录制服务器10,还用于:
128.在监测到主播的开播信息为开播时,获取该主播的直播地址;
129.根据所述直播地址解析出所述主播的推流地址。
130.在一实施例中,所述自动化直播录制服务器10,还用于:
131.确定录制任务,其中,所述录制任务包括直接录制任务和切分任务;
132.根据所述切分任务确定切分规则;
133.基于所述直接录制任务,通过所述录制机器进行视频录制来生成第一视频信息,并将所述第一视频信息写入redis数据库;
134.按照切分规则对所述第一视频信息进行切分,生成第二视频信息,并将所述第二视频信息写入redis数据库。
135.在一实施例中,所述自动化直播录制服务器10,还用于:
136.确定所述录制机器的当前执行切割数量;
137.若所述当前执行切割数量小于所述录制机器的切割线程最大数,则通过所述录制机器来按照切分规则对所述第一视频信息进行切分,生成第二视频信息,并将所述第二视频信息写入redis数据库。
138.在一实施例中,所述自动化直播录制服务器10,还用于:
139.获取所述主播的身份信息,并根据所述身份信息确定所述主播的重要等级;
140.根据所述重要等级从预设录制策略中确定优选录制策略;
141.根据所述优选录制策略确定录制任务。
142.在一实施例中,所述自动化直播录制服务器10,还用于:
143.实时监测所述机器列表中各录制机器的在线信息,并在监测到录制机器的在线信息为不在线时,将该录制机器从所述机器列表中删除;或,
144.实时监测各处于录制状态的录制机器的录制情况,并在监测到录制机器的录制情况为断网/或机器故障时,及时报警。
145.在一实施例中,所述自动化直播录制服务器10,还用于:
146.设置定时器;
147.通过所述定时器来确定报表时间;
148.在当前时刻为所述报表时间时,从所述redis数据库中获取所述当前时刻的前一天的录播数据,并根据所述录播数据生成报表。
149.需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
150.另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的自动化直播录制方法,此处不再赘述。
151.此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
152.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
153.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
154.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1