CN113497950B - 一种流媒体直播的方法、装置及存储介质 - Google Patents
一种流媒体直播的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113497950B CN113497950B CN202110658983.8A CN202110658983A CN113497950B CN 113497950 B CN113497950 B CN 113497950B CN 202110658983 A CN202110658983 A CN 202110658983A CN 113497950 B CN113497950 B CN 113497950B
- Authority
- CN
- China
- Prior art keywords
- live broadcast
- streaming media
- broadcast address
- live
- request
- 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
Images
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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
- H04N21/2396—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests characterized by admission policies
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/441—Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4627—Rights management associated to the content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种流媒体直播的方法、装置及存储介质,用以解决现有技术中存在的视频直播安全性较低的技术问题,该方法包括:接收用户端发送的携带指定流媒体的直播地址和随机码的直播请求;基于随机码和直播地址生成关键字,并用关键字在本地存储的关键字与直播地址的数据对中查询出直播地址的使用状态;其中,在与用户端建立心跳连接时,使用状态被设置为未使用状态,在向用户端发送指定流媒体的视频流后,使用状态被设置为已使用状态;根据直播地址的使用状态及心跳连接的连接状态判断直播请求是否有效,若使用状态为未使用且连接状态为已连接,则确定直播请求有效,并将指定流媒体的数据流发送给用户端,以便在用户端直播指定流媒体。
Description
技术领域
本发明涉及直播技术领域,尤其是涉及一种流媒体直播的方法、装置及存储介质。
背景技术
随着视频直播被广泛的应用于商业、娱乐中,为商家带来巨大收益的同时也存在这视频直播地址被盗用的情况,这不仅会损害商家的利益,同时消费者的利益也会受到损害,因此大家越来越重视视频直播的安全性。
现有技术中,直播地址防泄漏主要为前端应用(客户端)和平台系统(服务器端)通过加密串、统一标识码以及请求头信息组做一致性和白名单校验来判断视频直播的合法性。
此合法性校验的具体过程可以包括:客户端(前端播放器或直播间)发送直播片段请求前,先根据地址过期时间、当前密钥组、直播信息等生成加密串,再将该加密串、地址过期时间及目标密钥版本号封装到目标直播地址中发送到平台系统,由平台系统进行防泄露认证,判断加密串是否正确,以及请求头来源(Referer)、请求头用户代理(User-Agent)是否合法,校验通过则视频播放,校验失败,即返回视频直播失败或者返回指定的页面。
然而,在上述处理过程中,当面对网站页面模式使用时,加密算法易暴露使得视频直播的局限性较大;而使用统一标识码则可通过抓包工具获取,易被破解篡改,视频直播的安全性未得到有效保证。
因此,如何提高视频直播的安全性成为一个亟待解决的技术问题。
发明内容
本发明提供一种流媒体直播的方法、装置及存储介质,用以解决现有技术中存在的视频直播安全性较低的技术问题。
第一方面,为解决上述技术问题,本发明实施例提供的一种流媒体直播的方法,应用于流媒体服务端,该方法的技术方案如下:
接收用户端发送的直播请求,所述直播请求中包括指定流媒体的直播地址,所述直播地址中携带所述用户端请求所述直播地址时所述流媒体服务端为所述用户端分配的随机码;
基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态;其中,在与所述用户端建立心跳连接时,所述使用状态被设置为未使用状态,在向所述用户端发送所述指定流媒体的视频流后,所述使用状态被设置为已使用状态,所述心跳连接是用于确定所述直播地址合法性的通信连接;
根据所述直播地址的使用状态及所述心跳连接的连接状态判断所述直播请求是否有效,若所述使用状态为所述未使用且所述连接状态为已连接,则确定所述直播请求有效,并将所述指定流媒体的数据流发送给所述用户端,以便在所述用户端直播所述指定流媒体。
一种可能的实施方式,接收用户端发送的直播请求之前,还包括:
接收用户端发送的请求获取所述直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
根据所述指定流媒体的信息生成所述直播地址,并为所述请求信息分配所述随机码;
将所述直播地址和所述随机码发送给所述用户端,并在本地成对存储所述直播地址和所述随机码。
一种可能的实施方式,将所述直播地址和所述随机码发送给所述用户端之后,还包括:
当首次接收到所述用户端发送的心跳请求后,根据所述心跳请求中携带的所述随机码,从本地存储的直播地址与随机码组成的数据对中查找与所述随机码对应的所述直播地址;
基于所述随机码和所述直播地址生成所述关键字;
将所述直播地址的使用状态设置为未使用状态,并将所述关键字与所述使用状态成对存储到本地。
一种可能的实施方式,根据所述直播地址的使用状态及所述心跳连接的连接状态判断所述直播请求是否有效前,还包括:
若所述关键字与直播地址使用状态表中没有所述关键字,或所述直播地址的使用状态为所述已使用状态,或所述心跳连接的连接状态为未连接状态,则确定所述直播请求无效;
将直播失败的提示信息或指定页面发送给所述用户端。
一种可能的实施方式,将所述指定流媒体的数据流发送给所述用户端之后,还包括:
若所述指定流媒体对应的直播服务关闭,则将所述直播地址的使用状态修改为已失效状态。
第二方面,本发明实施例提供了一种流媒体直播的方法,应用于用户端包括:
向流媒体服务端发送获取指定流媒体的直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
接收所述流媒体服务端发送的所述直播地址及为所述请求信息分配的随机码,并用所述随机码建立与所述流媒体服务端的心跳连接,以及生成携带所述直播地址和所述随机码的直播请求;其中,所述直播地址是所述流媒体服务端根据所述指定流媒体的信息生成的;
向流媒体服务端发送所述直播请求,使所述流媒体服务端基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态,以便在确定所述直播地址的使用状态为已使用且心跳连接的连接状态为已连接时,确定所述直播请求有效并发送所述指定流媒体的数据流给所述用户端;其中,所述心跳连接是用于确定所述直播地址合法性的通信连接;
接收并直播所述流媒体服务端发送的所述指定流媒体的数据流。
第三方面,本发明实施例提供了一种流媒体直播的装置,应用于流媒体服务端,包括:
接收单元,用于接收用户端发送的直播请求,所述直播请求中包括指定流媒体的直播地址,所述直播地址中携带所述用户端请求所述直播地址时所述流媒体服务端为所述用户端分配的随机码;
处理单元,用于基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态;其中,在与所述用户端建立心跳连接时,所述使用状态被设置为未使用状态,在向所述用户端发送所述指定流媒体的视频流后,所述使用状态被设置为已使用状态,所述心跳连接是用于确定所述直播地址合法性的通信连接;
发送单元,用于根据所述直播地址的使用状态及所述心跳连接的连接状态判断所述直播请求是否有效,若所述使用状态为所述未使用且所述连接状态为已连接,则确定所述直播请求有效,并将所述指定流媒体的数据流发送给所述用户端,以便在所述用户端直播所述指定流媒体。
一种可能的实施方式,所述接收单元还用于:
接收用户端发送的请求获取所述直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
根据所述指定流媒体的信息生成所述直播地址,并为所述请求信息分配所述随机码;
将所述直播地址和所述随机码发送给所述用户端,并在本地成对存储所述直播地址和所述随机码。
一种可能的实施方式,所述接收单元还用于:
当首次接收到所述用户端发送的心跳请求后,根据所述心跳请求中携带的所述随机码,从本地存储的直播地址与随机码组成的数据对中查找与所述随机码对应的所述直播地址;
基于所述随机码和所述直播地址生成所述关键字;
将所述直播地址的使用状态设置为未使用状态,并将所述关键字与所述使用状态成对存储到本地。
一种可能的实施方式,所述发送单元还用于:
若所述关键字与直播地址使用状态表中没有所述关键字,或所述直播地址的使用状态为所述已使用状态,或所述心跳连接的连接状态为未连接状态,则确定所述直播请求无效;
将直播失败的提示信息或指定页面发送给所述用户端。
一种可能的实施方式,所述发送单元还用于:
若所述指定流媒体对应的直播服务关闭,则将所述直播地址的使用状态修改为已失效状态。
第四方面,本发明实施例提供了一种流媒体直播的装置,应用于用户端,包括:
发送单元,用于向流媒体服务端发送获取指定流媒体的直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
处理单元,用于接收所述流媒体服务端发送的所述直播地址及为所述请求信息分配的随机码,并生成携带所述直播地址和所述随机码的直播请求;其中,所述直播地址是所述流媒体服务端根据所述指定流媒体的信息生成的;
所述发送单元还用于向流媒体服务端发送所述直播请求,使所述流媒体服务端基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态,以便在确定所述直播地址的使用状态为已使用且心跳连接的连接状态为已连接时,确定所述直播请求有效并发送所述指定流媒体的数据流给所述用户端;其中,所述心跳连接是用于确定所述直播地址合法性的通信连接;
接收单元,用于接收并直播所述流媒体服务端发送的所述指定流媒体的数据流。
第五方面,本发明实施例还提供一种流媒体直播的装置,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面或第二方面所述的方法。
第四方面,本发明实施例还提供一种可读存储介质,包括:
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第一方面或第二方面所述的方法。
通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
在本发明提供的实施例中,当用户端向服务端请求指定流媒体的直播地址时,会为该次请求分配一个随机码,使得用户端通过该随机码与流媒体服务端建立心跳连接,当流媒体服务端接收到用户端发送的直播请求后,根据其中携带的直播地址和随机码生成关键字,并用该关键字在本地查询出该直播地址的使用状态,进而根据直播地址的使用状态和心跳连接的连接状态确定直播请求是否有效,在确定有效时再向用户端发送指定流媒体的数据。从而能够防止直播地址被盗用后,被盗用者不能播放指定流媒体,进而实现提高流媒体直播的安全性。
附图说明
图1为本发明实施例提供的流媒体服务端侧流媒体直播方法的流程图;
图2为本发明实施例提供的用户端侧流媒体直播方法的流程图;
图3为本发明实施例提供的流媒体服务端侧流媒体直播装置的结构示意图;
图4为本发明实施例提供的用户端侧流媒体直播装置的结构示意图。
具体实施方式
本发明实施列提供一种流媒体直播的方法、装置及存储介质,用以解决现有技术中存在的视频直播安全性较低的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
提供一种流媒体直播的方法,应用于流媒体服务端,该方法包括:接收用户端发送的直播请求,直播请求中包括指定流媒体的直播地址,直播地址中携带用户端请求直播地址时流媒体服务端为用户端分配的随机码;基于随机码和直播地址生成关键字,并用关键字在本地存储的关键字与直播地址的数据对中查询出直播地址的使用状态;其中,在与用户端初次建立心跳连接时,使用状态被设置为未使用状态,在向用户端发送指定流媒体的视频流后,使用状态被设置为已使用状态,心跳连接是用于确定直播地址合法性的通信连接;根据直播地址的使用状态及心跳连接的连接状态判断直播请求是否有效,若使用状态为未使用且连接状态为已连接,则确定直播请求有效,并将指定流媒体的数据流发送给用户端,以便在用户端直播指定流媒体。
由于在上述方案中,当用户端向服务端请求指定流媒体的直播地址时,会为该次请求分配一个随机码,使得用户端通过该随机码与流媒体服务端建立心跳连接,当流媒体服务端接收到用户端发送的直播请求后,根据其中携带的直播地址和随机码生成关键字,并用该关键字在本地查询出该直播地址的使用状态,进而根据直播地址的使用状态和心跳连接的连接状态确定直播请求是否有效,在确定有效时再向用户端发送指定流媒体的数据。从而能够防止直播地址被盗用后,被盗用者不能播放指定流媒体,进而实现提高流媒体直播的安全性。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
请参考图1,本发明实施例提供一种流媒体直播的方法,应用于流媒体服务端,该方法的处理过程如下。
步骤101:接收用户端发送的直播请求,直播请求中包括指定流媒体的直播地址,直播地址中携带用户端请求直播地址时流媒体服务端为用户端分配的随机码。
随机码例如可以是16位唯一标示符,可以代表用户端与流媒体服务端的心跳属性。
通常对于正常的用户端其请求直播服务一般需要向从流媒体服务端获取直播地址,再根据该直播地址从流媒体服务端获取对应的数据流进行直播,在本发明中,为了提高直播的安全性,在流媒体服务端接收用户端发送的直播请求之前,还需要执行以下操作:
接收用户端发送的请求获取指定流媒体的直播地址的请求信息;其中,请求信息中携带指定流媒体的信息;根据指定流媒体的信息生成直播地址,并为请求信息分配随机码;将直播地址和随机码发送给用户端,并在本地成对存储直播地址和随机码。
直播地址和随机码的存储可以用Key-value数据库进行存储,Key-value数据库是一种以键值对存储数据的一种数据库,即将随机码作为Key,直播地址作为value成对存储,Key-value数据库例如可以是redis、memchaced,查询速度快、存放数据量大、支持高并发。
用户端获得指定流媒体的直播地址和随机码后,用随机码与流媒体服务端建立心跳连接,并定时向流媒体服务端发送心跳请求。
流媒体服务端首次接收到用户端发送的心跳请求后,根据心跳请求中携带的随机码,从本地存储的直播地址与随机码组成的数据对中查找与该随机码对应的直播地址;并基于随机码和直播地址生成关键字;将直播地址的使用状态设置为未使用状态,并将关键字与使用状态存储成对存储到本地。
例如,用户A(记为用户端A)通过用户操作,进入一个直播间,该直播间提供的直播服务是童装直播(即指定流媒体),用户端A向流媒体服务端发送获取童装直播的直播地址的请求信息,该请求信息中具有该童装直播的标识信息(即指定流媒体的信息),流媒体服务端根据该童装直播的标识信息生成童装直播的直播地址A,并为该请求信息分配随机码A,流媒体服务端将直播地址A和随机码A发送给用户端A,并在本地成对存储直播地址A与随机码A,如存在一个表、Key-value数据库中。
用户端A将随机码A携带在心跳请求中发送给流媒体服务端,并建立用户端A与流媒体服务端的心跳连接,之后用户终端A会定时向流媒体服务端发送心跳请求,以让流媒体服务端确定与用户端A的通信是正常的。
流媒体服务端首次接收到用户端A发送的心跳请求后,根据该心跳请求中携带的随机码A从本地存储的直播地址与随机码组成的数据对(或数据库)中查找对应的直播地址A,根据随机码A和直播地址A生成关键字A,然后将指定流媒体的直播地址的使用状态设置为未使用状态,并将关键字A与指定流媒体的直播地址的使用状态成对存储在本地。
若步骤101中向流媒体服务端发送直播请求的用户端是非法用户端,由于非法用户端是从网络中破获的指定流媒体的直播地址,因此非法用户端并未事先与流媒体服务端建立心跳连接,使得在后续验证直播请求的有效性时,无法通过验证,从而提高了流媒体直播的安全性。
在流媒体服务端接收到用户端发送的直播请求后,便可执行步骤102。
步骤102:基于随机码和直播地址生成关键字,并用关键字在本地存储的关键字与直播地址的数据对中查询出直播地址的使用状态;其中,在与用户端初次建立心跳连接时,使用状态被设置为未使用状态,在向用户端发送指定流媒体的视频流后,使用状态被设置为已使用状态,心跳连接是用于确定直播地址合法性的通信连接。
流媒体服务端在接收到直播请求后,从中获取随机码和直播地址,并基于随机码和直播地址生成关键字,关键字的生成例如可以对随机码和直播地址进行哈希计算,将得到的哈希值作为关键字,还可以对随机码和直播地址进行加密计算如MD5加密,将加密结果作为关键字,当然还有其它方式生成关键字,在此不一一例举。
流媒体服务端生成关键字后,用该关键字在本地查询该关键字对应的直播地址的使用状态,例如,在流媒体服务端存储时使用Key-value数据库存储的关键字与直播地址的使用状态,则在数据库中查询与该关键字对应的直播地址的使用状态。
假设流媒体服务端从用户端A发送的直播请求中获取到直播地址A和随机码A,并基于直播地址A和随机码A生成关键字A,然后用关键字A在本地查找到对应的直播地址A的使用状态为未使用。
在流媒体服务端查询到与关键字对应的直播地址的使用状态后,便可执行步骤103。
步骤103:根据直播地址的使用状态及心跳连接的连接状态判断直播请求是否有效,若使用状态为未使用且连接状态为已连接,则确定直播请求有效,并将指定流媒体的数据流发送给用户端,以便在用户端直播指定流媒体。
假设流媒体服务端根据关键字查询到直播地址A的使用状态为未使用,且与用户端A的心跳连接的连接状态为已连接,则确定用户端A发送的直播请求有效,将指定流媒体的数据流发送给用户端A,以便在用户端A直播指定流媒体。
假设流媒体服务端在将是定流媒体的数据流发送给用户端A后,又接收到用户端B(为非法用户,其破获了指定流媒体的直播地址A和随机码A)发送的直播请求,然而此时流媒体服务端接收到该直播请求后,根据直播地址A和随机码A得到的关键字A查询到直播地址的使用状态为已使用,因此确定用户端B发送的直播请求无效,于是拒绝向用户端B发送指定流媒体的数据量。
又假设,用户端B破获指定流媒体的直播地址A和随机码A后,先于用户端A发送直播请求给流媒体服务端,由于用户端B是破获的直播地址和随机码A,因此其在此之前并没有与流媒体服务端建立心跳连接,故即便服务端通过直播地址A和随机码A生成关键字A,查询到直播地址A的使用状态为未使用,但由于用户端B并没有用过关键字A与流媒体服务端建立心跳连接,因此流媒体服务端也可以确定用户端B发出的直播请求为无效的,仍然可以拒绝向用户端B发送指定流媒体的数据量。从而提高流媒体直播的安全性。
根据直播地址的使用状态及心跳连接的连接状态判断直播请求是否有效前,还包括:
若关键字与直播地址使用状态表中没有关键字,或直播地址的使用状态为已使用状态,或心跳连接的连接状态为未连接状态,则确定直播请求无效;将直播失败的提示信息或指定页面发送给用户端。
例如用户端B破获了直播地址B,并发送携带直播地址B的直播请求给流媒体服务端,流媒体服务端根据直播地址B及其中携带的随机码B生成关键字B,用关键字B在本地查询对应直播地址B的使用状态,然而流媒体服务端在本地并未找到关键字B,确定用户端B发送的直播请求无效,流媒体服务端可以将直播失败的提示信息发送给用户端B,或者发送一个显示购买流媒体直播服务的指定页面给用户端B。
在本发明提供的实施例中,将指定流媒体的数据流发送给用户端之后,若指定流媒体对应的直播服务关闭,则将直播地址的使用状态修改为已失效状态。
例如,在流媒体服务端向用户端A发送指定流媒体的数据流后一段时间,指定流媒体的直播结束了(即直播服务关闭),流媒体服务端将指定流媒体的直播地址的使用状态修改为失效状态,并且还可以向用户端A发送指定流媒体直播结束的页面。
在从流媒体服务端侧介绍了流媒体直播的方法后,下面将从用户端侧接收该流媒体直播的方法。
请参考图2,基于同一发明构思,本发明实施例提供一种流媒体直播的方法,应用于用户端,在用户端侧实施的流媒体直播方法的具体实施方式可参见流媒体服务端中相关方法实施例部分的描述,重复之处不再赘述,该方法的处理过程如下。
步骤201:向流媒体服务端发送获取指定流媒体的直播地址的请求信息;其中,请求信息中携带指定流媒体的信息。
步骤202:接收流媒体服务端发送的直播地址及为请求信息分配的随机码,并用随机码建立与流媒体服务端的心跳连接,生成携带直播地址和随机码的直播请求;其中,直播地址是流媒体服务端根据指定流媒体的信息生成的。
用户端用随机码建立与流媒体服务端的心跳连接,可以是向流媒体服务端发送携带随机码的心跳请求,建立心跳连接,之后用户终端会定时向流媒体服务端发送心跳请求,这样可以让流媒体服务端确定该通信是正常的连接状态。
步骤203:向流媒体服务端发送直播请求,使流媒体服务端基于随机码和直播地址生成关键字,并用关键字在本地存储的关键字与直播地址的数据对中查询出直播地址的使用状态,以便在确定直播地址的使用状态为已使用且心跳连接的连接状态为已连接时,确定直播请求有效并发送所述指定流媒体的数据流给所述用户端;其中,心跳连接是用于确定直播地址合法性的通信连接。
步骤204:接收并直播流媒体服务端发送的指定流媒体的数据流。
基于同一发明构思,本发明一实施例中提供一种用于流媒体直播的装置,该装置的流媒体直播方法的具体实施方式可参见流媒体服务端侧方法实施例部分的描述,重复之处不再赘述,请参见图3,该装置包括:
接收单元301,用于接收用户端发送的直播请求,所述直播请求中包括指定流媒体的直播地址,所述直播地址中携带所述用户端请求所述直播地址时所述流媒体服务端为所述用户端分配的随机码;
处理单元302,用于基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态;其中,在与所述用户端建立心跳连接时,所述使用状态被设置为未使用状态,在向所述用户端发送所述指定流媒体的视频流后,所述使用状态被设置为已使用状态,所述心跳连接是用于确定所述直播地址合法性的通信连接;
发送单元303,用于根据所述直播地址的使用状态及所述心跳连接的连接状态判断所述直播请求是否有效,若所述使用状态为所述未使用且所述连接状态为已连接,则确定所述直播请求有效,并将所述指定流媒体的数据流发送给所述用户端,以便在所述用户端直播所述指定流媒体。
一种可能的实施方式,所述接收单元301还用于:
接收用户端发送的请求获取所述直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
根据所述指定流媒体的信息生成所述直播地址,并为所述请求信息分配所述随机码;
将所述直播地址和所述随机码发送给所述用户端,并在本地成对存储所述直播地址和所述随机码。
一种可能的实施方式,所述接收单元301还用于:
当首次接收到所述用户端发送的心跳请求后,根据所述心跳请求中携带的所述随机码,从本地存储的直播地址与随机码组成的数据对中查找与所述随机码对应的所述直播地址;
基于所述随机码和所述直播地址生成所述关键字;
将所述直播地址的使用状态设置为未使用状态,并将所述关键字与所述使用状态成对存储到本地。
一种可能的实施方式,所述发送单元303还用于:
若所述关键字与直播地址使用状态表中没有所述关键字,或所述直播地址的使用状态为所述已使用状态,或所述心跳连接的连接状态为未连接状态,则确定所述直播请求无效;
将直播失败的提示信息或指定页面发送给所述用户端。
一种可能的实施方式,所述发送单元303还用于:
若所述指定流媒体对应的直播服务关闭,则将所述直播地址的使用状态修改为已失效状态。
基于同一发明构思,本发明一实施例中提供一种用于流媒体直播的装置,该装置的流媒体直播方法的具体实施方式可参见用户端侧方法实施例部分的描述,重复之处不再赘述,请参见图4,该装置包括:
发送单元401,用于向流媒体服务端发送获取指定流媒体的直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
处理单元402,用于接收所述流媒体服务端发送的所述直播地址及为所述请求信息分配的随机码,并生成携带所述直播地址和所述随机码的直播请求;其中,所述直播地址是所述流媒体服务端根据所述指定流媒体的信息生成的;
所述发送单元401还用于向流媒体服务端发送所述直播请求,使所述流媒体服务端基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态,以便在确定所述直播地址的使用状态为已使用且心跳连接的连接状态为已连接时,确定所述直播请求有效并发送所述指定流媒体的数据流给所述用户端;其中,所述心跳连接是用于确定所述直播地址合法性的通信连接;
接收单元403,用于接收并直播所述流媒体服务端发送的所述指定流媒体的数据流。
基于同一发明构思,本发明实施例中提供了一种流媒体直播的装置,包括:至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上所述的流媒体服务端或用户端的流媒体直播方法。
基于同一发明构思,本发明实施例还提一种可读存储介质,包括:
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的流媒体服务端或用户端的流媒体直播方法。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种流媒体直播的方法,应用于流媒体服务端,其特征在于,包括:
接收用户端发送的直播请求,所述直播请求中包括指定流媒体的直播地址,所述直播地址中携带所述用户端请求所述直播地址时所述流媒体服务端为所述用户端分配的随机码;
基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态;其中,在与所述用户端建立心跳连接时,所述使用状态被设置为未使用状态,在向所述用户端发送所述指定流媒体的视频流后,所述使用状态被设置为已使用状态,所述心跳连接是用于确定所述直播地址合法性的通信连接;
根据所述直播地址的使用状态及所述心跳连接的连接状态判断所述直播请求是否有效,若所述使用状态为所述未使用且所述连接状态为已连接,则确定所述直播请求有效,并将所述指定流媒体的数据流发送给所述用户端,以便在所述用户端直播所述指定流媒体。
2.如权利要求1所述的方法,其特征在于,接收用户端发送的直播请求之前,还包括:
接收用户端发送的请求获取所述直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
根据所述指定流媒体的信息生成所述直播地址,并为所述请求信息分配所述随机码;
将所述直播地址和所述随机码发送给所述用户端,并在本地成对存储所述直播地址和所述随机码。
3.如权利要求2所述的方法,其特征在于,将所述直播地址和所述随机码发送给所述用户端之后,还包括:
当首次接收到所述用户端发送的心跳请求后,根据所述心跳请求中携带的所述随机码,从本地存储的直播地址与随机码组成的数据对中查找与所述随机码对应的所述直播地址;
基于所述随机码和所述直播地址生成所述关键字;
将所述直播地址的使用状态设置为未使用状态,并将所述关键字与所述使用状态成对存储到本地。
4.如权利要求1-3任一项所述的方法,其特征在于,根据所述直播地址的使用状态及所述心跳连接的连接状态判断所述直播请求是否有效前,还包括:
若所述关键字与直播地址使用状态表中没有所述关键字,或所述直播地址的使用状态为所述已使用状态,或所述心跳连接的连接状态为未连接状态,则确定所述直播请求无效;
将直播失败的提示信息或指定页面发送给所述用户端。
5.如权利要求1-3任一项所述的方法,其特征在于,将所述指定流媒体的数据流发送给所述用户端之后,还包括:
若所述指定流媒体对应的直播服务关闭,则将所述直播地址的使用状态修改为已失效状态。
6.一种流媒体直播的方法,应用于用户端,其特征在于,包括:
向流媒体服务端发送获取指定流媒体的直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
接收所述流媒体服务端发送的所述直播地址及为所述请求信息分配的随机码,并用所述随机码建立与所述流媒体服务端的心跳连接,以及生成携带所述直播地址和所述随机码的直播请求;其中,所述直播地址是所述流媒体服务端根据所述指定流媒体的信息生成的;
向流媒体服务端发送所述直播请求,使所述流媒体服务端基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态,以便在确定所述直播地址的使用状态为已使用且心跳连接的连接状态为已连接时,确定所述直播请求有效并发送所述指定流媒体的数据流给所述用户端;其中,所述心跳连接是用于确定所述直播地址合法性的通信连接;
接收并直播所述流媒体服务端发送的所述指定流媒体的数据流。
7.一种流媒体直播的装置,应用于流媒体服务端,其特征在于,包括:
接收单元,用于接收用户端发送的直播请求,所述直播请求中包括指定流媒体的直播地址,所述直播地址中携带所述用户端请求所述直播地址时所述流媒体服务端为所述用户端分配的随机码;
处理单元,用于基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态;其中,在与所述用户端建立心跳连接时,所述使用状态被设置为未使用状态,在向所述用户端发送所述指定流媒体的视频流后,所述使用状态被设置为已使用状态,所述心跳连接是用于确定所述直播地址合法性的通信连接;
发送单元,用于根据所述直播地址的使用状态及所述心跳连接的连接状态判断所述直播请求是否有效,若所述使用状态为所述未使用且所述连接状态为已连接,则确定所述直播请求有效,并将所述指定流媒体的数据流发送给所述用户端,以便在所述用户端直播所述指定流媒体。
8.一种流媒体直播的装置,应用于用户端,其特征在于,包括:
发送单元,用于向流媒体服务端发送获取指定流媒体的直播地址的请求信息;其中,所述请求信息中携带所述指定流媒体的信息;
处理单元,用于接收所述流媒体服务端发送的所述直播地址及为所述请求信息分配的随机码,并生成携带所述直播地址和所述随机码的直播请求;其中,所述直播地址是所述流媒体服务端根据所述指定流媒体的信息生成的;
所述发送单元还用于向流媒体服务端发送所述直播请求,使所述流媒体服务端基于所述随机码和所述直播地址生成关键字,并用所述关键字在本地存储的关键字与直播地址的数据对中查询出所述直播地址的使用状态,以便在确定所述直播地址的使用状态为未使用且心跳连接的连接状态为已连接时,确定所述直播请求有效并发送指定流媒体的数据流给所述用户端;其中,所述心跳连接是用于确定所述直播地址合法性的通信连接;
接收单元,用于接收并直播所述流媒体服务端发送的所述指定流媒体的数据流。
9.一种流媒体直播的装置,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的程序,所述至少一个处理器通过执行所述存储器存储的程序,执行如权利要求1-6任一项所述的方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,完成如权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110658983.8A CN113497950B (zh) | 2021-06-15 | 2021-06-15 | 一种流媒体直播的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110658983.8A CN113497950B (zh) | 2021-06-15 | 2021-06-15 | 一种流媒体直播的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113497950A CN113497950A (zh) | 2021-10-12 |
CN113497950B true CN113497950B (zh) | 2023-03-17 |
Family
ID=77997641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110658983.8A Active CN113497950B (zh) | 2021-06-15 | 2021-06-15 | 一种流媒体直播的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113497950B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027548A (zh) * | 2016-06-28 | 2016-10-12 | 武汉斗鱼网络科技有限公司 | 视频直播网站基于页面心跳事件生成白名单的系统及方法 |
CN106060594A (zh) * | 2016-05-25 | 2016-10-26 | 武汉斗鱼网络科技有限公司 | 一种基于播放器心跳的白名单生成系统及方法 |
CN106331772A (zh) * | 2015-06-17 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 数据校验方法、装置和智能电视系统 |
CN111225228A (zh) * | 2020-01-15 | 2020-06-02 | 北京拙河科技有限公司 | 一种视频直播方法、装置、设备和介质 |
CN111314794A (zh) * | 2020-03-18 | 2020-06-19 | 浩云科技股份有限公司 | 一种流媒体播放地址生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7733808B2 (en) * | 2006-11-10 | 2010-06-08 | Microsoft Corporation | Peer-to-peer aided live video sharing system |
-
2021
- 2021-06-15 CN CN202110658983.8A patent/CN113497950B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331772A (zh) * | 2015-06-17 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 数据校验方法、装置和智能电视系统 |
CN106060594A (zh) * | 2016-05-25 | 2016-10-26 | 武汉斗鱼网络科技有限公司 | 一种基于播放器心跳的白名单生成系统及方法 |
CN106027548A (zh) * | 2016-06-28 | 2016-10-12 | 武汉斗鱼网络科技有限公司 | 视频直播网站基于页面心跳事件生成白名单的系统及方法 |
CN111225228A (zh) * | 2020-01-15 | 2020-06-02 | 北京拙河科技有限公司 | 一种视频直播方法、装置、设备和介质 |
CN111314794A (zh) * | 2020-03-18 | 2020-06-19 | 浩云科技股份有限公司 | 一种流媒体播放地址生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113497950A (zh) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109345388B (zh) | 区块链智能合约验证方法、装置及存储介质 | |
CN106790238B (zh) | 一种跨站请求伪造csrf防御认证方法和装置 | |
CN102857484B (zh) | 一种实现单点登录的方法、系统及装置 | |
CN108881228B (zh) | 云端注册激活方法、装置、设备和存储介质 | |
CN107342984A (zh) | 一种用于设备绑定的系统、方法及装置 | |
CN108880821B (zh) | 一种数字证书的认证方法及设备 | |
CN109996095B (zh) | 一种网络视频点播防止盗链播放的方法、系统及介质 | |
CN109376172B (zh) | 基于区块链的数据获取方法和系统 | |
CN110958249B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN107483987B (zh) | 一种视频流地址的鉴权方法及装置 | |
CN112788036A (zh) | 身份验证方法及装置 | |
CN108881280B (zh) | 接入方法、内容分发网络系统及接入系统 | |
CN107888623B (zh) | 直播软件音视频数据流防劫持方法及装置 | |
CN112231674A (zh) | 一种url地址的跳转验证方法、系统及电子设备 | |
CN110533503B (zh) | 一种数据处理方法及装置 | |
CN111988262B (zh) | 认证方法、装置及服务器、存储介质 | |
WO2017206605A1 (zh) | 防止服务器被攻击的方法及装置 | |
CN108322449B (zh) | 一种防止视频流被盗用的方法、存储介质、设备及系统 | |
CN111131127B (zh) | 一种基于直播平台的通信方法及相关装置 | |
CN108235067B (zh) | 一种视频流地址的鉴权方法及装置 | |
CN113497950B (zh) | 一种流媒体直播的方法、装置及存储介质 | |
CN111695098B (zh) | 多分布式集群访问方法及装置 | |
CN106888200B (zh) | 标识关联方法、信息发送方法及装置 | |
CN103559430A (zh) | 基于安卓系统的应用账号管理方法和装置 | |
WO2013075674A1 (zh) | 一种数字内容传输的方法、系统及装置 |
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 |