CN110958465A - 视频流推送方法、装置及存储介质 - Google Patents
视频流推送方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110958465A CN110958465A CN201911298547.3A CN201911298547A CN110958465A CN 110958465 A CN110958465 A CN 110958465A CN 201911298547 A CN201911298547 A CN 201911298547A CN 110958465 A CN110958465 A CN 110958465A
- Authority
- CN
- China
- Prior art keywords
- video stream
- live broadcast
- instruction
- recording
- live
- 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.)
- Pending
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/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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- 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/643—Communication protocols
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Abstract
本公开揭示了一种视频流推送方法、装置及存储介质,所述方法包括:通过获取直播间对应的轮播视频流播放指令,其中,轮播视频流播放指令是该直播间的主播终端离线时触发生成的指令,然后,根据该轮播视频流播放指令,获取该直播间的轮播视频流,其中轮播视频流是对该直播间的直播视频流进行录制得到的,最后,向流媒体内容分发网络CDN推送该轮播视频流,以便该直播系统中的观众终端从该流媒体CDN拉取并播放该轮播视频流。通过上述方案,可以通过将录制的轮播视频流推送到流媒体CDN中,从而使观众终端方便从流媒体CDN中直接拉取并播放视频流,提高了不同观众终端对离线视频的互动性。
Description
技术领域
本公开涉及数据传输技术领域,特别是涉及一种视频流推送方法、装置及存储介质。
背景技术
如今,直播技术日益发展,其中关于直播中的数据传输技术也愈发重要。直播的最显著的特征之一为同一直播间的观众用户可以实时的进行互动。
目前,当主播进行在线直播时,主播可以将直播的视频内容上传到服务器,并且存储在服务器上。当主播直播结束离开直播间后,进入该直播间的观众用户可以通过下载该直播间存储在服务器上的视频文件,在各个观众用户的终端上进行视频播放。
通过这种方式,观众用户可以在主播离线后获得并且播放视频文件,这种方式不同的用户都是独立播放不同的视频内容,这就导致观看同一个直播间的视频文件的观众无法互动。
发明内容
本公开提供一种视频流推送方法、装置及存储介质。所述技术方案如下:
根据本公开实施例的第一方面,提供了一种视频流推送方法,其特征在于,所述方法由直播系统中的直播服务器执行,所述方法包括:
获取直播间对应的轮播视频流播放指令,所述轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令;
根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,所述轮播视频流是对所述直播间的直播视频流进行录制得到的;
向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。
可选的,所述获取直播间对应的轮播视频流播放指令之前,还包括:
获取开始录制指令,所述开始录制指令用于指示对所述直播间的直播视频流进行录制的起始时间点;
对所述直播间的直播视频流中,从所述起始时间点开始的视频流进行录制;
获取结束录制指令,所述结束录制指令用于指示对所述直播间的直播视频流进行录制的结束时间点;
将所述直播间的直播视频流中,从所述起始时间点到所述结束时间点之间录制的视频流存储为所述轮播视频流。
可选的,所述获取开始录制指令,包括:
接收所述主播终端基于所述直播间在线直播的过程中发送的所述开始录制指令;
所述获取结束录制指令,包括:
接收所述主播终端基于所述直播间在线直播的过程中发送的所述结束录制指令;或者,接收所述主播终端在离线时发送的所述结束录制指令。
可选的,所述方法还包括:
在所述主播终端基于所述直播间在线直播的过程中,获取所述直播间的直播视频流的弹幕信息,所述弹幕信息用于指示各个时间点上的弹幕数据的数量;
根据所述弹幕信息生成所述开始录制指令和所述结束录制指令。
可选的,所述根据所述弹幕信息生成所述录制指令,包括:
当第一时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突升时,根据所述第一时间点确定所述起始时间点;
生成包含所述起始时间点的所述开始录制指令;
当所述第一时间点之后的第二时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突降时,根据所述第二时间点确定所述结束时间点;
生成包含所述结束时间点的所述结束录制指令。
可选的,所述获取直播间对应的轮播视频流播放指令,包括:
当所述直播间的主播终端离线时,获取所述主播终端对应的主播标识;
在离线轮播的主播列表中查询所述主播标识;
当所述离线轮播的主播列表中包含所述主播标识时,生成所述直播间对应的轮播视频流播放指令。
可选的,所述方法还包括:
接收所述观众终端在播放所述轮播视频流的过程中上传的弹幕数据;
将所述弹幕数据对应所述轮播视频流推送至所述流媒体CDN。
根据本公开实施例的第二方面,提供了一种视频流推送装置,其特征在于,所述装置用于直播系统中的直播服务器中,所述装置包括:
播放指令获取模块,用于获取直播间对应的轮播视频流播放指令,所述轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令;
视频流获取模块,用于根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,所述轮播视频流是对所述直播间的直播视频流进行录制得到的;
视频流推送模块,用于向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。
可选的,所述装置还包括:
开始指令获取模块,用于获取直播间对应的轮播视频流播放指令之前,获取开始录制指令,所述开始录制指令用于指示对所述直播间的直播视频流进行录制的起始时间点;
录制模块,用于对所述直播间的直播视频流中,从所述起始时间点开始的视频流进行录制;
结束指令获取模块,用于获取结束录制指令,所述结束录制指令用于指示对所述直播间的直播视频流进行录制的结束时间点;
视频流存储模块,用于将所述直播间的直播视频流中,从所述起始时间点到所述结束时间点之间录制的视频流存储为所述轮播视频流。
可选的,所述开始指令获取模块,包括:
开始指令接收子模块,用于接收所述主播终端基于所述直播间在线直播的过程中发送的所述开始录制指令;
所述结束指令获取模块,包括:
结束指令接收子模块,用于接收所述主播终端基于所述直播间在线直播的过程中发送的所述结束录制指令;或者,接收所述主播终端在离线时发送的所述结束录制指令。
可选的,所述装置还包括:
弹幕获取模块,用于在所述主播终端基于所述直播间在线直播的过程中,获取所述直播间的直播视频流的弹幕信息,所述弹幕信息用于指示各个时间点上的弹幕数据的数量;
指令生成模块,用于根据所述弹幕信息生成所述开始录制指令和所述结束录制指令。
可选的,所述指令生成模块,包括:
起始确定子模块,用于当第一时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突升时,根据所述第一时间点确定所述起始时间点;
开始指令生成子模块,用于生成包含所述起始时间点的所述开始录制指令;
结束确定子模块,用于当所述第一时间点之后的第二时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突降时,根据所述第二时间点确定所述结束时间点;
结束指令生成子模块,用于生成包含所述结束时间点的所述结束录制指令。
可选的,所述播放指令获取模块,包括:
标识获取子模块,用于当所述直播间的主播终端离线时,获取所述主播终端对应的主播标识;
标识查询子模块,用于在离线轮播的主播列表中查询所述主播标识;
轮播指令生成子模块,用于当所述离线轮播的主播列表中包含所述主播标识时,生成所述直播间对应的轮播视频流播放指令。
可选的,所述装置还包括:
弹幕接收模块,用于接收所述观众终端在播放所述轮播视频流的过程中上传的弹幕数据;
弹幕推送模块,用于将所述弹幕数据对应所述轮播视频流推送至所述流媒体CDN。
根据本公开实施例的第三方面,提供了一种视频流推送装置,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
获取直播间对应的轮播视频流播放指令,所述轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令;
根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,所述轮播视频流是对所述直播间的直播视频流进行录制得到的;
向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。
根据本公开实施例的第四方面,提供了一种计算机设备可读存储介质,所述计算机设备可读存储介质中包含可执行指令,所述可执行指令由处理器调用执行,以实现上述第一方面或者第一方面的任一可选方案所述的视频流推送的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过获取直播间对应的轮播视频流播放指令,其中,轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令,然后,根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,其中轮播视频流是对所述直播间的直播视频流进行录制得到的,最后,向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。通过上述方案,可以通过将录制的轮播视频流推送到流媒体CDN中,从而使观众终端方便从流媒体CDN中直接拉取并播放视频流,解决了同一时刻不同观众终端无法获取同一视频内容并进行实时交流问题,提高了不同观众终端对离线视频的互动性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的实施环境的示意图;
图2是根据一示例性实施例示出的一种视频流推送方法的流程图;
图3是根据另一示例性实施例示出的一种视频流推送方法的流程图;
图4是图3所示实施例涉及的一种主播终端界面示意图;
图5是根据一示例性实施例示出的一种视频流推送装置的框图;
图6是根据一示例性实施例示出的一种终端的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1是根据一示例性实施例示出的一种实施环境的示意图。该实施环境中包括至少一个主播终端110、直播服务器120以及若干个观众终端130。
至少一个主播终端110与直播服务器120以及若干个观众终端130之间通过有线或者无线网络相连。
主播终端110和观众终端130可以是具有数据传输能力以及视频录制或者播放能力的终端设备。
比如,主播终端110和观众终端130可以是智能手机、平板电脑以及电子书阅读器等移动式便携终端。
直播服务器120可以与流媒体的内容分发网络进行数据传输。
直播服务器120可以是一台服务器,或者直播服务器120可以是由若干台服务器构成的服务器集群,或者直播服务器120可以包含一个或多个虚拟化平台,或者直播服务器120也可以是一个云计算服务中心。
直播服务器120可以根据算法对数据进行获取与运算。
直播服务器120可以由一个或多个功能单元组成。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
图2是根据一示例性实施例示出的一种视频流推送方法的流程图。该视频流推送方法可以应用于直播系统中,直播系统中存在有主播终端、直播服务器以及观众终端,该方法由直播服务器执行。比如,该直播系统可以是图1所示的实施环境,该第一边缘计算设备可以是图1所示的边缘计算设备110中的任意一个,该主播终端可以是图1所示的主播终端110,该直播服务器可以是图1所示的直播服务器120,该观众终端可以是图1所示的观众终端130。如图2所示,该视频流推送方法可以包括以下步骤:
在步骤201中,获取直播间对应的轮播视频流播放指令,该轮播视频流播放指令是该直播间的主播终端离线时触发生成的指令。
在本公开实施例中,直播服务器可以获取由主播终端发送的轮播视频流播放指令,或者,该直播服务器也可以在检测到主播终端离线时生成该轮播视频流播放指令。
其中,轮播视频流播放指令可以用于控制直播服务器开始轮播从主播终端获取到的录制的视频内容。
其中,当直播服务器获取到轮播视频流播放指令后,该轮播视频流播放指令对应的主播终端的直播间可以进行轮播视频流的播放,观众终端的用户可以通过进入对应主播的直播间获取进行轮播的视频流,并在观众终端中进行播放。
在步骤202中,根据该轮播视频流播放指令,获取该直播间的轮播视频流,该轮播视频流是对该直播间的直播视频流进行录制得到的。
在本公开实施例中,当直播服务器接收到轮播视频流播放指令后,直播服务器可以从对应的轮播视频流的存储位置,获取该轮播视频流。
可选的,需要进行轮播操作的视频流的录制可以通过主播终端进行录制并存储在主播终端的存储器中,或者由主播终端进行录制之后,直接发送给直播服务器,存储在直播服务器的存储器中,或者,也可以由直播服务器直接录制主播终端的视频流并存储在直播服务器的存储器中。
其中,当需要进行轮播操作的视频流存储在主播终端的存储器中时,当直播服务器接收到轮播视频流播放指令后,直播服务器可以从对应的主播终端中获取对应的视频流。当需要进行轮播操作的视频流存储在直播服务器的存储器中时,直播服务器可以直接获取到该主播终端录制的视频流。
在步骤203中,向流媒体内容分发网络CDN推送该轮播视频流,以便该直播系统中的观众终端从该流媒体CDN拉取并播放该轮播视频流。
在本公开实施例中,直播服务器将获取到的轮播视频流推送到流媒体CDN(Content Delivery Network,内容分发网络)中,观众终端可以获取在流媒体CDN中的轮播视频流并且在观众终端按照推送的轮播顺序进行播放。
其中,流媒体CDN是在享有的互联网基础之上的一层智能虚拟网络,用户可以通过流媒体CDN就近获取所需要的内容。
综上所述,本公开实施例中提供的视频流推送方法,通过获取直播间对应的轮播视频流播放指令,其中,轮播视频流播放指令是该直播间的主播终端离线时触发生成的指令,然后,根据该轮播视频流播放指令,获取该直播间的轮播视频流,其中轮播视频流是对该直播间的直播视频流进行录制得到的,最后,向流媒体内容分发网络CDN推送该轮播视频流,以便该直播系统中的观众终端从该流媒体CDN拉取并播放该轮播视频流。通过上述方案,可以通过将录制的轮播视频流推送到流媒体CDN中,从而使观众终端方便从流媒体CDN中直接拉取并播放视频流,解决了同一时刻不同观众终端无法获取同一视频内容并进行实时交流问题,提高了不同观众终端对离线视频的互动性。
图3是根据另一示例性实施例示出的一种视频流推送方法的流程图,该视频流推送方法可以应用于直播系统中,直播系统中存在有主播终端、直播服务器以及观众终端,该方法由直播服务器执行。比如,该直播系统可以是图1所示的实施环境,该第一边缘计算设备可以是图1所示的边缘计算设备110中的任意一个,该主播终端可以是图1所示的主播终端110,该直播服务器可以是图1所示的直播服务器120,该观众终端可以是图1所示的观众终端130。如图3所示,该视频流推送方法可以包括以下步骤:
在步骤301中,直播服务器获取开始录制指令,对直播间的直播视频流中,从该开始录制指令指示的起始时间点开始的视频流进行录制。
其中,开始录制指令是可以用来指示对该直播间的直播视频流进行录制的起始时间点。
在一种可能的实现方式中,在主播终端基于直播间进行直播的过程中,直播服务器可以生成或者获取开始录制指令,以按照开始录制指令,对从起始时间点开始的直播视频流进行录制。
可选的,直播服务器可以通过如下两种方式生成或者获取开始录制指令并且对直播视频流进行录制:
1)直播服务器接收该主播终端基于该直播间在线直播的过程中发送的该开始录制指令,然后对该直播间的直播视频流中,从该起始时间点开始的视频流进行录制。
其中,主播终端一侧的主播在直播间进行直播的过程中,主播可以随时进行发送开始录制指令,对当前直播的视频内容进行开始录制。
可选的,在主播终端的显示界面上叠加有用于指示开始录制的控件,主播可以通过对该控件进行触发操作,向直播服务器发送开始录制指令。
比如,图4是本实施例涉及的一种主播终端界面示意图,如图4所示,在主播终端的直播界面上,叠加有开始录制控件和结束录制控件,当主播需要对当前直播的视频内容进行录制时,主播通过对开始录制控件进行触发,可以向直播服务器发送开始录制的指令,可以控制直播服务器对直播内容进行录制。
2)在该主播终端基于该直播间在线直播的过程中,直播服务器获取该直播间的直播视频流的弹幕信息,然后根据该弹幕信息生成该开始录制指令和该结束录制指令。
其中,该弹幕信息可以用于指示各个时间点上的弹幕数据的数量。
可选的,当第一时间点处的弹幕信息指示该直播间的直播视频流的弹幕数据的数量发生突升时,根据该第一时间点确定该起始时间点,生成包含该起始时间点的该开始录制指令。
其中,当主播进行直播时,观众终端一侧的用户可以通过终端输入弹幕数据发送给直播服务器,直播服务器可以将弹幕数据以及对应该主播终端对应的直播间的直播视频流,一起发送给流媒体CDN中,直播间中的各个终端(包括主播终端和观众终端)可以拉取到弹幕数据以及对应该主播终端对应的直播间的直播视频流,弹幕数据以及直播视频流由各个终端在对应的主播的直播间的显示界面上进行显示。
可选的,当弹幕数据发送给直播服务器后,由直播服务器收集分析同一时间该主播直播间收到的弹幕数据的数量,通过比对当前单位时间接收到的弹幕数据的数量与上一个单位时间接收到的弹幕数据的数量以及下一个单位时间接收到的弹幕数据的数量。直播服务器可以计算得到当前单位时刻的弹幕数据的数量变化率。
其中,当前单位时刻的弹幕数据的数量变化率可以用来指示当前单位时刻弹幕数据的数量相较于上一单位时刻弹幕数据的数量的变化情况。
可选的,当前单位时刻的弹幕数据的数量变化率可以通过如下公式进行计算:
可选的,当某一单位时刻,弹幕数据的数量变化率大于预定的阈值时,直播服务器选择当前单位时刻或者选择当前单位时刻的前至少一个单位时刻为起始时间点,然后生成开始录制指令。
比如,当主播进行直播时,在11点05分直播服务器接收到的来自观众终端一侧的用户发送的弹幕数据的数量为10条,当11点06分直播服务器接收到的弹幕数据的数量为40条,当11点07分直播服务器接收到的弹幕数据的数量为42条,通过将三个时刻的弹幕数据的数量进行对比分析,可以得到在11点06分的时刻,弹幕数据的数量突然增多,因此可以将11点06分的之前一段时间的时刻作为开始录制的起始时间点,并且直播服务器生成开始录制指令。比如,可以将11点05分作为起始时间点进行录制。
其中,对于单位时刻可以是任意一种时间单位,当然该时间单位越小,对于起始时间点的获取越精准。对于起始时间点设置在弹幕数据的数量突然增多的单位时刻的之前时刻,是因为直播服务器在接受分析弹幕数据以及生成开始录制指令的完整过程中,会存在一定时间的延迟,为了确保录制的视频中完整的包含了弹幕数据突然增多时刻的视频内容,可以提前录制一部分直播视频作为轮播视频流。
其中,在直播的过程中,当前时刻正在播出的视频内容以及当前时刻的往前一段时间的直播视频内容可以缓存在直播服务器中,当获取当前时刻的提前一段时间的时刻作为起始时间点时,录制之前一部分的直播视频可以通过调取直播过程中缓存的视频文件进行录制。
另外,通过弹幕数据的数量的方式可以自动地判断在直播过程中的精彩片段进行录制。精彩片段为观众用户关注讨论量大的部分直播视频。
在步骤302中,直播服务器获取结束录制指令,将该直播间的直播视频流中,从该起始时间点到该结束时间点之间录制的视频流存储为该轮播视频流。
其中,结束录制指令是可以用来指示对该直播间的直播视频流进行停止录制的结束时间点。
在一种可能的实现方式中,在主播终端基于直播间进行直播的过程中,直播服务器可以生成或者获取结束录制指令,以按照结束录制指令,对从起始时间点开始到结束时间点之间录制的直播视频流存储为轮播视频流。
可选的,直播服务器可以通过如下两种方式生成或者获取结束录制指令并且将录制的直播视频流存储为轮播视频流:
1)直播服务器接收该主播终端基于该直播间在线直播的过程中发送的该结束录制指令,或者,接收该主播终端在离线时发送的该结束录制指令。然后,将该直播间的直播视频流中,从该起始时间点到该结束时间点之间录制的视频流存储为该轮播视频流。
其中,主播终端一侧的主播在直播间进行直播的过程中,主播可以随时进行发送结束录制指令,对当前直播的视频内容进行结束录制。
可选的,在主播终端的显示界面上叠加有用于指示结束录制的控件,主播可以通过对该控件进行触发操作,向直播服务器发送结束录制指令。
比如,如图4所示,在主播终端的直播界面上,叠加有开始录制控件和结束录制控件,当主播需要对当前直播的视频内容进行结束录制时,主播通过对结束录制控件进行触发,可以向直播服务器发送结束录制的指令,可以控制直播服务器对直播内容进行结束录制,并且将录制的直播视频流存储为轮播视频流。
2)在该主播终端基于该直播间在线直播的过程中,直播服务器获取该直播间的直播视频流的弹幕信息,然后根据该弹幕信息生成该开始录制指令和该结束录制指令。
其中,该弹幕信息可以用于指示各个时间点上的弹幕数据的数量。
可选的,当该第一时间点之后的第二时间点处的弹幕信息指示该直播间的直播视频流的弹幕数据的数量发生突降时,根据该第二时间点确定该结束时间点,生成包含该结束时间点的该结束录制指令。
可选的,弹幕数据的数量发生突降可以通过计算弹幕数据的数量变化率进行判断,计算的过程如步骤301中所示。
其中,当某一单位时刻,弹幕数据的数量变化率小于预定的阈值时,直播服务器选择当前单位时刻或者选择当前单位时刻的后至少一个单位时刻为结束时间点,然后生成结束录制指令。
比如,当主播进行直播时,在11点05分直播服务器接收到的来自观众终端一侧的用户发送的弹幕数据的数量为10条,当11点06分直播服务器接收到的弹幕数据的数量为40条,当11点07分直播服务器接收到的弹幕数据的数量为42条,当11点08分直播服务器接收到的弹幕数据的数量为5条,当11点09分直播服务器接收到的弹幕数据的数量为7条,通过将11点08分前后三个时刻的弹幕数据的数量进行对比分析,可以得到在11点08分的时刻,弹幕数据的数量突然减少,因此可以将11点08分的之后一段时间的时刻作为停止录制的结束时间点,并且直播服务器生成结束录制指令。比如,可以将11点09分作为结束时间点进行结束录制,并将录制的直播视频流存储为轮播视频流。
其中,为了确保精彩片段全部进行了录制,需要延迟一段时间进行停止录制。
上述步骤301与步骤302中,直播服务器可以根据开始录制指令与结束录制指令,直接对直播服务器中缓存的视频流进行录制存储,无需通过主播终端获取视频流进行录制和存储。
在另一种可能的实现方式中,主播终端可以在获取到录制的起始时间点和结束时间点后,通过调取主播终端中缓存的视频流直接对视频流进行录制,当录制完成时,主播终端可以将录制的视频流发送给直播服务器进行存储。
在步骤303中,直播服务器获取直播间对应的轮播视频流播放指令。
在本公开实施例中,该轮播视频流播放指令是该直播间的主播终端离线时触发生成的指令。当主播终端离线时,主播终端生成轮播视频流播放指令发送给直播服务器。
其中,主播终端离线可以是主播关闭直播,或者因为网络问题直播间处于中断直播的状态。
可选的,主播可以设置是否开启轮播功能,当主播设置开启轮播功能时,并且主播终端离线时,直播服务器可以进行如下的步骤:
1)当该直播间的主播终端离线时,直播服务器获取该主播终端对应的主播标识。
可选的,主播标识可以为该主播以及直播间的基本信息,可以包括主播名称、直播内容分类、主播头像以及轮播的内容标题等。
其中,当该直播间的主播终端离线时,该主播终端将对应的主播标识发送给直播服务器,直播服务器将该主播标识添加到离线轮播的主播列表中,其中各个观众终端可以从直播服务器中获取离线轮播的主播列表。
2)直播服务器在离线轮播的主播列表中查询该主播标识。
其中,各个观众终端可以存在查询界面,各个观众终端一侧的用户可以通过在查询界面中输入需要获取的主播对应的主播标识作为查询信息,比如,主播名称、直播内容的分类等信息,各个观众终端可以发送查询信息给直播服务器,直播服务器可以查询到对应主播标识的离线轮播视频。
3)当该离线轮播的主播列表中包含该主播标识时,生成该直播间对应的轮播视频流播放指令。
其中,当直播服务器查询到存在对应主播标识的离线轮播视频时,直播服务器生成对应直播间的轮播视频流播放指令。
在步骤304中,直播服务器根据该轮播视频流播放指令,获取该直播间的轮播视频流。
可选的,该直播间的轮播视频流的顺序可以通过该直播间对应的主播进行自定义设置,或者,根据录制视频流的时间,按照时间的先后顺序进行排序。
在步骤305中,直播服务器向流媒体内容分发网络CDN推送该轮播视频流。
在本公开实施例中,直播服务器按照对应直播间的轮播视频流的顺序,向流媒体CDN中推送该轮播视频流。观众终端可以通过从直播服务器获取对应直播间的播放地址,根据播放地址从流媒体CDN中获取对应的直播间的轮播视频流进行播放。
其中,观众终端播放的轮播视频流按照该直播间的轮播视频流的顺序进行循环播放。
在步骤306中,直播服务器接收该观众终端在播放该轮播视频流的过程中上传的弹幕数据。
在本公开实施例中,轮播视频流在观众终端中播放时,观众终端一侧的用户可以通过输入弹幕数据发送给直播服务器。
在步骤307中,直播服务器将所述弹幕数据对应所述轮播视频流推送至所述流媒体CDN。
在本公开实施例中,直播服务器将该弹幕数据随着对应直播间的轮播视频流发送给流媒体CDN中,可以供各个观众终端获取。
其中,同一时刻播放同一直播间的轮播视频流的观众终端可以获取到同一条弹幕数据。
综上所述,本公开实施例中提供的视频流推送方法,通过获取直播间对应的轮播视频流播放指令,其中,轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令,然后,根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,其中轮播视频流是对所述直播间的直播视频流进行录制得到的,最后,向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。通过上述方案,可以通过将录制的轮播视频流推送到流媒体CDN中,从而使观众终端方便从流媒体CDN中直接拉取并播放视频流,解决了同一时刻不同观众终端无法获取同一视频内容并进行实时交流问题,提高了不同观众终端对离线视频的互动性。
图5是根据一示例性实施例示出的一种视频流推送装置的框图,如图5所示,该视频流推送装置可以通过硬件或者软硬结合的方式实现为直播服务器的全部或者部分,以执行图2或图3任一所示实施例所示的步骤。比如,该直播系统可以是图1所示的实施环境,该第一边缘计算设备可以是图1所示的边缘计算设备110中的任意一个,该主播终端可以是图1所示的主播终端110,该直播服务器可以是图1所示的直播服务器120,该观众终端可以是图1所示的观众终端130。该视频流推送装置可以包括:
播放指令获取模块510,用于获取直播间对应的轮播视频流播放指令,所述轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令;
视频流获取模块520,用于根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,所述轮播视频流是对所述直播间的直播视频流进行录制得到的;
视频流推送模块530,用于向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。
可选的,所述装置还包括:
开始指令获取模块,用于获取直播间对应的轮播视频流播放指令之前,获取开始录制指令,所述开始录制指令用于指示对所述直播间的直播视频流进行录制的起始时间点;
录制模块,用于对所述直播间的直播视频流中,从所述起始时间点开始的视频流进行录制;
结束指令获取模块,用于获取结束录制指令,所述结束录制指令用于指示对所述直播间的直播视频流进行录制的结束时间点;
视频流存储模块,用于将所述直播间的直播视频流中,从所述起始时间点到所述结束时间点之间录制的视频流存储为所述轮播视频流。
可选的,所述开始指令获取模块,包括:
开始指令接收子模块,用于接收所述主播终端基于所述直播间在线直播的过程中发送的所述开始录制指令;
所述结束指令获取模块,包括:
结束指令接收子模块,用于接收所述主播终端基于所述直播间在线直播的过程中发送的所述结束录制指令;或者,接收所述主播终端在离线时发送的所述结束录制指令。
可选的,所述装置还包括:
弹幕获取模块,用于在所述主播终端基于所述直播间在线直播的过程中,获取所述直播间的直播视频流的弹幕信息,所述弹幕信息用于指示各个时间点上的弹幕数据的数量;
指令生成模块,用于根据所述弹幕信息生成所述开始录制指令和所述结束录制指令。
可选的,所述指令生成模块,包括:
起始确定子模块,用于当第一时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突升时,根据所述第一时间点确定所述起始时间点;
开始指令生成子模块,用于生成包含所述起始时间点的所述开始录制指令;
结束确定子模块,用于当所述第一时间点之后的第二时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突降时,根据所述第二时间点确定所述结束时间点;
结束指令生成子模块,用于生成包含所述结束时间点的所述结束录制指令。
可选的,所述播放指令获取模块510,包括:
标识获取子模块,用于当所述直播间的主播终端离线时,获取所述主播终端对应的主播标识;
标识查询子模块,用于在离线轮播的主播列表中查询所述主播标识;
轮播指令生成子模块,用于当所述离线轮播的主播列表中包含所述主播标识时,生成所述直播间对应的轮播视频流播放指令。
可选的,所述装置还包括:
弹幕接收模块,用于接收所述观众终端在播放所述轮播视频流的过程中上传的弹幕数据;
弹幕推送模块,用于将所述弹幕数据对应所述轮播视频流推送至所述流媒体CDN。
需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开一示例性实施例提供了一种视频流推送装置,该视频流推送装置可以通过硬件或者软硬结合的方式实现为直播服务器的全部或者部分,以执行图2或图3任一所示实施例所示的步骤。比如,该直播系统可以是图1所示的实施环境,该第一边缘计算设备可以是图1所示的边缘计算设备110中的任意一个,该主播终端可以是图1所示的主播终端110,该直播服务器可以是图1所示的直播服务器120,该观众终端可以是图1所示的观众终端130。该视频流推送装置还包括:处理器、用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
获取直播间对应的轮播视频流播放指令,所述轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令;
根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,所述轮播视频流是对所述直播间的直播视频流进行录制得到的;
向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。
可选的,所述获取直播间对应的轮播视频流播放指令之前,还包括:
获取开始录制指令,所述开始录制指令用于指示对所述直播间的直播视频流进行录制的起始时间点;
对所述直播间的直播视频流中,从所述起始时间点开始的视频流进行录制;
获取结束录制指令,所述结束录制指令用于指示对所述直播间的直播视频流进行录制的结束时间点;
将所述直播间的直播视频流中,从所述起始时间点到所述结束时间点之间录制的视频流存储为所述轮播视频流。
可选的,所述获取开始录制指令,包括:
接收所述主播终端基于所述直播间在线直播的过程中发送的所述开始录制指令;
所述获取结束录制指令,包括:
接收所述主播终端基于所述直播间在线直播的过程中发送的所述结束录制指令;或者,接收所述主播终端在离线时发送的所述结束录制指令。
可选的,所述方法还包括:
在所述主播终端基于所述直播间在线直播的过程中,获取所述直播间的直播视频流的弹幕信息,所述弹幕信息用于指示各个时间点上的弹幕数据的数量;
根据所述弹幕信息生成所述开始录制指令和所述结束录制指令。
可选的,所述根据所述弹幕信息生成所述录制指令,包括:
当第一时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突升时,根据所述第一时间点确定所述起始时间点;
生成包含所述起始时间点的所述开始录制指令;
当所述第一时间点之后的第二时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突降时,根据所述第二时间点确定所述结束时间点;
生成包含所述结束时间点的所述结束录制指令。
可选的,所述获取直播间对应的轮播视频流播放指令,包括:
当所述直播间的主播终端离线时,获取所述主播终端对应的主播标识;
在离线轮播的主播列表中查询所述主播标识;
当所述离线轮播的主播列表中包含所述主播标识时,生成所述直播间对应的轮播视频流播放指令。
可选的,所述方法还包括:
接收所述观众终端在播放所述轮播视频流的过程中上传的弹幕数据;
将所述弹幕数据对应所述轮播视频流推送至所述流媒体CDN。
图6是根据一示例性实施例示出的一种终端600的结构框图。该终端600可以是图1所示系统中的主播终端110或者观众终端130。
通常,终端600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(ProgrammableLogic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本公开中方法实施例提供的视频流推送方法。
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏605用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开实施例还提供一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并实现上述如图2或图3所述的视频流推送方法。
本公开实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图2或图3所述的视频流推送方法。
本公开还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的视频流推送方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图2或图3所述的视频流推送方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (16)
1.一种视频流推送方法,其特征在于,所述方法由直播系统中的直播服务器执行,所述方法包括:
获取直播间对应的轮播视频流播放指令,所述轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令;
根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,所述轮播视频流是对所述直播间的直播视频流进行录制得到的;
向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。
2.根据权利要求1所述的方法,其特征在于,所述获取直播间对应的轮播视频流播放指令之前,还包括:
获取开始录制指令,所述开始录制指令用于指示对所述直播间的直播视频流进行录制的起始时间点;
对所述直播间的直播视频流中,从所述起始时间点开始的视频流进行录制;
获取结束录制指令,所述结束录制指令用于指示对所述直播间的直播视频流进行录制的结束时间点;
将所述直播间的直播视频流中,从所述起始时间点到所述结束时间点之间录制的视频流存储为所述轮播视频流。
3.根据权利要求2所述的方法,其特征在于,
所述获取开始录制指令,包括:
接收所述主播终端基于所述直播间在线直播的过程中发送的所述开始录制指令;
所述获取结束录制指令,包括:
接收所述主播终端基于所述直播间在线直播的过程中发送的所述结束录制指令;或者,接收所述主播终端在离线时发送的所述结束录制指令。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述主播终端基于所述直播间在线直播的过程中,获取所述直播间的直播视频流的弹幕信息,所述弹幕信息用于指示各个时间点上的弹幕数据的数量;
根据所述弹幕信息生成所述开始录制指令和所述结束录制指令。
5.根据权利要求4所述的方法,其特征在于,所述根据所述弹幕信息生成所述录制指令,包括:
当第一时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突升时,根据所述第一时间点确定所述起始时间点;
生成包含所述起始时间点的所述开始录制指令;
当所述第一时间点之后的第二时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突降时,根据所述第二时间点确定所述结束时间点;
生成包含所述结束时间点的所述结束录制指令。
6.根据权利要求1所述的方法,其特征在于,所述获取直播间对应的轮播视频流播放指令,包括:
当所述直播间的主播终端离线时,获取所述主播终端对应的主播标识;
在离线轮播的主播列表中查询所述主播标识;
当所述离线轮播的主播列表中包含所述主播标识时,生成所述直播间对应的轮播视频流播放指令。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述观众终端在播放所述轮播视频流的过程中上传的弹幕数据;
将所述弹幕数据对应所述轮播视频流推送至所述流媒体CDN。
8.一种视频流推送装置,其特征在于,所述装置用于直播系统中的直播服务器中,所述装置包括:
播放指令获取模块,用于获取直播间对应的轮播视频流播放指令,所述轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令;
视频流获取模块,用于根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,所述轮播视频流是对所述直播间的直播视频流进行录制得到的;
视频流推送模块,用于向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
开始指令获取模块,用于获取直播间对应的轮播视频流播放指令之前,获取开始录制指令,所述开始录制指令用于指示对所述直播间的直播视频流进行录制的起始时间点;
录制模块,用于对所述直播间的直播视频流中,从所述起始时间点开始的视频流进行录制;
结束指令获取模块,用于获取结束录制指令,所述结束录制指令用于指示对所述直播间的直播视频流进行录制的结束时间点;
视频流存储模块,用于将所述直播间的直播视频流中,从所述起始时间点到所述结束时间点之间录制的视频流存储为所述轮播视频流。
10.根据权利要求9所述的装置,其特征在于,
所述开始指令获取模块,包括:
开始指令接收子模块,用于接收所述主播终端基于所述直播间在线直播的过程中发送的所述开始录制指令;
所述结束指令获取模块,包括:
结束指令接收子模块,用于接收所述主播终端基于所述直播间在线直播的过程中发送的所述结束录制指令;或者,接收所述主播终端在离线时发送的所述结束录制指令。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
弹幕获取模块,用于在所述主播终端基于所述直播间在线直播的过程中,获取所述直播间的直播视频流的弹幕信息,所述弹幕信息用于指示各个时间点上的弹幕数据的数量;
指令生成模块,用于根据所述弹幕信息生成所述开始录制指令和所述结束录制指令。
12.根据权利要求11所述的装置,其特征在于,所述指令生成模块,包括:
起始确定子模块,用于当第一时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突升时,根据所述第一时间点确定所述起始时间点;
开始指令生成子模块,用于生成包含所述起始时间点的所述开始录制指令;
结束确定子模块,用于当所述第一时间点之后的第二时间点处的弹幕信息指示所述直播间的直播视频流的弹幕数据的数量发生突降时,根据所述第二时间点确定所述结束时间点;
结束指令生成子模块,用于生成包含所述结束时间点的所述结束录制指令。
13.根据权利要求8所述的装置,其特征在于,所述播放指令获取模块,包括:
标识获取子模块,用于当所述直播间的主播终端离线时,获取所述主播终端对应的主播标识;
标识查询子模块,用于在离线轮播的主播列表中查询所述主播标识;
轮播指令生成子模块,用于当所述离线轮播的主播列表中包含所述主播标识时,生成所述直播间对应的轮播视频流播放指令。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
弹幕接收模块,用于接收所述观众终端在播放所述轮播视频流的过程中上传的弹幕数据;
弹幕推送模块,用于将所述弹幕数据对应所述轮播视频流推送至所述流媒体CDN。
15.一种视频流推送装置,其特征在于,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
获取直播间对应的轮播视频流播放指令,所述轮播视频流播放指令是所述直播间的主播终端离线时触发生成的指令;
根据所述轮播视频流播放指令,获取所述直播间的轮播视频流,所述轮播视频流是对所述直播间的直播视频流进行录制得到的;
向流媒体内容分发网络CDN推送所述轮播视频流,以便所述直播系统中的观众终端从所述流媒体CDN拉取并播放所述轮播视频流。
16.一种计算机设备可读存储介质,其特征在于,所述计算机设备可读存储介质中包含可执行指令,所述可执行指令由处理器调用执行,以实现上述权利要求1至8任一所述的视频流推送的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911298547.3A CN110958465A (zh) | 2019-12-17 | 2019-12-17 | 视频流推送方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911298547.3A CN110958465A (zh) | 2019-12-17 | 2019-12-17 | 视频流推送方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110958465A true CN110958465A (zh) | 2020-04-03 |
Family
ID=69982314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911298547.3A Pending CN110958465A (zh) | 2019-12-17 | 2019-12-17 | 视频流推送方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110958465A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112218127A (zh) * | 2020-10-16 | 2021-01-12 | 广州华多网络科技有限公司 | 虚拟直播方法、装置、设备及存储介质 |
CN112235593A (zh) * | 2020-10-16 | 2021-01-15 | 广州博冠信息科技有限公司 | 直播处理方法及装置、电子设备和计算机可读存储介质 |
CN112887747A (zh) * | 2021-01-25 | 2021-06-01 | 百果园技术(新加坡)有限公司 | 直播间控制方法、装置及电子设备 |
CN113038237A (zh) * | 2021-03-17 | 2021-06-25 | 百度(中国)有限公司 | 直播信息处理方法、装置、设备及存储介质 |
CN113068059A (zh) * | 2021-03-22 | 2021-07-02 | 平安普惠企业管理有限公司 | 视频直播方法、装置、设备及存储介质 |
CN114710685A (zh) * | 2022-03-14 | 2022-07-05 | 秦皇岛泰和安科技有限公司 | 视频流的处理方法、装置、终端设备及存储介质 |
CN114760485A (zh) * | 2021-01-08 | 2022-07-15 | 武汉斗鱼网络科技有限公司 | 视频轮播方法、系统及相关设备 |
CN115119005A (zh) * | 2022-06-17 | 2022-09-27 | 广州方硅信息技术有限公司 | 轮播频道直播间的录播方法、服务器及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106604127A (zh) * | 2016-12-26 | 2017-04-26 | 乐蜜科技有限公司 | 多媒体信息分享方法、装置和终端设备 |
CN107743244A (zh) * | 2017-10-27 | 2018-02-27 | 北京小米移动软件有限公司 | 视频直播方法及装置 |
CN108055245A (zh) * | 2017-11-28 | 2018-05-18 | 北京潘达互娱科技有限公司 | 网络视频直播方法、装置、电子设备和计算机存储介质 |
CN108174233A (zh) * | 2018-01-08 | 2018-06-15 | 武汉斗鱼网络科技有限公司 | 一种直播方法、装置、服务器及介质 |
CN108900855A (zh) * | 2018-07-12 | 2018-11-27 | 腾讯科技(深圳)有限公司 | 直播内容录制方法及装置 |
US20180359517A1 (en) * | 2017-06-08 | 2018-12-13 | Layer3 TV, Inc. | Capturing border metadata while recording content |
CN109089127A (zh) * | 2018-07-10 | 2018-12-25 | 武汉斗鱼网络科技有限公司 | 一种视频拼接方法、装置、设备及介质 |
CN109089154A (zh) * | 2018-07-10 | 2018-12-25 | 武汉斗鱼网络科技有限公司 | 一种视频提取方法、装置、设备及介质 |
CN109120965A (zh) * | 2018-09-30 | 2019-01-01 | 武汉斗鱼网络科技有限公司 | 视频直播切换方法、装置、计算机设备以及存储介质 |
CN109274982A (zh) * | 2018-09-30 | 2019-01-25 | 武汉斗鱼网络科技有限公司 | 视频轮播方法、装置、计算机设备以及存储介质 |
-
2019
- 2019-12-17 CN CN201911298547.3A patent/CN110958465A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106604127A (zh) * | 2016-12-26 | 2017-04-26 | 乐蜜科技有限公司 | 多媒体信息分享方法、装置和终端设备 |
US20180359517A1 (en) * | 2017-06-08 | 2018-12-13 | Layer3 TV, Inc. | Capturing border metadata while recording content |
CN107743244A (zh) * | 2017-10-27 | 2018-02-27 | 北京小米移动软件有限公司 | 视频直播方法及装置 |
CN108055245A (zh) * | 2017-11-28 | 2018-05-18 | 北京潘达互娱科技有限公司 | 网络视频直播方法、装置、电子设备和计算机存储介质 |
CN108174233A (zh) * | 2018-01-08 | 2018-06-15 | 武汉斗鱼网络科技有限公司 | 一种直播方法、装置、服务器及介质 |
CN109089127A (zh) * | 2018-07-10 | 2018-12-25 | 武汉斗鱼网络科技有限公司 | 一种视频拼接方法、装置、设备及介质 |
CN109089154A (zh) * | 2018-07-10 | 2018-12-25 | 武汉斗鱼网络科技有限公司 | 一种视频提取方法、装置、设备及介质 |
CN108900855A (zh) * | 2018-07-12 | 2018-11-27 | 腾讯科技(深圳)有限公司 | 直播内容录制方法及装置 |
CN109120965A (zh) * | 2018-09-30 | 2019-01-01 | 武汉斗鱼网络科技有限公司 | 视频直播切换方法、装置、计算机设备以及存储介质 |
CN109274982A (zh) * | 2018-09-30 | 2019-01-25 | 武汉斗鱼网络科技有限公司 | 视频轮播方法、装置、计算机设备以及存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112218127A (zh) * | 2020-10-16 | 2021-01-12 | 广州华多网络科技有限公司 | 虚拟直播方法、装置、设备及存储介质 |
CN112235593A (zh) * | 2020-10-16 | 2021-01-15 | 广州博冠信息科技有限公司 | 直播处理方法及装置、电子设备和计算机可读存储介质 |
US11800165B2 (en) | 2020-10-16 | 2023-10-24 | Guangzhou Huaduo Network Technology Co., Ltd. | Virtual live streaming method and apparatus, device and storage medium |
WO2022077881A1 (zh) * | 2020-10-16 | 2022-04-21 | 广州华多网络科技有限公司 | 虚拟直播方法、装置、设备及存储介质 |
CN114760485B (zh) * | 2021-01-08 | 2023-09-26 | 深圳市酷看文化传播有限公司 | 视频轮播方法、系统及相关设备 |
CN114760485A (zh) * | 2021-01-08 | 2022-07-15 | 武汉斗鱼网络科技有限公司 | 视频轮播方法、系统及相关设备 |
CN112887747A (zh) * | 2021-01-25 | 2021-06-01 | 百果园技术(新加坡)有限公司 | 直播间控制方法、装置及电子设备 |
CN112887747B (zh) * | 2021-01-25 | 2023-09-12 | 百果园技术(新加坡)有限公司 | 直播间控制方法、装置及电子设备 |
CN113038237A (zh) * | 2021-03-17 | 2021-06-25 | 百度(中国)有限公司 | 直播信息处理方法、装置、设备及存储介质 |
CN113068059B (zh) * | 2021-03-22 | 2022-12-13 | 平安普惠企业管理有限公司 | 视频直播方法、装置、设备及存储介质 |
CN113068059A (zh) * | 2021-03-22 | 2021-07-02 | 平安普惠企业管理有限公司 | 视频直播方法、装置、设备及存储介质 |
CN114710685A (zh) * | 2022-03-14 | 2022-07-05 | 秦皇岛泰和安科技有限公司 | 视频流的处理方法、装置、终端设备及存储介质 |
CN114710685B (zh) * | 2022-03-14 | 2023-12-05 | 秦皇岛泰和安科技有限公司 | 视频流的处理方法、装置、终端设备及存储介质 |
CN115119005A (zh) * | 2022-06-17 | 2022-09-27 | 广州方硅信息技术有限公司 | 轮播频道直播间的录播方法、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965980B (zh) | 推荐内容显示方法、装置、终端及存储介质 | |
CN110267055B (zh) | 推荐直播间的方法、装置和系统以及服务器、终端和介质 | |
CN110267067B (zh) | 直播间推荐的方法、装置、设备及存储介质 | |
CN109600678B (zh) | 信息展示方法、装置及系统、服务器、终端、存储介质 | |
CN110958465A (zh) | 视频流推送方法、装置及存储介质 | |
CN111147878B (zh) | 直播中的推流方法、装置及计算机存储介质 | |
CN108401124B (zh) | 视频录制的方法和装置 | |
CN110572711B (zh) | 视频封面生成方法、装置、计算机设备及存储介质 | |
CN108737897B (zh) | 视频播放方法、装置、设备及存储介质 | |
CN111093108B (zh) | 音画同步判断方法、装置、终端及计算机可读存储介质 | |
CN109874043B (zh) | 视频流发送方法、播放方法及装置 | |
CN111327953B (zh) | 直播投票方法及装置、存储介质 | |
CN111107389B (zh) | 确定观看直播时长的方法、装置和系统 | |
CN112118477B (zh) | 虚拟礼物展示方法、装置、设备以及存储介质 | |
CN110139143B (zh) | 虚拟物品显示方法、装置、计算机设备以及存储介质 | |
CN110533585B (zh) | 一种图像换脸的方法、装置、系统、设备和存储介质 | |
CN113411680B (zh) | 多媒体资源播放方法、装置、终端及存储介质 | |
CN110933468A (zh) | 播放方法、装置、电子设备及介质 | |
CN109618192B (zh) | 播放视频的方法、装置、系统和存储介质 | |
CN111741366A (zh) | 音频播放方法、装置、终端及存储介质 | |
CN111246236A (zh) | 互动数据播放方法、装置、终端、服务器及存储介质 | |
CN111669640B (zh) | 虚拟物品转移特效的显示方法、装置、终端及存储介质 | |
CN111083526B (zh) | 视频转场方法、装置、计算机设备及存储介质 | |
CN111083513B (zh) | 直播画面处理方法、装置、终端及计算机可读存储介质 | |
CN111818358A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200403 |
|
RJ01 | Rejection of invention patent application after publication |