CN114245161B - 一种直播推流方法、装置、存储介质及电子设备 - Google Patents
一种直播推流方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114245161B CN114245161B CN202111518640.8A CN202111518640A CN114245161B CN 114245161 B CN114245161 B CN 114245161B CN 202111518640 A CN202111518640 A CN 202111518640A CN 114245161 B CN114245161 B CN 114245161B
- Authority
- CN
- China
- Prior art keywords
- live broadcast
- live
- push
- server address
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/226—Characteristics of the server or Internal components of the server
- H04N21/2265—Server identification by a unique number or address, e.g. serial number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种直播推流方法、装置、存储介质及电子设备。其中方法包括:在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址;基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息;解析所述直播推流信息,获取直播服务器地址和当前串流秘钥;基于所述直播服务器地址和所述当前串流秘钥进行直播推流。避免了直接读取明文存储的直播服务器地址和当前串流秘钥的情况,降低了直播服务器地址和当前串流秘钥的泄露风险,同时,动态获取直播服务器地址和当前串流秘钥,当前串流秘钥为有效串流秘钥,不存在过期时效的情况,避免了由于串流秘钥时效导致的推流失败的情况。
Description
技术领域
本发明实施例涉及直播推流技术领域,尤其涉及一种直播推流方法、装置、存储介质及电子设备。
背景技术
随着计算机网络技术的不断发展,直播被广泛接受和应用。
在直播推流的过程中,在直播软件中输入直播服务器地址和串流秘钥通过明文的形式存储到配置文件中,通过明文存储的直播服务器地址和串流秘钥存在泄漏的安全风险。同时,如果串流秘钥过期,在出现诸如网络中断、暂停等重新推流的情况时,导致重连推流失败,影响直播推流的稳定性。
发明内容
本发明实施例提供一种直播推流方法、装置、存储介质及电子设备,以实现不间断地直播推流。
第一方面,本发明实施例提供了一种直播推流方法,包括:
在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址;
基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息;
解析所述直播推流信息,获取直播服务器地址和当前串流秘钥;
基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
第二方面,本发明实施例还提供了一种直播推流装置,包括:
初始信息获取模块,用于在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址;
直播推流信息确定模块,用于基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息;
直播推流信息解析模块,用于解析所述直播推流信息,获取直播服务器地址和当前串流秘钥;
推流模块,用于基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例任一所述的直播推流方法。
第四方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例任一所述的直播推流方法。
本实施例提供的技术方案,通过在任一种满足推流触发条件的情况下,读取待进行推流的直播数据流对应的直播码和直播服务地址,通过直播码向直播服务地址实时请求直播推流信息,并从直播推流信息中解析得到直播服务器地址和当前串流秘钥,避免了直接读取明文存储的直播服务器地址和当前串流秘钥的情况,提高了直播服务器地址和当前串流秘钥的安全性,降低了直播服务器地址和当前串流秘钥的泄露风险,同时,由于直播服务器地址和当前串流秘钥是向直播平台实时请求的,当前串流秘钥为有效串流秘钥,不存在过期时效的情况,保证了直播推流的正常执行,避免了由于串流秘钥时效导致的推流失败的情况。
附图说明
图1是现有技术的直播推流的流程示意图;
图2为本发明实施例提供的一种直播推流方法的流程图;
图3是本发明实施例提供的另一直播推流方法的流程示意图;
图4是本发明实施例提供的一种直播推流的流程示意图;
图5是本发明实施例提供的一种直播推流装置的结构示意图;
图6是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
参见图1,图1是现有技术的直播推流的流程示意图,直播端向直播平台申请直播服务器地址和串流秘钥,其中,串流秘钥为直播平台生成的推流码,用户直播时,串流秘钥与直播服务器地址可拼接成完整的直播推流地址。
将直播服务器地址和串流秘钥写入直播应用(直播软件)中,例如直播应用可以是OBS(Open Broadcaster Software)应用,该OBS应用是一个开源的用于视频录制以及直播推流的软件。OBS应用直播端输入的直播服务器地址和串流秘钥以明文保存在配置文件中,在直播过程中该直播服务器地址和串流秘钥不会动态更新。在用户点击推流时,OBS应用读取配置文件中的直播服务器地址和串流秘钥,使用rtmp(Real Time Messaging Protocol,实时消息传输)协议进行直播推流。
由于在配置文件中设置的直播服务器地址和串流秘钥为固定值,不存在动态更新的情况,在网络断开等问题重新推流的情况下,从配置文件中重新读取直播服务器地址和串流秘钥,若串流秘钥过期失效,则重连失败,无法继续进行直播推流。进一步的,直播服务器地址和串流秘钥在配置文件中明文存储,存在泄漏的风险,以及串流秘钥中包含防盗链信息,导致串流秘钥较长且内容复制,导致用户输入串流秘钥输入不便,耗时长。
针对上述问题,本实施例提供了一种直播服务器地址和串流秘钥。参见图2,图2为本发明实施例提供的一种直播推流方法的流程图,本实施例可适用于在直播推流的过程中,保证直播推流顺畅的情况,该方法可以由本发明实施例提供的直播推流装置来执行,该直播推流装置可以由软件和/或硬件来实现,该直播推流装置可以配置在电子计算设备上,具体包括如下步骤:
S110、在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址。
S120、基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息。
S130、解析所述直播推流信息,获取直播服务器地址和当前串流秘钥。
S140、基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
本实施例中,实时监测用户端发送的推流请求,其中,推流请求可以是包括但不限于首次连接请求和重新连接请求,其中,首次连接请求可以由用户端在检测到直播间标识的选择操作生成的,重新连接请求可以是由用户端在网络中断导致的直播中断的情况下,在检测到网络连接后自动生成的,或者,还可以是在用户端设置直播暂停的情况下,重新启动时生成的。
在接收到首次连接请求和重新连接请求时,确定满足推流触发条件,相应的,推流触发条件包括:接收到首次连接请求、直播中断或暂停后重新启动推流,在满足上述任一项的情况下,可执行本实施例的技术方案。
推流请求中可以是包括请求直播间的直播间标识,根据该直播间标识在配置文件中读取对应的直播码和直播服务地址。可选的,直播码可以是与直播间一一对应,用于标记直播间;可选的,直播码还可以是与请求的直播数据流一一对应,用于标记直播数据流。直播服务地址可以是直播平台的地址,或者直播平台中用于对直播码进行认证的地址。通过基于直播码和直播服务地址替代了直播服务器地址和当前串流秘钥,避免了直播服务器地址和当前串流秘钥在配置文件中的明文存储,降低了直播服务器地址和当前串流秘钥泄露的风险。
在一些实施例中,直播码的长度小于预设长度,该直播码中可以包括字母、数字以及符号等字符中的一项或多项,字符量少的直播码便于用户的快速输入。在一些实施例中,所述直播码为数字码,此处不限定直播码长度,单一字符类型的数字码便于用户输入,无需进行字符类型的切换。在一些实施例在,直播码为长度小于预设长度的数字码,字符量少的数字码进一步降低了输入复杂度,简化的直播码提高了输入效率,降低了输入难度。
直播码和直播服务地址为预先存储的,可以是存储在配置文件的特定字段或者特定文件中,在满足推流触发条件时,从配置文件中的特定字段或者特定文件中快速读取所需的直播码和直播服务地址。在一些实施例中,直播服务地址和直播码可以是分别存储在servers.json文件中的server字段和key字段中。
可选的,直播服务地址和直播码可以是明文存储在配置文件,还可以是通过加密存储在配置文件。
在一些实施例中,配置文件中存储的直播码和直播服务地址经过加密处理。其中,对直播码和直播服务地址的加密方式包括但不限于DES(Data Encryption Standard,数据加密标准)算法、3DES(Triple Data Encryption Algorithm,三重数据加密)算法和RC5加密算法。
相应的,在读取配置文件中存储的直播码和直播服务地址之后,所述方法还包括:对读取的所述直播码和直播服务地址进行解密处理。其中,通过调用预先设置的解密算法对读取的直播码以及直播服务地址继续解密处理,调用的解密算法与预先约定的,与加密算法相对应的解密算法。
通过对直播码和直播服务地址进行加密处理后存储在配置文件中,进一步提高了信息安全性,避免直播信息被泄露的情况。
在一些实施例中,可以将多个加密算法形成一加密池,根据预设的加密调用规则调用对应的加密算法,通过多个加密算法切换调用的方式,提高对直播码和直播服务地址的加密安全性,避免单一加密算法安全性差的问题。可选的,加密调用规则中可以包括各加密算法的调用顺序以及切换条件,其中,切换条件可以是预设时间间隔,或者,预设调用次数等,对此不作限定。示例性的,设置序号的各加密算法可以是根据预设加密次数进行切换,例如每一加密算法的调用次数可以是10次/100次等;示例性的,设置序号的各加密算法可以是根据预设时间间隔进行切换,例如每一天切换一种加密算法。
相应的,将多个解密算计形成一解密池,解密池中各解密算法的调用规则与加密池中对应加密算法的调用规则相同,且调用规则中各解密算法的调用顺序与其对应的加密算法的调用顺序相同。通过相同的调用规则调用解密算法对读取的直播码和直播服务地址进行解密处理,保证了直播码和直播服务地址的读取。
本实施例中,通过读取的直播码和直播服务地址,确定直播推流信息,其中直播推流信息包括所述直播服务器地址和所述当前串流秘钥。具体的,基于直播码生成直播推流信息的请求,该直播推流信息的请求中包括直播码,例如可以是调用请求模板,将读取的直播码添加到请求模板的预设字段中,形成直播推流信息的请求。将该直播推流信息的请求基于直播服务地址发送至直播平台,以使直播平台响应所述直播推流信息的请求,该直播平台通过解析直播推流信息的请求,对解析到的直播码进行认证,示例性的,可以是将该直播码在直播码列表中进行匹配,若匹配成功,则确定认证成功,若匹配失败,则确定认证失败,反馈认证失败的提示信息。其中,直播码列表可以包括当前正在直播的各直播间的直播码,即各直播端预先申请的直播码。直播码列表可实时更新,在检测到新的直播间请求时,将生成的新的直播码添加到直播码列表中,在任一直播间停止直播后,从直播码列表中删除稿直播间对应的直播码。
在一些实施例中,各直播码与对应的直播推流信息一一对应存储,示例性的,直播码列表可以关联存储有直播码与对应的直播推流信息。在直播码匹配成功的情况下,调用该匹配成功的直播码对应的直播推流信息,并进行反馈。
在一些实施例中,直播推流信息可以是直播平台基于直播码实时生成的,基于直播码确定对应直播间所属的直播服务器,以确定直播服务器地址,进一步的,根据直播码生成对应直播间的有效串流秘钥,基于该直播服务器地址和串流秘钥形成当前的直播推流信息,其中,直播推流信息可以是基于预设规则将直播服务器地址和串流秘钥拼接得到,例如,将直播服务器地址和串流秘钥在预设排序下,通过预设标识进行隔离的方式拼接得到,示例性的,预设标识可以是诸如“/”的隔离符号,本实施例中,不限定预设标识的具体符号,可根据设置需求选择。
接收直播平台反馈的直播推流信息,通过解析该直播推流信息得到直播服务器地址和所述当前串流秘钥,该当前串流秘钥为有效串流秘钥。
可选的,直播推流信息中直播服务器地址和所述当前串流秘钥基于预设标识进行区分;其中,预设标识为预先约定的标识,可以是诸如“/”或者“||”的隔离符号。相应的,解析所述直播推流信息,获取直播服务器地址和当前串流秘钥,包括:识别所述直播推流信息中的预设标识,提取所述预设标识之前以及之后的信息;基于所述直播服务器地址和所述当前串流秘钥的设置规则,在提取的信息中确定所述直播服务器地址和所述当前串流秘钥。
可选的,直播推流信息可以是以直播服务器地址/当前串流秘钥的形式,或者,当前串流秘钥/直播服务器地址的形式,其中,此处以“/”为预设标识为例。所述直播服务器地址和所述当前串流秘钥的设置规则包括所述直播服务器地址和所述当前串流秘钥的设置顺序,该设置规则为预先约定的,直播平台根据该设置规则生成直播推流信息,直播推流装置基于该设置规则解析直播推流信息,以得到直播服务器地址和所述当前串流秘钥。示例性的,设置规则中可以是限定直播服务器地址设置在预设标识之前,当前串流秘钥设置在预设标识之后;或者,设置规则中可以是限定直播服务器地址设置在预设标识之后,当前串流秘钥设置在预设标识之前。
相应的,在读取到预设标识之前以及之后的信息时,根据直播服务器地址和所述当前串流秘钥的设置规则,读完直播服务器地址和所述当前串流秘钥,例如将预设标识之前的信息确定为直播服务器地址,将设标识之后的信息确定为当前串流秘钥;或者将预设标识之后的信息确定为直播服务器地址,将设标识之前的信息确定为当前串流秘钥。
需要说明的是,在预设标识为“/”的情况下,由于直播服务器地址中包括“/”符号,为了准确读取直播服务器地址和当前串流秘钥,可以是根据设置规则确定直播推流信息中用于隔离的预设标识的位置,示例性的,直播推流信息为直播服务器地址/当前串流秘钥的形式的情况下,直播推流信息中的最后一个“/”为预设标识,直播推流信息为当前串流秘钥/直播服务器地址的形式的情况下,直播推流信息中的第一个“/”为预设标识。
本实施例中,通过直播码和直播服务地址向直播平台实时请求直播服务器地址和当前串流秘钥的方式,在保证了直播服务器地址和当前串流秘钥的安全性的基础上,进一步保证了直播服务器地址和当前串流秘钥的有效性,避免读取的串流秘钥过期的情况,保证了直播推流成功。
通过直播服务器地址和所述当前串流秘钥进行直播推流,具体的可以是基于rtmp协议进行直播推流。
在一些实施例中,在获取直播服务器地址和当前串流秘钥之后,所述方法还包括:将所述直播服务器地址和所述当前串流秘钥写入所述配置文件的第一预设字段中;相应的,所述基于所述直播服务器地址和所述当前串流秘钥进行直播推流,包括:从所述配置文件的第一预设字段中读取所述直播服务器地址和所述当前串流秘钥,基于所述直播服务器地址和所述当前串流秘钥进行直播推流。通过将解析到的直播服务器地址和当前串流秘钥写入所述配置文件,无需对直播推流应用进行改进,可通过原直播推流应用(例如ons软件)的推流方式进行直播推流,减少了对原推流软件的开发量。
需要说明的是,直播推流的过程中,存在直播中断或暂停的情况下,再次重新推流的情况下,可返回执行步骤S110,以继续进行直播推流,以保证不间断的直播推流,避免推流失败的情况。
本实施例提供的技术方案,通过在任一种满足推流触发条件的情况下,读取待进行推流的直播数据流对应的直播码和直播服务地址,通过直播码向直播服务地址实时请求直播推流信息,并从直播推流信息中解析得到直播服务器地址和当前串流秘钥,避免了直接读取明文存储的直播服务器地址和当前串流秘钥的情况,提高了直播服务器地址和当前串流秘钥的安全性,降低了直播服务器地址和当前串流秘钥的泄露风险,同时,由于直播服务器地址和当前串流秘钥是向直播平台实时请求的,当前串流秘钥为有效串流秘钥,不存在过期时效的情况,保证了直播推流的正常执行,避免了由于串流秘钥时效导致的推流失败的情况。
在上述实施例的基础上,图3是本发明实施例提供的另一直播推流方法的流程示意图。可选的,方法还包括:获取直播服务地址和直播间的直播码,其中,所述直播码用于标记所述直播间;将所述直播码和直播服务地址存储在配置文件的第二预设字段中。
参见图3,该方法具体包括:
S210、获取直播服务地址和直播间的直播码,其中,所述直播码用于标记所述直播间。
S220、将所述直播码和直播服务地址存储在配置文件的第二预设字段中。
S230、在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址。
S240、基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息。
S250、解析所述直播推流信息,获取直播服务器地址和当前串流秘钥。
S260、基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
直播端向直播平台请求直播码和直播服务地址。直播推流装置接收直播端发送的直播码和直播服务地址。将直播码和直播服务地址存储在配置文件的预设字段中,便于在推流过程中进行快速读取。
可选的,在将所述直播码和直播服务地址存储在配置文件的第二预设字段之前,还包括:对所述直播码和所述直播服务地址进行加密处理。本实施例中,基于预设的加密算法对直播码和所述直播服务地址分别进行加密,形成加密后的直播码和所述直播服务地址,并将加密后的直播码和所述直播服务地址存储在配置文件中,提高信息安全性。
本实施例的技术方案,通过存储直播码和直播服务地址,替代了明文存储直播服务器地址和串流秘钥的情况,提高了直播服务器地址和串流秘钥的安全性,在触发直播推流的情况下,向直播平台实时请求直播服务器地址和当前串流秘钥,保证了串流秘钥的有效性,保证了直播推流的正常执行,避免了由于串流秘钥时效导致的推流失败的情况。
在上述实施例的基础上,本发明实施例还提供的一种优选实例,参见如4,图4是本发明实施例提供的一种直播推流的流程示意图。本实施例中的直播推流方法有经过二次开发的直播推流装置执行,例如开发后的OBS应用。
直播端从直播平台获取的直播服务地址和直播码,OBS应用接收直播服务地址和直播码。该OBS应用在原应用的基础上,修改了OBSBasicSettings类,实现了加密保存直播服务器和串流密钥参数,具体的,修改了原应用中的OBSBasicSettings::SaveStream1Settings实现方法。使用诸如DES、3DES、RC5等加密算法加密用户输入的直播服务地址和直播码,加密后的参数分别保存在配置文件servers.json中server字段和key字段。
该OBS应用在原应用的基础上,修改了OBSBasicSettings类,实现了展示配置文件加密存储的直播服务地址和直播码,具体的修改了OBSBasicSettings::LoadStream1Settings方法,可实现从配置文件servers.json中读取server字段和key字段中的内容,基于加密算法对应的解密算法进行解密,展示在OBS界面中供用户查询。
该OBS应用在原应用的基础上,修改了rtmp推流服务中init_connect方法,以实现根据直播服务地址和直播获取直播推流地址进行推流。具体的,从rtmp_stream中获取server和key密文,基于加密算法对应的解密算法进行解密,使用直播码从直播服务地址中进行认证,获取直播推流地址,即直播推流信息。拆分获取的直播推流地址为两部分,最后一个“/”前的部分为直播服务器地址,最后一个“/”之后的部分为串流密钥。回写rtmp_stream,直播服务器地址保存到server字段,串流密钥保存到key字段,基于重写的rtmp_stream相关参数,开始OBS直播推流。如果网络异常中断,OBS应用会自动重启推流服务,从配置文件读取初始直播服务地址和直播码,重新获取推流地址,继续直播服务,直到结束OBS推流直播。
在上述实施例的基础上,本实施例提供了一种直播推流装置,参见图5,图5是本发明实施例提供的一种直播推流装置的结构示意图。该装置包括:
初始信息获取模块310,用于在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址;
直播推流信息确定模块320,用于基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息;
直播推流信息解析模块330,用于解析所述直播推流信息,获取直播服务器地址和当前串流秘钥;
推流模块340,用于基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
可选的,所述推流触发条件包括:接收到首次连接请求、直播中断或暂停后重新启动推流。
可选的,所述配置文件中存储的直播码和直播服务地址经过加密处理;
该装置还包括:解密模块,用于在读取配置文件中存储的直播码和直播服务地址之后,对读取的所述直播码和直播服务地址进行解密处理。
可选的,所述直播推流信息包括所述直播服务器地址和所述当前串流秘钥,所述直播服务器地址和所述当前串流秘钥基于预设标识进行区分;
直播推流信息解析模块330用于:识别所述直播推流信息中的预设标识,提取所述预设标识之前以及之后的信息;
基于所述直播服务器地址和所述当前串流秘钥的设置规则,在提取的信息中确定所述直播服务器地址和所述当前串流秘钥。
可选的,所述直播服务器地址和所述当前串流秘钥的设置规则包括所述直播服务器地址和所述当前串流秘钥的设置顺序。
可选的,该装置还包括:
直播推流信息写入模块,用于在获取直播服务器地址和当前串流秘钥之后,将所述直播服务器地址和所述当前串流秘钥写入所述配置文件的第一预设字段中;
相应的,推流模块340用于:从所述配置文件的第一预设字段中读取所述直播服务器地址和所述当前串流秘钥,基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
可选的,该装置还包括:
初始信息获取模块,用于获取直播服务地址和直播间的直播码,其中,所述直播码用于标记所述直播间;
初始信息写入模块,用于将所述直播码和直播服务地址存储在配置文件的第二预设字段中。
可选的,该装置还包括:加密模块,用于在将所述直播码和直播服务地址存储在配置文件的第二预设字段之前,对所述直播码和所述直播服务地址进行加密处理。
可选的,所述直播码的长度小于预设长度,和/或,所述直播码为数字码。
本发明实施例所提供的直播推流装置可执行本发明任意实施例所提供的直播推流方法,具备执行直播推流方法相应的功能模块和有益效果。
本公开实施例所提供的装置可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
下面参考图6,其示出了适于用来实现本公开实施例的电子设备(例如图6中的终端设备或服务器)400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施例提供的电子设备与上述实施例提供的直播推流方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的直播推流方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址;
基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息;
解析所述直播推流信息,获取直播服务器地址和当前串流秘钥;
基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种直播推流方法,其特征在于,包括:
在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址;
基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息;
解析所述直播推流信息,获取直播服务器地址和当前串流秘钥;
基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
2.根据权利要求1所述的方法,其特征在于,所述推流触发条件包括:
接收到首次连接请求、直播中断或暂停后重新启动推流。
3.根据权利要求1所述的方法,其特征在于,所述配置文件中存储的直播码和直播服务地址经过加密处理;
在读取配置文件中存储的直播码和直播服务地址之后,所述方法还包括:
对读取的所述直播码和直播服务地址进行解密处理。
4.根据权利要求1所述的方法,其特征在于,所述直播推流信息包括所述直播服务器地址和所述当前串流秘钥,所述直播服务器地址和所述当前串流秘钥基于预设标识进行区分;
所述解析所述直播推流信息,获取直播服务器地址和当前串流秘钥,包括:
识别所述直播推流信息中的预设标识,提取所述预设标识之前以及之后的信息;
基于所述直播服务器地址和所述当前串流秘钥的设置规则,在提取的信息中确定所述直播服务器地址和所述当前串流秘钥。
5.根据权利要求4所述的方法,其特征在于,所述直播服务器地址和所述当前串流秘钥的设置规则包括所述直播服务器地址和所述当前串流秘钥的设置顺序。
6.根据权利要求1所述的方法,其特征在于,在获取直播服务器地址和当前串流秘钥之后,所述方法还包括:
将所述直播服务器地址和所述当前串流秘钥写入所述配置文件的第一预设字段中;
相应的,所述基于所述直播服务器地址和所述当前串流秘钥进行直播推流,包括:
从所述配置文件的第一预设字段中读取所述直播服务器地址和所述当前串流秘钥,基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取直播服务地址和直播间的直播码,其中,所述直播码用于标记所述直播间;
将所述直播码和直播服务地址存储在配置文件的第二预设字段中。
8.根据权利要求1-7任一所述的方法,其特征在于,所述直播码的长度小于预设长度,和/或,所述直播码为数字码。
9.一种直播推流装置,其特征在于,包括:
初始信息获取模块,用于在满足推流触发条件时,读取配置文件中存储的直播码和直播服务地址;
直播推流信息确定模块,用于基于所述直播服务地址发送包括所述直播码的认证请求,在认证成功的情况下,接收到反馈得到的直播推流信息;
直播推流信息解析模块,用于解析所述直播推流信息,获取直播服务器地址和当前串流秘钥;
推流模块,用于基于所述直播服务器地址和所述当前串流秘钥进行直播推流。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的直播推流方法。
11.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8中任一所述的直播推流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111518640.8A CN114245161B (zh) | 2021-12-13 | 2021-12-13 | 一种直播推流方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111518640.8A CN114245161B (zh) | 2021-12-13 | 2021-12-13 | 一种直播推流方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114245161A CN114245161A (zh) | 2022-03-25 |
CN114245161B true CN114245161B (zh) | 2024-02-02 |
Family
ID=80755214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111518640.8A Active CN114245161B (zh) | 2021-12-13 | 2021-12-13 | 一种直播推流方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114245161B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110267053A (zh) * | 2019-06-27 | 2019-09-20 | 广州酷狗计算机科技有限公司 | 直播方法、装置及系统 |
WO2021004384A1 (zh) * | 2019-07-09 | 2021-01-14 | 阿里巴巴集团控股有限公司 | 内容分发网络、数据处理方法、装置、设备及存储介质 |
CN112911327A (zh) * | 2021-02-01 | 2021-06-04 | 深圳市茅庐信息科技有限公司 | 一种直播软件自动配置方法、系统及存储介质 |
CN113365097A (zh) * | 2021-08-10 | 2021-09-07 | 北京达佳互联信息技术有限公司 | 直播信息流处理方法、装置、系统、电子设备及存储介质 |
-
2021
- 2021-12-13 CN CN202111518640.8A patent/CN114245161B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110267053A (zh) * | 2019-06-27 | 2019-09-20 | 广州酷狗计算机科技有限公司 | 直播方法、装置及系统 |
WO2021004384A1 (zh) * | 2019-07-09 | 2021-01-14 | 阿里巴巴集团控股有限公司 | 内容分发网络、数据处理方法、装置、设备及存储介质 |
CN112911327A (zh) * | 2021-02-01 | 2021-06-04 | 深圳市茅庐信息科技有限公司 | 一种直播软件自动配置方法、系统及存储介质 |
CN113365097A (zh) * | 2021-08-10 | 2021-09-07 | 北京达佳互联信息技术有限公司 | 直播信息流处理方法、装置、系统、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于云服务的移动视频直播系统的设计与实现;孙恒;;现代教育技术(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114245161A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210058788A1 (en) | Method and apparatus for connecting to wireless access point | |
CN111258602B (zh) | 信息更新方法和装置 | |
CN108923925B (zh) | 应用于区块链的数据存储方法和装置 | |
CN112866385B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN111757422B (zh) | 设备激活方法、装置、用户终端、待激活设备及存储介质 | |
CN111030827A (zh) | 信息交互方法、装置、电子设备、及存储介质 | |
CN115529130B (zh) | 数据处理方法、终端、服务器、系统、设备、介质和产品 | |
CN111249740A (zh) | 一种资源数据的访问方法及系统 | |
CN114866964A (zh) | 基于邻近服务的消息传输方法、装置、电子设备及介质 | |
CN110545542A (zh) | 基于非对称加密算法的主控密钥下载方法、装置和计算机设备 | |
CN112329044A (zh) | 信息获取方法、装置、电子设备和计算机可读介质 | |
CN115296807B (zh) | 用于预防工控网络病毒的密钥生成方法、装置、设备 | |
CN114245161B (zh) | 一种直播推流方法、装置、存储介质及电子设备 | |
CN116502189A (zh) | 软件授权方法、系统、设备和存储介质 | |
CN113783966B (zh) | 数据传输方法、装置、可读介质及电子设备 | |
CN113961931A (zh) | adb工具使用方法、装置和电子设备 | |
CN116578427B (zh) | 资源设备调度方法、电子设备和计算机可读介质 | |
CN112149168B (zh) | 一种文件数据加密方法、装置及电子设备 | |
CN116702169B (zh) | 数据加密迁移方法、电子设备和计算机可读介质 | |
CN113138739B (zh) | 一种投屏方法、系统、装置、电子设备及存储介质 | |
CN116226888B (zh) | 基于隐私保护的电力数据交互加密方法、系统与设备 | |
CN111355750B (zh) | 用于识别暴力破解密码行为的方法和装置 | |
CN111835846B (zh) | 信息更新方法、装置和电子设备 | |
CN116738472B (zh) | 应用于任务数据交互的任务数据加密方法、装置与设备 | |
CN111314320B (zh) | 基于http的通信方法、终端、服务器和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |