CN114040215B - 直播流切换方法、装置、计算机设备和存储介质 - Google Patents
直播流切换方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114040215B CN114040215B CN202111233008.9A CN202111233008A CN114040215B CN 114040215 B CN114040215 B CN 114040215B CN 202111233008 A CN202111233008 A CN 202111233008A CN 114040215 B CN114040215 B CN 114040215B
- Authority
- CN
- China
- Prior art keywords
- stream
- live
- time
- live stream
- playing
- 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 61
- 238000004590 computer program Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000004458 analytical method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised 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/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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26283—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for associating distribution time parameters to content, e.g. to generate electronic program guide data
-
- 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/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种直播流切换方法、装置、计算机设备和存储介质。所述方法包括:获取多路直播流的直播地址列表;通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流;在播放界面播放当前直播流;当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取下一路直播流;当当前直播流的播放时间达到预设切换时间时,返回在播放界面播放下一路直播流。本方法通过播放终端的第一下载接口拉取当前直播流进行播放,并在预设唤醒时间内通过第二下载接口预先获取下一路直播流,在预设切换时间将当前直播流切换为下一路直播流,在播放终端完成直播流的切换以及混流,减少了云端服务器资源的消耗。
Description
技术领域
本申请涉及自动导播技术领域,特别是涉及一种直播流切换方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术和网络技术的成熟发展,软件产品占据了我国信息化市场大部分份额,传统产品不断趋向软件应用化。导播行业也经历了从“室内导播”到“集成化导播车”再到“轻量级导播”的发展阶段。在现阶段的直播的过程中,通常会涉及多个直播场景的同步直播,例如大型会场现场直播或者景区直播,都需要将多个视角的直播视频通过导播控制进行切换。
目前的直播切换方法通常是在云端实现直播流的切换,然而在云端或者服务器端的切换需要具备专用的显卡硬件设施提供强大的算力才能实现,资源消耗大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低服务器端资源消耗的直播流切换方法、装置、计算机设备和存储介质。
第一方面,提供了一种直播切换方法,该方法包括:
获取多路直播流的直播地址列表;
通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流;
在播放界面播放当前直播流;
当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;
当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。
在一个可选的实施例中,返回在播放界面播放当前直播流的步骤之后,还包括:将第一下载接口设置为第二下载接口,将第二下载接口设置为第一下载接口。
在一个可选的实施例中,预设唤醒时间的计算方法包括:获取当前网络传输速率;根据当前网络传输速率计算当前拉流时间;若当前拉流时间大于或者等于预设切换时间减去当前的拉流时间的差值,则预设唤醒时间不作调整;若当前拉流时间小于预设切换时间减去当前的拉流时间的差值,则根据预设切换时间减去当前拉流时间的差值调整预设唤醒时间。
在一个可选的实施例中,该方法还包括:当下一路直播流地址失效时,从直播地址列表中删除下一路直播流地址。
在一个可选的实施例中,该方法还包括:响应用户对播放界面的切换操作,根据切换操作切换直播流。
在一个可选的实施例中,根据切换操作切换直播流包括:当切换操作为第一切换操作时,将当前直播流切换为下一路直播流;当切换操作为第二切换操作时,将当前直播流切换为上一路直播流。
在一个可选的实施例中,该方法还包括:响应于用户对播放界面的标记操作,停止当前直播流的播放时间计时;当检测到用户对播放界面的取消标记操作,开始当前直播流的播放时间计时。
第二方面,提供了一种直播流切换装置,该装置包括:
获取模块,用于获取多路直播流的直播地址列表;
拉流模块,用于通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流;
播放模块,用于在播放界面播放当前直播流;
预拉流模块,用于当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;
切换模块,用于当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回播放模块,在播放界面播放当前直播流。
第三方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行所述计算机程序时实现以下步骤:
获取多路直播流的直播地址列表;
通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流;
在播放界面播放当前直播流;
当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;
当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取多路直播流的直播地址列表;
通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流;
在播放界面播放当前直播流;
当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;
当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。
上述直播流切换方法、装置、计算机设备和存储介质,获取多路直播流的直播地址列表;通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流;在播放界面播放当前直播流;当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。本方法通过播放终端的第一下载接口拉取当前直播流进行播放,并在预设唤醒时间内通过第二下载接口预先获取下一路直播流,在预设切换时间将当前直播流切换为下一路直播流进行播放,在播放终端完成直播流的切换以及混流,减少了云端服务器资源的消耗。
附图说明
图1为一个实施例中直播流切换方法的应用环境图;
图2为一个实施例中直播流切换方法的流程示意图;
图3为一个实施例中直播流切换的完整流程图;
图4为一个实施例中直播切换装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
多路直播流/视频流的混流一般在服务器端实现,需要具备专用的显卡硬件设施提供强大的算力才能实现,在存在大量的推流情况下,只要有一个人观看的情况下,都需要混流,消耗云端服务器资源,在处理上千路的直播流的混流情况时对算力有相当高的要求。
本申请提供的直播流切换方法,可以应用于如图1所示的应用环境中。其中,播放终端102通过网络与视频服务器104进行通信。播放终端102从视频服务器104中获取直播地址列表,根据直播地址列表中的地址进行拉流,并在播放终端实现直播流的播放与控制。其中,播放终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,视频服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种直播流切换方法,以该方法应用于图1中的播放终端为例进行说明,包括以下步骤:
步骤202,获取多路直播流的直播地址列表。
其中,直播地址列表储存了多个直播地址,直播地址是主播将本地视频源和音频源推送到视频服务器后生成的直播URL地址。例如,多会场直播或者景区直播时,主播将不同会场或者景点的实时视频源和音频源推送到视频服务器,视频服务器将这多个会场或者景点的直播地址组成直播地址列表。
具体地,播放终端从视频服务器上获取直播地址列表,以使在直播流切换的过程中,播放终端直接从获取到的直播地址列表中的直播地址去拉取视频流进行切换,减少对视频服务器的请求,节约视频服务器资源,同时节约切换时间。
步骤204,通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流。
具体地,播放终端设置了两个下载接口负责拉流与视频码流解码,即设置两个下载接口实现直播流切换与播放。其中,拉流,即直播播放,在实现直播推流之后,用指定地址将视频服务器中的视频源和音频源拉取播放的过程,其视频源是实时生成的,一旦主播停播,直播URL地址随之失效。因为直播是实时的,所以播放终端(即播放器)在播直播视频没有进度条。
播放终端通过第一下载接口获取直播地址列表中第一路直播流地址,根据第一路直播流地址拉取第一路直播流数据并解析视频码流数据,将解析得到的视频码流数据作为当前直播流。
步骤206,在播放界面播放当前直播流。
具体地,播放终端通过第一下载接口将当前直播流传输并连接到播放界面(即播放渲染层)后,在播放界面播放当前直播流。
播放终端通过软件技术实时混流,不影响推流端。对推流端的视频流格式不做要求。只有当用户观看时才混流,降低资源消耗。
步骤208,当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流。
其中,预设唤醒时间是基于当前网络速率计算得到的,网络传输速率越快,预设唤醒时间越接近预设切换时间。
具体地,当当前直播流的播放时间达到预设唤醒时间时,通过第二路下载接口获取直播地址列表中第一路直播流地址的下一路直播流地址,根据下一路直播流地址拉取下一路直播流数据并解析视频码流数据,当解析得到下一路直播流的第一帧视频帧时,第二下载接口停止解析,将解析得到的下一路直播流的第一帧视频帧数据存储在播放终端的缓存中。
步骤210,当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。
具体地,当当前直播流的播放时间达到预设切换时间时,从缓存中获取下一路直播流的第一帧视频帧,并通过第二下载接口继续解析下一路直播流的视频码流数据,将解析得到的视频码流数据作为当前直播流,将当前直播流传输并连接到播放界面(即播放渲染层)进行直播播放。
上述直播流切换方法中,获取多路直播流的直播地址列表;通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流,在播放界面播放当前直播流;当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。本方法通过播放终端的第一下载接口拉取当前直播流进行播放,并在预设唤醒时间内通过第二下载接口预先获取下一路直播流,在预设切换时间将当前直播流切换为下一路直播流进行播放,在播放终端完成直播流的切换以及混流,减少了云端服务器资源的消耗。
在一个可选的实施例中,返回在播放界面播放当前直播流的步骤之后,还包括:将第一下载接口设置为第二下载接口,将第二下载接口设置为第一下载接口。
具体地,连接播放界面的下载接口处于工作状态,未进行下一路直播流预拉流的下载接口处于空闲状态。连接在播放界面的下载接口始终处于工作状态,为第一下载接口,进行预拉流的下载接口处于空闲状态,为第二下载接口。
当第二下载接口连接到播放界面进行直播播放时,此时的第二下载接口处于工作状态,第一下载接口处于空闲状态,将第二下载接口设置为第一下载接口进行直播播放,将第一下载接口设置为第二下载接口,同时释放相关拉流解码等操作,进入空闲状态,返回当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流。通过两个下载接口循环执行拉流与预拉流,实现多路直播流导播的无缝切换与播放。
本实施例中,将混流的动作分布在播放终端上,只对直播地址列表中用户观看的多路直播流进行本地实时混流,无须在视频服务器端进行混流,减少了视频服务器资源的消耗。
在一个可选的实施例中,预设唤醒时间的计算过程包括:获取当前网络传输速率;根据当前网络传输速率计算当前拉流时间;若当前拉流时间大于或者等于预设切换时间减去当前拉流时间的差值,则预设唤醒时间不作调整;若当前拉流时间小于预设切换时间减去当前拉流时间的差值,则根据预设切换时间减去当前拉流时间的差值调整预设唤醒时间。
具体地,播放终端存储了直播流的平均拉流时间、平均网络传输速率以及网络传输速率与拉流时间之间的线性关系函数,播放终端实时获取当前网络传输速率,将当前网络传输速率输入网络传输速率与拉流时间之间的线性关系函数中,得到预估的当前的拉流时间,若当前拉流时间大于或者等于预设切换时间减去当前拉流时间的差值,则预设唤醒时间不作调整。若当前拉流时间小于预设切换时间减去当前拉流时间的差值,则根据预设切换时间减去当前拉流时间的差值调整预设唤醒时间。预设唤醒时间还可以根据用户的网络类型来调整,例如获取用户当前是wifi还是流量上网,当平均拉流时间小于预设唤醒时间时,在wifi上网条件下将预设唤醒时间设置为预设切换时间的一半,在流量上网条件下将预设唤醒时间设置为预设切换时间的三分之一,可以有效节省用户在流量上网条件下第二下载接口对下一路直播流的预拉流过程的流量,同时保证无缝切换。
本实施例中,使用单个播放器进行最小化的预加载拉流,实现无缝切换效果,同时,节省播放端的流量和电量。
在一个可选的实施例中,该方法还包括:当下一路直播流地址失效时,从直播地址列表中删除下一路直播流地址。
具体地,当当前直播流的播放时间达到预设唤醒时间时,第二下载接口对下一路直播流进行预拉流时,检测到下一路直播流的直播地址失效,则从直播地址列表中删除下一路直播流地址,,从直播地址列表中拉取下一路直播流地址的下一路直播流地址对应的直播流。例如,目前直播地址列表中有a、b、c、d四个直播地址,当前正在播放a直播流,第二下载接口对b直播流进行拉取时检测到b直播地址失效,则跳过b直播流,拉取c直播流。
本实施例中,通过第二下载接口对下一路直播流地址的有效性进行检测,检测到直播流是断流状态时,将下一路直播流从第一步获取的列表里删除,防止下次循环时再次检测,保证了导播过程的流畅性,降低了直播故障率。
在一个可选的实施例中,该方法还包括:响应用户对播放界面的切换操作,根据切换操作切换直播流。
其中,切换操作可以为滑动操作,也可以为在预设切换区域的点击操作,本申请实施例在此不作限定。
具体地,在播放界面提供切换区域,以使用户根据喜好对直播流进行切换,及时响应用户需求。
在一个可选的实施例中,根据切换操作切换直播流包括:当切换操作为第一切换操作时,将当前直播流切换为下一路直播流;当切换操作为第二切换操作时,将当前直播流切换为上一路直播流。
具体地,播放终端检测到用户对播放界面的第一切换操作时,通过第二下载接口拉取下一路直播流,将当前直播流切换为下一路直播流;终端检测到用户对播放界面的第二切换操作时,通过第二下载接口拉取上一路直播流,将当前直播流切换为上一路直播流。
在本实施例的一种可能的实现方式中,切换操作为滑动操作,左滑为第一切换操作,右滑为第一切换操作。播放终端检测到用户对播放界面的滑动操作为左滑时,通过第二下载接口拉取下一路直播流,将当前直播流切换为下一路直播流;播放终端检测到用户对播放界面的滑动操作为右滑时,通过第二下载接口拉取上一路直播流,将当前直播流切换为上一路直播流。
在本实施例的另一种可能的实现方式中,切换操作为点击操作,在播放界面的右侧预设切换区域点击为第一切换操作,在播放界面的左侧预设切换区域点击为第二切换操作。播放终端检测到用户对播放界面右侧预设切换区域的点击操作时,通过第二下载接口拉取下一路直播流,将当前直播流切换为下一路直播流;播放终端检测到用户对播放界面左侧预设切换区域的点击操作时,通过第二下载接口拉取上一路直播流,将当前直播流切换为上一路直播流。
在一个可选的实施例中,该方法还包括:响应于用户对播放界面的标记操作,停止当前直播流的播放时间计时;当检测到用户对播放界面的取消标记操作,开始当前直播流的播放时间计时。
具体地,在导播端的播放界面提供导播控制控件,以使导播根据用户喜好对直播流的切换进行控制。播放终端检测到用户对导播控制控件的标记操作后,即,表明用户对当前直播流的喜好程度较高,停止当前直播流的播放时间计时,第二下载接口始终处于空闲状态,停止下一路直播流的预拉流,在播放界面一直播放当前直播流。播放终端检测到用户对导播控制控件的取消标记操作后,恢复当前直播流的播放计时,当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流,继续进行直播流的导播切换。
为了易于理解本申请实施例提供的技术方案,如图3所示,以完整的直播流切换过程对本申请实施例提供的直播流切换方法进行简要说明:
(1)获取多路直播流的直播地址列表。
(2)通过第一下载接口拉(即图3中主下载器)取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流,在播放界面播放当前直播流。
(3)当当前直播流的播放时间达到预设唤醒时间(即图3中的预加载唤醒时间M)时,通过第二下载接口(即副下载器)拉取直播地址列表中下一路直播流地址对应的下一路直播流。
(4)当当前直播流的播放时间达到预设切换时间(即切换时间T)时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。
(5)将第一下载接口设置为第二下载接口,将第二下载接口设置为第一下载接口(即,交换主下载器和副下载器身份),循环实现自动导播切换。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种直播流切换装置,包括:获取模块402、拉流模块404、播放模块406、预拉流模块408和切换模块410,其中:
获取模块402,用于获取多路直播流的直播地址列表。
拉流模块404,用于通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流。
播放模块406,用于在播放界面播放当前直播流。
预拉流模块408,用于当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流。
切换模块410,用于当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回播放模块406,用于在播放界面播放当前直播流。
在一个可选的实施例中,切换模块408还用于将第一下载接口设置为第二下载接口,将第二下载接口设置为第一下载接口。
在一个可选的实施例中,预拉流模块406还用于获取当前网络传输速率;根据当前网络传输速率计算当前拉流时间;若当前拉流时间大于或者等于预设切换时间减去当前的拉流时间的差值,则预设唤醒时间不作调整;若当前拉流时间小于预设切换时间减去当前的拉流时间的差值,则根据预设切换时间减去当前拉流时间的差值调整预设唤醒时间。
在一个可选的实施例中,预拉流模块406还用于当下一路直播流地址失效时,从直播地址列表中删除下一路直播流地址。
在一个可选的实施例中,切换模块408还用于响应用户对播放界面的切换操作,根据切换操作切换直播流。
在一个可选的实施例中,切换模块408还用于当切换操作为第一切换操作时,将当前直播流切换为下一路直播流;当切换操作为第二切换操作时,将当前直播流切换为上一路直播流。
在一个可选的实施例中,切换模块408还用于响应于用户对播放界面的标记操作,停止当前直播流的播放时间计时;当检测到用户对播放界面的取消标记操作,开始当前直播流的播放时间计时。
关于直播流切换装置的具体限定可以参见上文中对于直播流切换方法的限定,在此不再赘述。上述直播流切换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是播放终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种直播流切换方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取多路直播流的直播地址列表;
通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流;
在播放界面播放当前直播流;
当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;
当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在播放界面播放当前直播流之后,还包括:将第一下载接口设置为第二下载接口,将第二下载接口设置为第一下载接口。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:预设唤醒时间的计算方法包括:获取当前网络传输速率;根据当前网络传输速率计算当前拉流时间;若当前拉流时间大于或者等于预设切换时间减去当前的拉流时间的差值,则预设唤醒时间不作调整;若当前拉流时间小于预设切换时间减去当前的拉流时间的差值,则根据预设切换时间减去当前拉流时间的差值调整预设唤醒时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:该方法还包括:当下一路直播流地址失效时,从直播地址列表中删除下一路直播流地址。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:该方法还包括:响应用户对播放界面的切换操作,根据切换操作切换直播流。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据切换操作切换直播流包括:当切换操作为第一切换操作时,将当前直播流切换为下一路直播流;当切换操作为第二切换操作时,将当前直播流切换为上一路直播流。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:该方法还包括:响应于用户对播放界面的标记操作,停止当前直播流的播放时间计时;当检测到用户对播放界面的取消标记操作,开始当前直播流的播放时间计时。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取多路直播流的直播地址列表;
通过第一下载接口拉取直播地址列表中第一路直播流地址对应的第一路直播流,将第一路直播流作为当前直播流;
在播放界面播放当前直播流;
当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取直播地址列表中下一路直播流地址对应的下一路直播流;
当当前直播流的播放时间达到预设切换时间时,将下一路直播流作为当前直播流,返回在播放界面播放当前直播流的步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在播放界面播放当前直播流之后,还包括:将第一下载接口设置为第二下载接口,将第二下载接口设置为第一下载接口。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预设唤醒时间的计算过程包括:获取当前网络传输速率;根据当前网络传输速率计算当前拉流时间;若当前拉流时间大于或者等于预设切换时间减去当前的拉流时间的差值,则预设唤醒时间不作调整;若当前拉流时间小于预设切换时间减去当前的拉流时间的差值,则根据预设切换时间减去当前拉流时间的差值调整预设唤醒时间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:该方法还包括:当下一路直播流地址失效时,从直播地址列表中删除下一路直播流地址。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:该方法还包括:响应用户对播放界面的切换操作,根据切换操作切换直播流。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据切换操作切换直播流包括:当切换操作为第一切换操作时,将当前直播流切换为下一路直播流;当切换操作为第二切换操作时,将当前直播流切换为上一路直播流。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:该方法还包括:响应于用户对播放界面的标记操作,停止当前直播流的播放时间计时;当检测到用户对播放界面的取消标记操作,开始当前直播流的播放时间计时。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种直播流切换方法,其特征在于,所述方法包括:
获取多路直播流的直播地址列表;
通过第一下载接口拉取所述直播地址列表中第一路直播流地址对应的第一路直播流,将所述第一路直播流作为当前直播流;
在播放界面播放所述当前直播流;
当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取所述直播地址列表中下一路直播流地址对应的下一路直播流并解析视频码流数据;当解析得到所述下一路直播流的第一帧视频帧时,所述第二下载接口停止解析,并将解析得到的所述下一路直播流的第一帧视频帧存储在缓存中;所述预设唤醒时间早于预设切换时间;
当所述当前直播流的播放时间达到预设切换时间时,从缓存中获取所述下一路直播流的第一帧视频帧,并通过所述第二下载接口继续解析所述下一路直播流的视频码流数据,将解析得到的视频码流数据作为当前直播流,返回所述在播放界面播放所述当前直播流的步骤;
将所述第一下载接口设置为第二下载接口,将所述第二下载接口设置为第一下载接口;所述第一下载接口是连接在所述播放界面的始终处于工作状态的下载接口,所述第二下载接口是进行预拉流的处于空闲状态的下载接口。
2.根据权利要求1所述的方法,其特征在于,所述预设唤醒时间的计算方法包括:
获取当前网络传输速率;
根据所述当前网络传输速率计算当前拉流时间;
若所述当前拉流时间大于或者等于所述预设切换时间减去当前拉流时间的差值,则所述预设唤醒时间不作调整;
若所述当前拉流时间小于所述预设切换时间减去当前拉流时间的差值,则根据所述预设切换时间减去所述当前拉流时间的差值调整预设唤醒时间。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当下一路直播流地址失效时,从所述直播地址列表中删除所述下一路直播流地址。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应用户对播放界面的切换操作,根据所述切换操作切换直播流。
5.根据权利要求4所述的方法,其特征在于,所述根据所述切换操作切换直播流包括:
当所述切换操作为第一切换操作时,将当前直播流切换为下一路直播流;
当所述切换操作为第二切换操作时,将当前直播流切换为上一路直播流。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于用户对播放界面的标记操作,停止当前直播流的播放时间计时;
当检测到用户对播放界面的取消标记操作,开始当前直播流的播放时间计时。
7.一种直播流切换装置,其特征在于,所述装置包括:
获取模块,用于获取多路直播流的直播地址列表;
拉流模块,用于通过第一下载接口拉取所述直播地址列表中第一路直播流地址对应的第一路直播流,将所述第一路直播流作为当前直播流;
播放模块,用于在播放界面播放所述当前直播流;
预拉流模块,用于当当前直播流的播放时间达到预设唤醒时间时,通过第二下载接口拉取所述直播地址列表中下一路直播流地址对应的下一路直播流并解析视频码流数据;当解析得到所述下一路直播流的第一帧视频帧时,所述第二下载接口停止解析,并将解析得到的所述下一路直播流的第一帧视频帧存储在缓存中;所述预设唤醒时间早于预设切换时间;
切换模块,用于当所述当前直播流的播放时间达到预设切换时间时,从缓存中获取所述下一路直播流的第一帧视频帧,并通过所述第二下载接口继续解析所述下一路直播流的视频码流数据,将解析得到的视频码流数据作为当前直播流,返回所述播放模块,在播放界面播放所述当前直播流;
所述切换模块,还用于将所述第一下载接口设置为第二下载接口,将所述第二下载接口设置为第一下载接口;所述第一下载接口是连接在所述播放界面的始终处于工作状态的下载接口,所述第二下载接口是进行预拉流的处于空闲状态的下载接口。
8.根据权利要求7所述的装置,其特征在于,所述预拉流模块,还用于获取当前网络传输速率;根据所述当前网络传输速率计算当前拉流时间;若所述当前拉流时间大于或者等于所述预设切换时间减去当前拉流时间的差值,则所述预设唤醒时间不作调整;若所述当前拉流时间小于所述预设切换时间减去当前拉流时间的差值,则根据所述预设切换时间减去所述当前拉流时间的差值调整预设唤醒时间。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111233008.9A CN114040215B (zh) | 2021-10-22 | 2021-10-22 | 直播流切换方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111233008.9A CN114040215B (zh) | 2021-10-22 | 2021-10-22 | 直播流切换方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114040215A CN114040215A (zh) | 2022-02-11 |
CN114040215B true CN114040215B (zh) | 2024-05-31 |
Family
ID=80135154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111233008.9A Active CN114040215B (zh) | 2021-10-22 | 2021-10-22 | 直播流切换方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114040215B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106792089A (zh) * | 2016-12-15 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 视频播放方法和装置 |
WO2017088621A1 (zh) * | 2015-11-27 | 2017-06-01 | 北京奇虎科技有限公司 | 一种实现网络直播的方法和服务器 |
CN106921873A (zh) * | 2017-02-28 | 2017-07-04 | 北京小米移动软件有限公司 | 直播控制方法及装置 |
CN107547940A (zh) * | 2017-09-13 | 2018-01-05 | 广州酷狗计算机科技有限公司 | 视频播放处理方法、设备及计算机可读存储介质 |
CN109819268A (zh) * | 2019-03-15 | 2019-05-28 | 网易(杭州)网络有限公司 | 视频直播中的直播间播放控制方法、装置、介质及设备 |
CN111246126A (zh) * | 2020-03-11 | 2020-06-05 | 广州虎牙科技有限公司 | 基于直播平台的导播切换方法、系统、装置、设备及介质 |
CN112383723A (zh) * | 2020-11-12 | 2021-02-19 | 云南腾云信息产业有限公司 | 一种视频切换方法、装置及计算机设备 |
CN113038237A (zh) * | 2021-03-17 | 2021-06-25 | 百度(中国)有限公司 | 直播信息处理方法、装置、设备及存储介质 |
-
2021
- 2021-10-22 CN CN202111233008.9A patent/CN114040215B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017088621A1 (zh) * | 2015-11-27 | 2017-06-01 | 北京奇虎科技有限公司 | 一种实现网络直播的方法和服务器 |
CN106792089A (zh) * | 2016-12-15 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 视频播放方法和装置 |
CN106921873A (zh) * | 2017-02-28 | 2017-07-04 | 北京小米移动软件有限公司 | 直播控制方法及装置 |
CN107547940A (zh) * | 2017-09-13 | 2018-01-05 | 广州酷狗计算机科技有限公司 | 视频播放处理方法、设备及计算机可读存储介质 |
CN109819268A (zh) * | 2019-03-15 | 2019-05-28 | 网易(杭州)网络有限公司 | 视频直播中的直播间播放控制方法、装置、介质及设备 |
CN111246126A (zh) * | 2020-03-11 | 2020-06-05 | 广州虎牙科技有限公司 | 基于直播平台的导播切换方法、系统、装置、设备及介质 |
CN112383723A (zh) * | 2020-11-12 | 2021-02-19 | 云南腾云信息产业有限公司 | 一种视频切换方法、装置及计算机设备 |
CN113038237A (zh) * | 2021-03-17 | 2021-06-25 | 百度(中国)有限公司 | 直播信息处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114040215A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109640188B (zh) | 视频预览方法、装置、电子设备及计算机可读存储介质 | |
CN108066986B (zh) | 一种流媒体确定方法及装置和存储介质 | |
CN108989297B (zh) | 信息访问方法、客户端、装置、终端、服务器和存储介质 | |
CN108566561B (zh) | 视频播放方法、装置及存储介质 | |
CN109348254B (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
US10261999B2 (en) | Searching multimedia based on trigger events | |
WO2016074327A1 (zh) | 一种媒体流的控制方法、装置和系统 | |
CN112738633B (zh) | 视频播放的方法、装置、设备及可读存储介质 | |
CN110691281B (zh) | 视频播放处理方法、终端设备、服务器及存储介质 | |
WO2021233123A1 (zh) | 视频处理方法、装置、计算机设备和存储介质 | |
US11778286B2 (en) | Systems and methods for summarizing missed portions of storylines | |
US20170026721A1 (en) | System and Methods Thereof for Auto-Playing Video Content on Mobile Devices | |
CN111510755A (zh) | 音视频的切换方法、装置、计算机设备及可读存储介质 | |
KR20230144582A (ko) | 라이브스트리밍 비디오 기반의 상호작용 방법 및 장치와, 디바이스 및 저장 매체 | |
WO2017130035A1 (en) | A system and methods thereof for auto-playing video content on mobile devices | |
WO2023284428A1 (zh) | 直播视频的播放方法、装置、电子设备、存储介质及程序产品 | |
CN112449250B (zh) | 一种视频资源的下载方法、装置、设备和介质 | |
CN113556568B (zh) | 一种云应用程序运行方法、系统、装置与存储介质 | |
US11442606B2 (en) | User interface interaction method and system | |
CN112169319B (zh) | 应用程序的启动方法、装置、设备及存储介质 | |
CN114040215B (zh) | 直播流切换方法、装置、计算机设备和存储介质 | |
CN111274449B (zh) | 视频播放方法、装置、电子设备和存储介质 | |
CN113766321A (zh) | 一种视频播放方法、装置、设备和存储介质 | |
US20230073128A1 (en) | Video display method and apparatus, computerreadable medium, and electronic device | |
US10298567B1 (en) | System for providing multi-device access to complementary content |
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 |