CN108271032B - 一种直播视频切换方法及装置 - Google Patents

一种直播视频切换方法及装置 Download PDF

Info

Publication number
CN108271032B
CN108271032B CN201611261141.4A CN201611261141A CN108271032B CN 108271032 B CN108271032 B CN 108271032B CN 201611261141 A CN201611261141 A CN 201611261141A CN 108271032 B CN108271032 B CN 108271032B
Authority
CN
China
Prior art keywords
service
video
live
live broadcast
cdn service
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
Application number
CN201611261141.4A
Other languages
English (en)
Other versions
CN108271032A (zh
Inventor
曹明浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201611261141.4A priority Critical patent/CN108271032B/zh
Publication of CN108271032A publication Critical patent/CN108271032A/zh
Application granted granted Critical
Publication of CN108271032B publication Critical patent/CN108271032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种直播视频切换方法及装置,应用于直播领域,该方法包括:在直播客户端基于CDN服务播放当前所在直播间的直播视频过程中,如果监听到用于允许由CDN服务切换至P2P服务的第一许可消息,将直播客户端当前所播放直播视频的视频流数据地址传递给提供P2P服务的接口,以建立与P2P服务的连接;监听到P2P服务基于视频流数据地址初始化至播放就绪状态时,将CDN服务的视频流音量调节对象中的音量值赋给P2P服务的视频流音量调节对象,并基于P2P服务引导视频流数据地址,以继续播放当前所播放直播视频;关闭CDN服务。本发明缓解了用户量提升后的服务端资源和带宽的压力,且不会降低直播视频质量。

Description

一种直播视频切换方法及装置
技术领域
本发明涉及直播领域,特别涉及一种直播视频切换方法及装置。
背景技术
随着网络通讯的发展,越来越多的用户选择通过网络平台来交友和娱乐,这些网络平台包括一对一聊天交友平台、主播聊天室平台、论坛交友平台等,其中,一对一聊天交友平台和主播聊天室平台由于可实时视频交流,更受用户青睐。
目前在网络直播的播放器中,通常通过CDN(Content Delivery Network,内容分发网络)服务商提供的CDN服务线路播放视频。CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。但是,CDN服务的服务质量有优劣,在同一网络直播平台的直播播放中,会有多种CDN服务商提供的服务,用户量提升后,为了满足提升用户的观看直播和进行直播,需要在各种CDN服务的线路的切换播放,且随着用户量的增多还是会视频质量降低。
发明内容
鉴于上述问题,本发明实施例提供了一种直播视频切换方法及装置,以在网络直播的观看用户量提升时不会影响直播视频效果。
第一方面,本发明实施例提供了一种直播视频切换方法,应用于直播客户端,所述方法包括:
在所述直播客户端基于CDN服务播放当前所在直播间的直播视频过程中,如果监听到用于允许由所述CDN服务切换至P2P服务的第一许可消息,将所述直播客户端当前所播放直播视频的视频流数据地址传递给提供所述P2P服务的接口,以建立与所述P2P服务的连接;
监听到所述P2P服务基于所述视频流数据地址初始化至播放就绪状态时,将所述CDN服务的视频流音量调节对象中的音量值赋给所述P2P服务的视频流音量调节对象,并基于所述P2P服务引导所述视频流数据地址,以继续播放所述当前所播放直播视频;
关闭所述CDN服务。
可选的,在所述监听到用于允许由所述CDN服务切换至P2P服务的第一许可消息之前,所述方法包括:
在所述直播客户端当前所在直播间开启P2P服务,或者直播客户端进入所述直播间时,获取当前登陆在所述直播客户端的观看用户的用户属性;
判断所述用户属性是否满足第一预设用户条件;
如果所述用户属性满足所述第一预设用户条件,生成所述第一许可消息。
可选的,在所述关闭所述CDN服务之后,所述方法还包括:
监听用于允许由所述P2P服务切换至所述CDN服务的第二许可消息;
如果监听到所述第二许可消息,在所述P2P服务进行时重建所述CDN服务的连接对象、所述CDN服务的流对象和所述CDN服务的视频对象;
监听所述CDN服务是否基于所述视频流数据地址初始化至播放就绪状态;
将所述CDN服务的连接对象、所述CDN服务的流对象、所述CDN服务的视频对象添加至可视化容器中,以基于所述CDN服务继续播放所述当前所播放直播视频。
可选的,在所述监听用于允许由所述P2P服务切换至所述CDN服务的第二许可消息之前,所述方法包括:
在所述P2P服务进行时,获取所述观看用户的用户属性;
判断所述用户属性是否满足第二预设用户条件;
如果所述用户属性满足所述第二预设用户条件,生成所述第二许可消息。
可选的,所述关闭所述CDN服务,包括:
关闭所述CDN服务的流对象和所述CDN服务的连接对象。
可选的,所述直播客户端基于CDN服务播放当前所在直播间的直播视频,包括:
在所述直播客户端进入所述直播间时,向数据服务器发送用于获取视频流数据地址的网络请求,使得所述数据服务器针对所述网络请求返回视频流数据地址,所述视频流数据地址标示所述直播间当前直播视频在所述视频流服务器上的位置;
根据所述视频流数据地址连接至所述视频流服务器,并从所述视频流服务器加载所述当前直播视频。
第二方面,本发明实施例提供了一种直播视频切换装置,应用于直播客户端,所述装置包括:
服务监听模块,用于在所述直播客户端基于CDN服务播放当前所在直播间的直播视频过程中,如果监听到用于允许由所述CDN服务切换至P2P服务的第一许可消息,将所述直播客户端当前所播放直播视频的视频流数据地址传递给提供所述P2P服务的接口,以建立与所述P2P服务的连接;
服务切换模块,用于监听到所述P2P服务基于所述视频流数据地址初始化至播放就绪状态时,将所述CDN服务的视频流音量调节对象中的音量值赋给所述P2P服务的视频流音量调节对象,并基于所述P2P服务引导所述视频流数据地址,以继续播放所述当前所播放直播视频;
服务关闭模块,用于关闭所述CDN服务。
可选的,所述装置还包括:
第一属性获取模块,用于在所述直播客户端当前所在直播间开启P2P服务,或者直播客户端进入所述直播间时,获取当前登陆在所述直播客户端的观看用户的用户属性;
第一属性判断模块,用于判断所述用户属性是否满足第一预设用户条件;
第一许可模块,用于如果所述用户属性满足所述第一预设用户条件,生成所述第一许可消息。
可选的,所述装置还包括:
许可消息监听模块,用于监听用于允许由所述P2P服务切换至所述CDN服务的第二许可消息;
重建模块,用于如果监听到所述第二许可消息,在所述P2P服务进行时重建所述CDN服务的连接对象、所述CDN服务的流对象和所述CDN服务的视频对象;
初始化状态监听模块,用于监听所述CDN服务是否基于所述视频流数据地址初始化至播放就绪状态;
对象添加模块,用于将所述CDN服务的连接对象、所述CDN服务的流对象、所述CDN服务的视频对象添加至可视化容器中,以基于所述CDN服务继续播放所述当前所播放直播视频。
可选的,所述装置还包括:
第二属性获取模块,用于在所述P2P服务进行时,获取所述观看用户的用户属性;
第二属性判断模块,用于判断所述用户属性是否满足第二预设用户条件;
第二许可模块,用于如果所述用户属性满足所述第二预设用户条件,生成所述第二许可消息。
可选的,所述服务关闭模块,具体用于:
关闭所述CDN服务的流对象和所述CDN服务的连接对象。
可选的,所述服务监听模块,包括:
请求发送单元,用于在所述直播客户端进入所述直播间时,向数据服务器发送用于获取视频流数据地址的网络请求,使得所述数据服务器针对所述网络请求返回视频流数据地址,所述视频流数据地址标示所述直播间当前直播视频在所述视频流服务器上的位置;
加载单元,用于根据所述视频流数据地址连接至所述视频流服务器,并从所述视频流服务器加载所述当前直播视频。
本发明实施例提供的一个或多个实施例,至少实现了如下技术效果或优点:
由于在直播客户端基于CDN服务播放当前所在直播间的直播视频时过程中,如果监听到用于允许由CDN服务切换至P2P服务的第一许可消息,将直播客户端当前所播放直播视频的视频流数据地址传递给提供P2P服务的接口以建立与P2P服务的连接,将CDN服务的视频流音量调节对象中的音量值赋给P2P服务的视频流音量调节对象,基于P2P服务引导当前所播放直播视频的视频流数据地址,继续播放当前所播放直播视频;再关闭CDN服务。从而一部分直播客户端能够被无缝切换至P2P服务的视频播放画面来,以继续播放当前所播放直播视频。使得两种服务的视频画面切换,中间没有过渡效果的衔接,具体没有加载界面、缓冲界面、黑屏等等过渡效果,做到了无缝切换的机制,避免了直播平台以单一服务播放直播视频,从而缓解了用户量提升后的服务器端资源和带宽的压力,且不会降低直播视频质量。在网络直播的观看用户量提升时不会影响直播视频效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一直播视频切换方法实施例的流程图;
图2为本发明实施例提供的另一直播视频切换方法实施例的流程图;
图3为本发明实施例提供的直播视频切换装置的模块图。
具体实施方式
本发明实施例提供了一种直播视频切换方法及装置,以在网络直播的观看用户量提升时不会影响直播视频效果。总体思路如下:
在许可直播客户端从CDN服务切换至P2P服务,切换至基于P2P服务直播客户端当前所在直播间当前所播放直播视频;再关闭CDN服务。从而一部分直播客户端能够被无缝切换至P2P服务的视频播放画面来继续播放当前所播放直播视频。缓解了用户量提升后的服务端资源和带宽的压力,且不会降低直播视频质量。在网络直播的观看用户量提升时不会影响直播视频效果。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种直播视频切换方法,应用于直播客户端。具体的,直播客户端可以为智能手机、个人计算机、PAD(平板电脑)。
参考图1所示,本发明实施例提供的直播客户端的直播视频切换方法,包括如下步骤:
S101、在直播客户端基于CDN服务播放当前所在直播间的直播视频过程中,如果监听到用于允许由CDN服务切换至P2P(Peer to Peer,对等)服务的第一许可消息,将直播客户端当前所播放直播视频的视频流数据地址传递给提供P2P服务的接口,以建立与P2P服务的连接;
S102、监听到P2P服务基于视频流数据地址初始化至播放就绪状态时,将CDN服务的视频流音量调节对象中的音量值赋给P2P服务的视频流音量调节对象,并基于P2P服务引导视频流数据地址,以继续播放当前所播放直播视频;
S103、关闭CDN服务。
下面,结合图1详细介绍本发明实施例提供的方法的具体实现步骤:
首先,执行S101:在直播客户端基于CDN服务播放当前所在直播间的直播视频时,如果监听到用于允许由CDN服务切换至P2P服务的第一许可消息,将直播客户端当前所播放直播视频的视频流数据地址传递给提供P2P服务的接口,以建立与P2P服务的连接。
需要说明的是,在本发明实施例中,在直播客户端进入直播间时,直播客户端基于CDN服务播放当前所在直播间的直播视频。
在一实施例中,直播客户端基于CDN服务播放当前所在直播间的直播视频的实现过程为:在直播客户端进入直播间时,向数据服务器发送用于获取视频流数据地址的网络请求,使得数据服务器针对网络请求返回视频流数据地址,视频流数据地址标示直播间当前直播视频在视频流服务器上的位置;直播客户端根据视频流数据地址连接至视频流服务器,并从视频流服务器加载当前直播视频。
在具体实施过程中,直播客户端基于CDN服务播放当前所在直播间的直播视频,需要结合视频流数据地址和流协议播放直播客户端当前所在直播间的直播视频。其中,流协议可以使用http(HyperText Transfer Protocol,超文本传输协议)协议、还可以使用rtmp(Real Time Messaging Protocol,实时消息协议)协议。
需要说明的是,视频流数据地址由视频流服务器的地址及直播码(liveid)组成,视频流服务器的地址为URL(Uniform Resource Locator,统一资源定位符)。
如果流协议为http协议,在直播客户端进入直播间时,直播客户端创建连接对象(NetConnection),接着,直播客户端通过调用连接对象,根据视频流服务器的地址与视频流服务器建立连接,实现代码为connect(url)。在直播客户端与视频流服务器连接成功后,直播客户端创建流对象(netStream)和视频对象(video)。接着,直播客户端调用netStream对象建立当前所在直播间的直播视频的视频流,并调用netStream对象的play(liveid)方法播放当前直播客户端所在直播间的直播视频,然后直播客户端将netStream对象附加到video对象,将video对象添加至可视化容器(NetConnection)中,从而显示直播视频在flash播放界面上。
具体的,需要添加网络连接的事件处理函数,在事件处理函数内判断网络连接状态。需要说明的是,网络连接成功的状态为:NetConnection.Connect.Success。
如果流协议是rtmp协议,在直播客户端进入直播间时,直播客户端创建NetConnection对象,调用NetConnection对象与视频流服务器建立空连接,并创建netStream对象和video对象,直播客户端将视频流服务器的地址(URL)及直播码(liveid)组成拼接成一个完整地址为:liveurl,接着,直播客户端调用netStream对象的play(liveurl)方法,播放当前直播客户端当前所在直播间的直播视频,然后直播客户端将netStream对象附加到video对象,将video对象添加至可视化容器(NetConnection)中,从而显示直播视频在flash播放界面上。直播视频的播放过程会产生各种状态事件(statusEvent),将各个状态事件添加至video对象中呈现直播视频的画面,在本实施例中,NetConnection对象和NetStream对象保持一直存在。
下面,描述用于允许由CDN服务切换至P2P服务的第一许可消息的生成:
在直播客户端当前所在直播间开启P2P服务时,或者在直播客户端进入直播间时,获取当前登陆在直播客户端的观看用户的用户属性;判断用户属性是否满足第一预设用户条件;如果用户属性满足第一预设用户条件,生成第一许可消息。
具体的,第一预设用户条件可以设置为已登录直播播放器,则用户属性为已登录直播播放器、未登录直播播放器中的一种,如果登陆直播客户端的观看用户已登录直播播放器,生成第一许可消息,用于许可直播客户端从CDN服务切换至P2P服务。具体的,第一预设用户条件可以设置为已关注直播间,则用户属性为已关注直播客户端、未关注直播间中的一种,如果登陆直播客户端的观看用户已关注当前所在直播间,生成第一许可消息,用于许可直播客户端从CDN服务切换至P2P服务。具体的,第一预设用户条件可以设置为已向直播间赠送礼物、则用户属性为已向直播间赠送礼物、未向直播间赠送礼物中的一种,如果登陆直播客户端的观看用户已向所在直播间赠送礼物,生成第一许可消息,用于许可直播客户端从CDN服务切换至P2P服务。
直播客户端当前所在直播间开启P2P服务时,P2P服务的提供商提供一个为SDK(Software Development Kit,软件开发工具包)的swc库文件,通过SDK中的API(Application Programming Interface,应用程序编程接口)帮助文档引导视频流数据地址进行播放。具体的,直播间可以在直播客户端进入当前所在直播间之前或者之后或者之时开启P2P服务。
在S101之后,接着执行S102:监听到P2P服务基于视频流数据地址初始化至播放就绪状态时,将CDN服务的视频流音量调节对象中的音量值赋给P2P服务的视频流音量调节对象,并基于P2P服务引导视频流数据地址,以继续播放当前所播放直播视频。
具体的,监听P2P服务的连接状态事件(NetStatusEvent.NET_STATUS)的状态,监听到连接状态事件有缓冲区已满状态(NetStream.Buffer.Full)抛出,表征P2P服务初始化至播放就绪状态。
接着,执行S103:关闭CDN服务。
具体的,关闭CDN服务需要关闭CDN服务的流对象和CDN服务的连接对象。具体的,还可以只关闭CDN服务的流对象。
通过本实施例,能够在用户属性满足第一预设用户条件时,切换至P2P服务播放当前直播客户端所在直播间当前所播放直播视频,从而缓解了用户量提升后的服务端资源和带宽的压力,且不会降低网络直播视频质量,进而在网络直播的观看用户量提升时不会影响直播视频效果。
在P2P服务过程中,就是观看用户所在的直播客户端与主播用户所在的主播客户端之间的视频流资源共享过程,而不是从CDN服务的视频流服务器上以消耗服务器网络带宽获取视频流资源的,因此不消耗服务器网络带宽。
在一实施例中,参考图2所示,在关闭CDN服务之后,还包括如下步骤:
S104:监听用于允许由P2P服务切换至CDN服务的第二许可消息;
S105、如果监听到第二许可消息,在P2P服务进行时重建CDN服务的连接对象、CDN服务的流对象、CDN服务的视频对象;
S106、监听CDN服务是否基于视频流数据地址初始化至播放就绪状态;将CDN服务的连接对象、CDN服务的流对象、CDN服务的视频对象添加至可视化容器中,以基于CDN服务继续播放当前所播放直播视频。
具体的,监听CDN服务的连接状态事件(NetStatusEvent.NET_STATUS)的状态,监听到有连接状态事件有缓冲区已满状态(NetStream.Buffer.Full)抛出,表征CDN服务初始化至播放就绪状态。
通过本实施例,能够在直播客户端与主播客户端之间的P2P服务崩溃之前切换至基于CDN服务播放直播客户端所在直播间当前所播放直播视频。两种服务的画面来回切换,中间没有过渡效果的衔接,做到了无缝切换的机制,大大降低了用户观看视频障碍的感知度。
具体的,在一实施例中,监听到从P2P服务切换至CDN服务,包括:在P2P服务进行时,获取观看用户的用户属性;判断用户属性是否满足第二预设用户条件;如果用户属性满足第二预设用户条件,生成第二许可消息。
在具体实施过程中,第二预设用户条件可以为与第一预设条件相同,具体来讲,第二预设用户条件可以设置为已登录直播播放器,则用户属性为未登录直播播放器、已登录直播播放器中的一种,如果当前登录直播客户端的观看用户已登录直播播放器,生成第二许可消息,用于许可从直播客户端P2P服务切换至CDN服务。具体的,第二预设用户条件可以设置为已关注直播间,则用户属性为已关注直播客户端、未关注直播间中的一种,如果登陆直播客户端的观看用户已关注当前所在直播间,生成第二许可消息,用于许可从直播客户端从P2P服务切换至CDN服务。具体的,第二预设用户条件可以设置为已向直播间赠送礼物、则用户属性为已向直播间赠送礼物、未向直播间赠送礼物中的一种,如果登陆直播客户端的观看用户已向所在直播间赠送礼物,生成第二许可消息,用于许可直播客户端从P2P服务切换至CDN服务。
基于同一发明构思,本发明实施例提供了一种直播视频切换装置,应用于直播客户端,参考图3所示,所述装置包括:
服务监听模块201,用于在直播客户端基于CDN服务播放当前所在直播间的直播视频过程中,如果监听到用于允许由所述CDN服务切换至P2P服务的第一许可消息,将所述直播客户端当前所播放直播视频的视频流数据地址传递给提供所述P2P服务的接口,以建立与所述P2P服务的连接;
服务切换模块202,用于监听到所述P2P服务基于所述视频流数据地址初始化至播放就绪状态时,将所述CDN服务的视频流音量调节对象中的音量值赋给所述P2P服务的视频流音量调节对象,并基于所述P2P服务引导所述视频流数据地址,以继续播放所述当前所播放直播视频;
服务关闭模块203,用于关闭所述CDN服务。
优选的,所述装置还包括:
第一属性获取模块,用于在所述直播客户端当前所在直播间开启P2P服务时,获取当前登陆在所述直播客户端的观看用户的用户属性;
第一属性判断模块,用于判断所述用户属性是否满足第一预设用户条件;
第一许可模块,用于如果所述用户属性满足所述第一预设用户条件,生成所述第一许可消息。
优选的,所述装置还包括:
许可消息监听模块,用于监听用于允许由所述P2P服务切换至所述CDN服务的第二许可消息;
重建模块,用于如果监听到所述第二许可消息,在所述P2P服务进行时重建所述CDN服务的连接对象、所述CDN服务的流对象和所述CDN服务的视频对象;
初始化状态监听模块,用于监听所述CDN服务是否基于所述视频流数据地址初始化至播放就绪状态;
对象添加模块,用于将所述CDN服务的连接对象、所述CDN服务的流对象、所述CDN服务的视频对象添加至可视化容器中,以基于所述CDN服务继续播放所述当前所播放直播视频。
优选的,所述装置还包括:
第二属性获取模块,用于在所述P2P服务进行时,获取所述观看用户的用户属性;
第二属性判断模块,用于判断所述用户属性是否满足第二预设用户条件;
第二许可模块,用于如果所述用户属性满足所述第二预设用户条件,生成所述第二许可消息。
优选的,所述服务关闭模块,具体用于:
关闭所述CDN服务的流对象和所述CDN服务的连接对象。
优选的,所述服务监听模块201,包括:
请求发送单元,用于在所述直播客户端进入所述直播间时,向数据服务器发送用于获取视频流数据地址的网络请求,使得所述数据服务器针对所述网络请求返回视频流数据地址,所述视频流数据地址标示所述直播间当前直播视频在所述视频流服务器上的位置;
加载单元,用于根据所述视频流数据地址连接至所述视频流服务器,并从所述视频流服务器加载所述当前直播视频。
由于本发明实施例所介绍的装置为实施本发明直播视频切换方法实施例所采用的,故而基于本发明直播视频切换方法实施例所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明直播视频切换方法实施例所采用的装置都属于本发明所欲保护的范围。
通过上述本发明提供的一个或多个实施例,至少实现了如下技术效果或优点:
由于在直播客户端基于CDN服务播放当前所在直播间的直播视频时过程中,如果监听到用于允许由CDN服务切换至P2P服务的第一许可消息,将直播客户端当前所播放直播视频的视频流数据地址传递给提供P2P服务的接口以建立与P2P服务的连接,将CDN服务的视频流音量调节对象中的音量值赋给P2P服务的视频流音量调节对象,基于P2P服务引导当前所播放直播视频的视频流数据地址,继续播放当前所播放直播视频;再关闭CDN服务。从而一部分直播客户端能够被无缝切换至P2P服务的视频播放画面来,以继续播放当前所播放直播视频。使得两种服务的视频画面切换,中间没有过渡效果的衔接,具体没有加载界面、缓冲界面、黑屏等等过渡效果,做到了无缝切换的机制,缓解了用户量提升后的服务端资源和带宽的压力,且不会降低直播视频质量。在网络直播的观看用户量提升时不会影响直播视频效果。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的各描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的智能摄像系统以及网络摄像头中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者系统程序(如计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是,上述各实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应该将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或者步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (8)

1.一种直播视频切换方法,应用于直播客户端,其特征在于,所述方法包括:
在所述直播客户端当前所在直播间开启P2P服务,或者直播客户端进入所述直播间时,获取当前登陆在所述直播客户端的观看用户的用户属性;
判断所述用户属性是否满足第一预设用户条件;
如果所述用户属性满足所述第一预设用户条件,生成第一许可消息;
在所述直播客户端基于内容分发网络CDN服务播放当前所在直播间的直播视频过程中,如果监听到用于允许由所述CDN服务切换至对等P2P服务的第一许可消息,将所述直播客户端当前所播放直播视频的视频流数据地址传递给提供所述P2P服务的接口,以建立与所述P2P服务的连接,所述P2P服务为在直播客户端与主播客户端之间的P2P服务;
监听到所述P2P服务基于所述视频流数据地址初始化至播放就绪状态时,将所述CDN服务的视频流音量调节对象中的音量值赋给所述P2P服务的视频流音量调节对象,并基于所述P2P服务引导所述视频流数据地址,切换至P2P服务的视频播放画面以继续播放所述当前所播放直播视频;
关闭所述CDN服务。
2.如权利要求1所述的直播视频切换方法,其特征在于,在所述关闭所述CDN服务之后,所述方法还包括:
监听用于允许由所述P2P服务切换至所述CDN服务的第二许可消息;
如果监听到所述第二许可消息,在所述P2P服务进行时重建所述CDN服务的连接对象、所述CDN服务的流对象和所述CDN服务的视频对象;
监听所述CDN服务是否基于所述视频流数据地址初始化至播放就绪状态;
将所述CDN服务的连接对象、所述CDN服务的流对象、所述CDN服务的视频对象添加至可视化容器中,以基于所述CDN服务继续播放所述当前所播放直播视频。
3.如权利要求2所述的直播视频切换方法,其特征在于,在所述监听用于允许由所述P2P服务切换至所述CDN服务的第二许可消息之前,所述方法包括:
在所述P2P服务进行时,获取所述观看用户的用户属性;
判断所述用户属性是否满足第二预设用户条件;
如果所述用户属性满足所述第二预设用户条件,生成所述第二许可消息。
4.如权利要求1所述的直播视频切换方法,其特征在于,所述关闭所述CDN服务,包括:
关闭所述CDN服务的流对象和所述CDN服务的连接对象。
5.如权利要求1所述的直播视频切换方法,其特征在于,所述直播客户端基于CDN服务播放当前所在直播间的直播视频,包括:
在所述直播客户端进入所述直播间时,向数据服务器发送用于获取视频流数据地址的网络请求,使得所述数据服务器针对所述网络请求返回视频流数据地址,所述视频流数据地址标示所述直播间当前直播视频在视频流服务器上的位置;
根据所述视频流数据地址连接至所述视频流服务器,并从所述视频流服务器加载所述当前直播视频。
6.一种直播视频切换装置,应用于直播客户端,其特征在于,所述装置包括:
第一属性获取模块,用于在所述直播客户端当前所在直播间开启P2P服务,或者直播客户端进入所述直播间时,获取当前登陆在所述直播客户端的观看用户的用户属性;
第一属性判断模块,用于判断所述用户属性是否满足第一预设用户条件;
第一许可模块,用于如果所述用户属性满足所述第一预设用户条件,生成第一许可消息;
服务监听模块,用于在所述直播客户端基于内容分发网络CDN服务播放当前所在直播间的直播视频过程中,如果监听到用于允许由所述CDN服务切换至对等P2P服务的第一许可消息,将所述直播客户端当前所播放直播视频的视频流数据地址传递给提供所述P2P服务的接口,以建立与所述P2P服务的连接,所述P2P服务为在直播客户端与主播客户端之间的P2P服务;
服务切换模块,用于监听到所述P2P服务基于所述视频流数据地址初始化至播放就绪状态时,将所述CDN服务的视频流音量调节对象中的音量值赋给所述P2P服务的视频流音量调节对象,并基于所述P2P服务引导所述视频流数据地址,切换至P2P服务的视频播放画面以继续播放所述当前所播放直播视频;
服务关闭模块,用于关闭所述CDN服务。
7.如权利要求6所述的直播视频切换装置,其特征在于,所述装置还包括:
许可消息监听模块,用于监听用于允许由所述P2P服务切换至所述CDN服务的第二许可消息;
重建模块,用于如果监听到所述第二许可消息,在所述P2P服务进行时重建所述CDN服务的连接对象、所述CDN服务的流对象和所述CDN服务的视频对象;
初始化状态监听模块,用于监听所述CDN服务是否基于所述视频流数据地址初始化至播放就绪状态;
对象添加模块,用于将所述CDN服务的连接对象、所述CDN服务的流对象、所述CDN服务的视频对象添加至可视化容器中,以基于所述CDN服务继续播放所述当前所播放直播视频。
8.如权利要求7所述的直播视频切换装置,其特征在于,所述装置还包括:
第二属性获取模块,用于在所述P2P服务进行时,获取所述观看用户的用户属性;
第二属性判断模块,用于判断所述用户属性是否满足第二预设用户条件;
第二许可模块,用于如果所述用户属性满足所述第二预设用户条件,生成所述第二许可消息。
CN201611261141.4A 2016-12-30 2016-12-30 一种直播视频切换方法及装置 Active CN108271032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611261141.4A CN108271032B (zh) 2016-12-30 2016-12-30 一种直播视频切换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611261141.4A CN108271032B (zh) 2016-12-30 2016-12-30 一种直播视频切换方法及装置

Publications (2)

Publication Number Publication Date
CN108271032A CN108271032A (zh) 2018-07-10
CN108271032B true CN108271032B (zh) 2020-10-16

Family

ID=62753689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611261141.4A Active CN108271032B (zh) 2016-12-30 2016-12-30 一种直播视频切换方法及装置

Country Status (1)

Country Link
CN (1) CN108271032B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218761A (zh) * 2018-08-07 2019-01-15 邓德雄 一种在视频直播和录像之间切换的方法及系统
CN109413453B (zh) * 2018-10-19 2021-08-27 广州酷狗计算机科技有限公司 视频播放方法、装置、终端及存储介质
CN109640106B (zh) * 2018-12-10 2022-02-15 网宿科技股份有限公司 一种直播系统的多源站切换的方法及装置
CN110139119B (zh) * 2019-05-20 2020-08-04 湖南康通电子股份有限公司 数字广播系统的p2p音频直播分发方法、装置及存储介质
CN110267064B (zh) * 2019-06-12 2021-11-12 百度在线网络技术(北京)有限公司 音频播放状态处理方法、装置、设备及存储介质
CN111479123B (zh) * 2020-04-20 2022-05-06 玉环智寻信息技术有限公司 一种媒体流资源的获取方法、装置和移动终端
CN111866537B (zh) * 2020-07-27 2022-05-31 网易(杭州)网络有限公司 直播间中的信息展示方法及装置、存储介质及电子设备
CN112399190B (zh) * 2020-10-16 2023-05-09 北京达佳互联信息技术有限公司 音视频数据获取方法及其装置
CN114529853A (zh) * 2022-02-21 2022-05-24 创新奇智(成都)科技有限公司 一种实时视频处理方法、装置、电子设备及存储介质
CN114827650A (zh) * 2022-04-22 2022-07-29 上海哔哩哔哩科技有限公司 流媒体内容传输、直播及拉取方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834889A (zh) * 2010-04-07 2010-09-15 北京市农林科学院 基于流媒体平台的多媒体课件发布方法
CN202206510U (zh) * 2011-06-13 2012-04-25 苏州汉辰数字多媒体有限公司 一种内置p2p管理系统的嵌入式机顶盒
CN104320672A (zh) * 2014-09-24 2015-01-28 中国人民解放军理工大学 Cdn-p2p混合架构下的直播流媒体系统资源调度方法
CN105898388A (zh) * 2016-04-05 2016-08-24 合网络技术(北京)有限公司 一种节点下载调度方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769576B2 (en) * 2011-04-01 2014-07-01 Mixaroo, Inc. System and method for real-time processing, storage, indexing, and delivery of segmented video
US9106934B2 (en) * 2013-01-29 2015-08-11 Espial Group Inc. Distribution of adaptive bit rate live streaming video via hyper-text transfer protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834889A (zh) * 2010-04-07 2010-09-15 北京市农林科学院 基于流媒体平台的多媒体课件发布方法
CN202206510U (zh) * 2011-06-13 2012-04-25 苏州汉辰数字多媒体有限公司 一种内置p2p管理系统的嵌入式机顶盒
CN104320672A (zh) * 2014-09-24 2015-01-28 中国人民解放军理工大学 Cdn-p2p混合架构下的直播流媒体系统资源调度方法
CN105898388A (zh) * 2016-04-05 2016-08-24 合网络技术(北京)有限公司 一种节点下载调度方法和装置

Also Published As

Publication number Publication date
CN108271032A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108271032B (zh) 一种直播视频切换方法及装置
US11717749B2 (en) Cloud gaming device handover
US11457283B2 (en) System and method for multi-user digital interactive experience
CN105100954B (zh) 一种基于互联网通信及流媒体直播的交互应答系统及方法
US10986414B1 (en) Resource management for video playback and chat
CN110876080B (zh) 视频投屏方法、装置、计算机设备及存储介质
JP2023502667A (ja) クラウドゲーム用のアダプティブグラフィックス
CN107995187A (zh) 基于html5浏览器的视频主播、直播方法、终端和系统
US11889159B2 (en) System and method for multi-user digital interactive experience
CN107623723B (zh) 视频直播数据的传输方法和装置、存储介质及电子装置
CN113766251A (zh) 直播连麦的处理方法、系统、服务器及存储介质
US9544630B2 (en) Method and IPTV server for enabling playout of one or more media objects
CN112565802A (zh) 直播交互方法、系统、服务器及存储介质
CN107547517B (zh) 音视频节目录制方法和网络设备及计算机装置
KR101915065B1 (ko) Vr 콘텐츠에 대한 라이브 스트리밍 시스템 및 그 시스템의 동작 방법
US20230231895A1 (en) System and method for accessing streaming data
CN113747181A (zh) 基于远程桌面的网络直播方法、直播系统及电子设备
JP6426136B2 (ja) 動画を配信するためのシステム、方法、及び、これらに用いられるプログラム
JP7333534B2 (ja) ストリーミングデータにアクセスするためのシステムおよび方法
CN114979692B (zh) 音视频拉流模式的切换方法、装置、系统和存储介质
JP7469771B1 (ja) サーバおよび方法
AU2015101492A4 (en) A Technique, method and/or process to combine various sports content owners, and broadcasters to a common web platform to stream or publish live as well as pre-taped sporting events onto viewers mobiles, tablets, websites, Smart-TV app, gaming consoles, and any other form of connected media. This web platform will provide seamless connectivity to users, and access to multiple sporting events not necessarily associated to one particular broadcasters digital platform. This web platform will be an additional digital platform for small sports and existing broadcasters in the market.
JP2024012147A (ja) クラウドゲーミングのための方法およびシステム
CN116233489A (zh) 直播处理方法、装置、电子设备及计算机存储介质
CN117714718A (zh) 直播调度方式的动态配置方法、系统及计算设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant