CN108322787A - 视频流分发方法、装置及电子设备 - Google Patents

视频流分发方法、装置及电子设备 Download PDF

Info

Publication number
CN108322787A
CN108322787A CN201810129092.1A CN201810129092A CN108322787A CN 108322787 A CN108322787 A CN 108322787A CN 201810129092 A CN201810129092 A CN 201810129092A CN 108322787 A CN108322787 A CN 108322787A
Authority
CN
China
Prior art keywords
client
viewing
video flowing
viewing client
played
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
Application number
CN201810129092.1A
Other languages
English (en)
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.)
Beijing Panda Mutual Entertainment Technology Co Ltd
Original Assignee
Beijing Panda Mutual Entertainment 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 Beijing Panda Mutual Entertainment Technology Co Ltd filed Critical Beijing Panda Mutual Entertainment Technology Co Ltd
Priority to CN201810129092.1A priority Critical patent/CN108322787A/zh
Publication of CN108322787A publication Critical patent/CN108322787A/zh
Pending legal-status Critical Current

Links

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/25Management 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/262Content 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
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • 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/25Management 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/258Client 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/25808Management of client data
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Abstract

本发明实施例提供一种视频流分发方法、装置及电子设备,该方法包括:第一用户进入直播间后,分发服务器会获取第一用户进入此直播间的进入时间。同时,还会为第一用户使用的第一观看客户端与第二用户使用的第二观看客户端建立数据传输连接。然后,分发服务器确定第二观看客户端是否缓存有与进入时间对应的待播放视频流片段。若缓存有待播放视频流片段,则分发服务器控制第二观看客户端将此待播放视频流片段发送至第一观看客户端。可见,利用上述分发方法可以使得第一观看客户端获取视频流的过程中不经过CDN节点,从而避免出现由于CDN节点带宽不足而造成的视频流获取不通畅的情况,提高用户观看直播的流畅性。

Description

视频流分发方法、装置及电子设备
技术领域
本发明涉及视频直播领域,尤其涉及一种视频流分发方法、装置及电子设备。
背景技术
传统媒体例如电视、广播等,其节目内容的传播往往是单向的且互动性较低。而伴随着互联网发展出现的视频直播已经很好地改善了传统媒体所具有互动性低、参与感差的问题。另外,再加之视频直播具有的内容丰富、受众可划分等特点,使其尤其受到人们的广泛欢迎。
现有技术中,观看用户看到的直播视频通常是由观看客户端从内容分发网络(Content Delivery Network,CDN)节点处获取到的。而在实际应用中,由于CDN 节点带宽有限等原因,使观看客户端从CDN节点获取直播视频流的过程中很容易出现直播视频流获取不顺畅的情况,从而大大降低用户观看直播的流畅性。
发明内容
有鉴于此,本发明实施例提供一种视频流分发方法、装置及电子设备,用以提高观看直播的流畅性。
本发明实施例提供一种视频流分发方法,包括:
获取第一用户进入直播间的进入时间;
建立所述第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接,其中,所述第一用户与所述第二用户处于同一直播间;
确定所述第二观看客户端是否缓存有与所述进入时间对应的待播放视频流片段;
若所述第二观看客户端缓存有所述待播放视频流片段,则控制所述第二观看客户端将所述待播放视频流片段发送至所述第一观看客户端。
可选地,所述方法还包括:
若所述第二观看客户端未缓存有所述待播放视频流片段,则控制CDN节点发送所述待播放视频流片段至所述第一观看客户端。
可选地,所述控制所述第二观看客户端将所述待播放视频流片段发送至所述第一观看客户端,包括:
根据所述进入时间确定缓存有所述待播放视频流片段的N个第二观看客户端,其中,N>1;
从所述N个第二观看客户端中选择可靠程度最高的M个第二观看客户端,其中,1≤M<N;
控制所述M个第二客户端将M个所述待播放视频流片段发送至所述第一观看客户端。
可选地,所述方法还包括:
接收预设时间段内针对于所述N个第二客户端的反馈消息,其中,所述反馈消息中包括待播放视频流片段的状态信息;
根据所述状态信息确定所述N个第二客户端的可靠程度。
可选地,在所述建立所述第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接之前,所述方法还包括:
获取第二观看客户端的功能标识;
根据所述功能标识确定所述直播间内与第一观看客户端建立数据传输连接的第二观看客户端。
本发明实施例提供一种视频流分发装置,包括:
时间获取模块,用于获取第一用户进入直播间的进入时间;
连接建立模块,用于建立所述第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接,其中,所述第一用户与所述第二用户处于同一直播间;
视频流确定模块,用于确定所述第二观看客户端是否缓存有与所述进入时间对应的待播放视频流片段;
控制模块,用于若所述第二观看客户端缓存有所述待播放视频流片段,则控制所述第二观看客户端将所述待播放视频流片段发送至所述第一观看客户端。
可选地,所述控制模块还用于:
若所述第二观看客户端未缓存有所述待播放视频流片段,则控制CDN节点发送所述待播放视频流片段至所述第一观看客户端。
可选地,所述控制模块具体包括:
确定单元,用于根据所述进入时间确定缓存有所述待播放视频流片段的N 个第二观看客户端,其中,N>1;
选择单元,用于从所述N个第二观看客户端中选择可靠程度最高的M个第二观看客户端,其中,1≤M<N;
控制单元,用于控制所述M个第二客户端将M个所述待播放视频流片段发送至所述第一观看客户端。
可选地,所述装置还包括:
标识获取模块,用于获取第二观看客户端的功能标识;
客户端确定模块,用于根据所述功能标识确定所述直播间内与所述第一观看客户端建立数据传输连接的第二观看客户端。
本发明实施例提供一种电子设备,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以上述视频流分发方法中的任意一种方法。
本发明实施例提供的视频流分发方法、装置及电子设备,第一用户进入直播间后,分发服务器会获取第一用户进入此直播间的进入时间。同时,分发服务器还会为第一用户使用的第一观看客户端与第二用户使用的第二观看客户端建立数据传输连接,其中,第一用户与第二用户为处于同一直播间内的观看用户。然后,分发服务器确定第二观看客户端是否缓存有与进入时间对应的待播放视频流片段。若第二观看客户端缓存有待播放视频流片段,则分发服务器控制第二观看客户端通过建立的数据传输连接将此待播放视频流片段发送至第一观看客户端,以使第一观看客户端可以播放此待播放视频流片段。可见,上述过程实质上就是在第一用户进入直播间后,分发服务器根据进入时间控制第二客户端将待播放视频流片段发送至第一观看客户端。这样可以使得第一观看客户端获取视频流的过程中不经过CDN节点,从而避免出现由于CDN节点带宽不足而造成的视频流获取不通畅的情况,提高用户观看直播的流畅性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的视频流分发方法实施例一的流程图;
图2为本发明实施例提供的视频流分发方法实施例二的流程图;
图3为本发明实施例提供的视频流分发装置实施例一的结构示意图;
图4为本发明实施例提供的视频流分发装置实施例二的结构示意图;
图5为本发明实施例提供的电子设备实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在 A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述观看客户端,但这些观看客户端不应限于这些术语。这些术语仅用来将观看客户端彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一观看客户端也可以被称为第二观看客户端,类似地,第二观看客户端也可以被称为第一观看客户端。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
图1为本发明实施例提供的视频流分发方法实施例一的流程图,本实施例提供的该视频流分发方法的执行主体可以为分发服务器,如图1所示,该方法包括如下步骤:
S101,获取第一用户进入直播间的进入时间。
第一用户可以使用第一观看客户端进入直播网站,并在直播网站中选择任一直播间进行观看。当第一用户选择进入一直播间A后,此时,可选地,此第一用户使用的第一观看客户端会相应地生成一条包括进入时间的通知消息,并将此通知消息发送至分发服务器。分发服务器通过接收此通知消息即可以获取到第一用户进入直播间A的进入时间。
可选地,第一观看客户端生成的通知消息中除了进入时间之外,还可以包括第一用户的身份信息、第一用户进入的直播间A的直播间信息以及安装有第一观看客户端的移动终端的设备号等等。其中,用户的身份信息可以为第一用户在直播网站的用户ID等等,直播间信息可以为房间号或者直播间对应的主播的主播ID等等,设备号可以是国际移动设备识别(International Mobile Equipment Identity,IMEI)。
S102,建立第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接,其中,第一用户与第二用户处于同一直播间。
根据上述描述可知,可选地,每个观看用户在进入直播网站的某一直播间例如直播间A后,此观看用户使用的观看客户端都会产生一条通知消息,同时还会将此通知消息发送至分发服务器。因此,分发服务器可以接收到所有进入直播间A的观看用户使用的观看客户端发送的通知消息,并根据接收到的通知消息获取到安装有第二观看客户端的移动终端的设备号,其中,第二观看客户端对应于直播间A内的第二用户,且第二用户为直播间A内除了第一用户之外的剩余观看用户。
基于得到的设备号,分发服务器可以建立起第一观看客户端与第二观看客户端之间的数据传输连接,使第一观看客户端和第二观看客户端之间可以进行数据传输。可选地,与第一观看客户端建立数据传输连接的第二观看客户端的个数均可以为一个或多个。
S103,确定第二观看客户端是否缓存有与进入时间对应的待播放视频流片段。
S104,若第二观看客户端缓存有待播放视频流片段,则控制第二观看客户端将待播放视频流片段发送至第一观看客户端。
在第二观看客户端中会缓存有预设数目个预设时长的视频流片段。可选地,第二观看客户端缓存的视频流片段的预设数目一般为3~6个,每个视频流片段的预设时长为10s。分发服务器可以将第二观看客户端缓存的视频流片段作为第一观看客户端所需的视频流片段的来源。
同时,在进行视频流片段缓存的过程中,第二观看客户端还会将每个视频流片段的起始时间以及缓存有此视频流的终端设备的设备号发送至分发服务器。可选地,分发服务器在已知进入时间的基础上,可以通过查询配置文件的方式来确定与第一观看客户端建立起数据传输连接的第二观看客户端中是否缓存有与进入时间对应的待播放视频流片段。其中,配置文件中记录有视频流片段的起始时间与安装有第二观看客户端的移动终端的设备号之间对应关系。
若第二观看客户端缓存有待播放视频流片段,则分发服务器会控制第二观看客户端将待播放视频流片段发送至第一观看客户端,使第一观看客户端可以播放此待播放视频流片段,从而使第一用户实现直播的观看。
可选地,第二观看客户端缓存的视频流片段可以是距离当前时间最近的一段时间内的视频流片段。具体举例来说,第二观看客户端缓存有3个视频流片段,每个视频流片段的长度为10s。假设当前时间为10点00分00秒,则第二观看客户段缓存的视频流片段的起始时间分别为9点59分50秒、9点59分40 秒以及9点59分30秒。第二观看客户端缓存的视频流片段可以理解为是对于第二用户来说已经播放过的视频内容。
此外,需要说明的是,第二观看客户端缓存的视频流片段的起始时间是早于第一用户的进入时间的。并且从理论上说,第一观看客户端所需要的待播放视频流片段的起始时间应该是与进入时间相同的。因此,根据上述描述,第二观看客户端缓存的视频流片段是不适用于第一观看客户端的。但考虑到数据传输所需的时间,在实际观看过程中,第一观看客户端接收到的待播放视频流片段的起始时间通常都是早于进入时间的,因此,第二观看客户端缓存的视频流片段是能够成为第一观看客户端所需的视频流片段的来源的。并且可选地,待播放视频流片段的起始时间与进入时间之间的时间间隔可以是预设好的。举例来说,分发服务器获取的进入时间为10点00分00秒,起始时间与进入时间之间的预设时间间隔可以是10s,则与进入时间对应的待播放视频流片段的起始时间可以为9点59分50秒。
本实施例中,第一用户进入直播间后,分发服务器会获取第一用户进入此直播间的进入时间。同时,分发服务器还会为第一用户使用的第一观看客户端与第二用户使用的第二观看客户端建立数据传输连接,其中,第一用户与第二用户为处于同一直播间内的观看用户。然后,分发服务器确定第二观看客户端是否缓存有与进入时间对应的待播放视频流片段。若第二观看客户端缓存有待播放视频流片段,则分发服务器控制第二观看客户端通过建立的数据传输连接将此待播放视频流片段发送至第一观看客户端,以使第一观看客户端可以播放此待播放视频流片段。可见,上述过程实质上就是在第一用户进入直播间后,分发服务器根据进入时间控制第二客户端将待播放视频流片段发送至第一观看客户端。这样可以使得第一观看客户端获取视频流的过程中不经过CDN节点,从而避免出现由于CDN节点带宽不足而造成的视频流获取不通畅的情况,提高用户观看直播的流畅性。
在实际应用中,由于第二观看客户端的版本不同或者第二用户的使用需求不同等等原因,导致不是直播间中的所有第二观看客户端都可以与第一观看客户端建立数据传输连接。基于此,图2为本发明实施例提供的视频流分发方法实施例二的流程图,如图2所示,该方法包括如下步骤:
S201,获取第一用户进入直播间的进入时间。
上述步骤S201执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此再不赘述。
S202,获取第二观看客户端的功能标识。
S203,根据功能标识确定直播间内与第一观看客户端建立数据传输连接的第二观看客户端。
根据实施例一中的相关描述可知,当第一用户进入直播间A后,分发服务器可以接收到所有进入直播间A的观看用户使用的观看客户端发送的通知消息,并且此通知消息中还会包括观看客户端的功能标识。此时,分发服务器可以根据接收到的通知消息获取到直播间A内所有第二观看客户端的功能标识。此功能标识用以表示此观看客户端是否具有为其他观看客户端提供视频流片段的功能。可选地,观看客户端的功能标识可由观看用户自行设置。一种可选地设置方式,观看用户可以通过观看客户端提供的设置界面设置观看客户端是否开启视频流发送功能。
分发服务器根据获取到的功能标识便可以确定出直播间A内具有视频流发送功能的第二观看客户端,也即是确定出能够与第一观看客户端建立数据传输连接的第二观看客户端。
S204,建立第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接,其中,第一用户与第二用户处于同一直播间。
S205,确定第二观看客户端是否缓存有与进入时间对应的待播放视频流片段,若存在,则执行步骤S206,若不存在,则执行步骤SS207。
S206,控制第二观看客户端将待播放视频流片段发送至第一观看客户端。
上述步骤S204-S206执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此再不赘述。
S207,控制CDN节点发送待播放视频流片段至第一观看客户端。
由于CDN节点具有整个直播过程中的全部视频流片段,因此,当分发服务器确定出第二观看客户端中未缓存有与进入时间对应的待播放视频流片段时,则会控制CDN节点向第一观看客户端发送待播放视频流片段。
另外,在实际应用中,一种容易想到的情况:分发服务器确定出的与进入时间对应的待播放视频流片段可能是缓存于多个第二观看客户端中的。为了保证第一观看客户端能够顺利接收到第二观看客户端发送的待播放视频流片段,分发服务器还需要对缓存有待播放视频流片段的多个第二观看客户端进行筛选。
可选地,分发服务器可以通过以下方式对第二观看客户端进行筛选。
首先,根据进入时间确定缓存有待播放视频流片段的N个第二观看客户端,其中,N>1。
然后,从N个第二观看客户端中选择可靠程度最高的M个第二观看客户端,其中,1≤M<N。
最后,控制M个第二客户端将M个待播放视频流片段发送至第一观看客户端。
具体地,分发服务器可以根据第一用户进入直播间的进入时间以及第二观看客户端缓存的视频流片段的起始时间,确定出N个缓存有与进入时间对应的待播放视频流片段的第二观看客户端,并且此N个观看客户端的可靠程度不同。进而,分发服务器可以从N个第二观看客户端中选择可靠程度最高的M个第二观看客户端。最终,控制选中的M个第二观看客户端将待播放视频流片段发送至第一观看客户端。可选地,第一观看客户端可以播放最先接收到的待播放视频流片段。若同时接收到多个待播放视频流片段,可选地,第一观看客户端可以选择任意一个进行播放,也可以选择可靠程度较高的第二观看客户端发送的待播放视频流片段。
在上述筛选过程中,观看客户端的可靠等级是筛选的重要依据。可选地,分发服务器可以通过以下方式分别确定N个第二观看客户端的可靠等级。
第一,接收预设时间段内针对于N个第二客户端的反馈消息,其中,反馈消息中包括待播放视频流片段的状态信息。
第二,根据状态信息确定N个第二客户端的可靠程度。
具体地,一方面,在第一观看客户端接收到第二观看客户端发送的视频流片段后,第一观看客户端会向分发服务器发送反馈消息,以使分发服务器知晓第一观看客户端已经成功接收到哪些第二观看客户端发送的待播放视频流片段,其中,此反馈消息中可以包括当前时间、安装有第二观看客户端的移动中的设备号以及表示待播放视频流片段是否成功传输的状态信息。当第一观看客户端播放接收到的待播放视频流片段时,同样也会向分发服务器发送反馈消息,以使分发服务器获知第一观看客户端使用了哪个第二观看客户端发送的待播放视频流片段。其中,此反馈消息中可以包括当前时间、安装有第二观看客户端的移动终端的设备号以及表示待播放视频流片段是否成功播放的状态信息。
另一方面,在第二观看客户端向第一观看客户端发送视频流片段后,第二观看客户端也会向分发服务器发送反馈消息,以使分发服务器得知哪些第二观看客户端已经发送待播放视频流片段至第一观看客户端,其中,此反馈消息中可以包括当前时间、安装有第二观看客户端的移动终端的设备号以及表示待播放视频流片段是否发送的状态信息。
分发服务器在确定出N个具有待播放视频流片段的第二观看客户端后,可以对预设时间段内针对于此N个第二观看客户端的反馈消息进行统计,从而分别得到N个第二观看客户端中每个第二观看客户端在预设时间段内发送待播放视频流片段的次数、第二观看客户端在预设时间段内成功将此待播放视频流片段发送至第一观看客户端的次数以及成功发送的待播放视频流片段被第一观看客户端播放的次数。可选地,分发服务器可以根据上述三个次数分别确定N个第二观看客户端的可靠等级。
一种可选地最简单方式,分发服务器可以将上述三个次数之和作为第二观看客户端的可靠度得分,并根据可靠度得分所在的数值区间分别确定出N个第二观看客户端的可靠程度。
此外,在此需要说明的是,在实际应用中,上述视频流分发方法可以应用于直播网站中的全部或者部分直播间。当上述视频流分发方法应用于部分直播间时,此部分直播间可以是人气值较高的一些直播间。而直播间的人气值可以通过统计预设时间段内此直播间的观看用户的人数以及观看用户的评论次数、赠送礼物的总价值等等数据的方式来获得。
本实施例中,分发服务器可以在建立数据传输连接之前,根据第二观看客户端的功能标识从直播间中的全部第二观看客户端内筛选出可以进行连接的第二观看客户端,以加快分发服务器建立数据传输连接的速度。同时,当分发服务器确定出多个第二观看客户端中都缓存有第一观看客户端所需的待播放视频流片段时,分发服务器还可以根据可靠程度在多个第二观看客户端中筛选出可靠程度较高的一些第二观看客户端。并控制这些可靠程度较高的第二客户端向第一观看客户端发送待播放视频流片段,以保证第一观看客户端可以顺畅的接收到待播放视频流片段,提高用户的观看直播的流畅性。而当分发服务器确定出第二观看客户端中未缓存有待播放视频流片段,此时,分发客户端则会控制 CDN节点向第一观看客户端发送待播放视频流片段。可见,利用上述视频流分发方法,第一观看客户端可以优先得到第二观看客户端缓存的待播放视频流片段。这样在第一用户在观看直播的过程中,可以减少第一观看客户端向CDN节点获取视频流片段的次数,也就可以相应地改善由于CDN节点的带宽有限而造成的视频流获取不顺畅的问题,提高用户观看直播的流畅性。
图3为本发明实施例提供的视频流分发装置实施例一的结构示意图,如图3 所示,该视频流分发装置包括:时间获取模块11、连接建立模块12、视频流确定模块13以及控制模块14。
时间获取模块11,用于获取第一用户进入直播间的进入时间。
连接建立模块12,用于建立第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接,其中,第一用户与第二用户处于同一直播间。
视频流确定模块13,用于确定第二观看客户端是否缓存有与进入时间对应的待播放视频流片段。
控制模块14,用于若第二观看客户端缓存有待播放视频流片段,则控制第二观看客户端将待播放视频流片段发送至第一观看客户端。
图3所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图4为本发明实施例提供的视频流分发装置实施例二的结构示意图,如图4 所示,在图3所示实施例基础上,该视频流分发装置中的控制模块14还用于:
若第二观看客户端未缓存有待播放视频流片段,则控制CDN节点发送待播放视频流片段至第一观看客户端。
可选地,该视频流分发装置中的控制模块14具体包括:
确定单元141,用于根据进入时间确定缓存有待播放视频流片段的N个第二观看客户端,其中,N>1。
选择单元142,用于从N个第二观看客户端中选择可靠程度最高的M个第二观看客户端,其中,1≤M<N。
控制单元143,用于控制M个第二客户端将M个待播放视频流片段发送至第一观看客户端。
可选地,该视频流分发装置还包括:接收模块21和可靠度确定模块22。
接收模块21,用于接收预设时间段内针对于N个第二客户端的反馈消息,其中,反馈消息中包括待播放视频流片段的状态信息。
可靠度确定模块22,用于根据状态信息确定N个第二客户端的可靠程度。
可选地,该视频流分发装置还包括:标识获取模块23和客户端确定模块24。
标识获取模块23,用于获取第二观看客户端的功能标识。
客户端确定模块24,用于根据功能标识确定直播间内与第一观看客户端建立数据传输连接的第二观看客户端。
图4所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
以上描述了视频流分发装置的内部功能和结构,在一个可能的设计中,产视频流分发装置的结构可实现为一电子设备,例如服务器。图5为本发明实施例提供的电子设备实施例一的结构示意图,如图5所示,该电子设备包括:存储器31,以及与存储器连接的处理器32,存储器31用于存储电子设备执行上述任一实施例中提供的视频流分发方法的程序,处理器32被配置为用于执行存储器31中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器 32执行时能够实现如下步骤:
获取第一用户进入直播间的进入时间;
建立第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接,其中,第一用户与第二用户处于同一直播间;
确定第二观看客户端是否缓存有与进入时间对应的待播放视频流片段;
若第二观看客户端缓存有待播放视频流片段,则控制第二观看客户端将待播放视频流片段发送至第一观看客户端。
可选地,处理器32还用于执行前述各方法步骤中的全部或部分步骤。
其中,电子设备的结构中还可以包括通信接口33,用于电子设备与其他设备或通信网络通信。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种视频流分发方法,其特征在于,包括:
获取第一用户进入直播间的进入时间;
建立所述第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接,其中,所述第一用户与所述第二用户处于同一直播间;
确定所述第二观看客户端是否缓存有与所述进入时间对应的待播放视频流片段;
若所述第二观看客户端缓存有所述待播放视频流片段,则控制所述第二观看客户端将所述待播放视频流片段发送至所述第一观看客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二观看客户端未缓存有所述待播放视频流片段,则控制CDN节点发送所述待播放视频流片段至所述第一观看客户端。
3.根据权利要求1或2所述的方法,其特征在于,所述控制所述第二观看客户端将所述待播放视频流片段发送至所述第一观看客户端,包括:
根据所述进入时间确定缓存有所述待播放视频流片段的N个第二观看客户端,其中,N>1;
从所述N个第二观看客户端中选择可靠程度最高的M个第二观看客户端,其中,1≤M<N;
控制所述M个第二客户端将M个所述待播放视频流片段发送至所述第一观看客户端。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收预设时间段内针对于所述N个第二客户端的反馈消息,其中,所述反馈消息中包括待播放视频流片段的状态信息;
根据所述状态信息确定所述N个第二客户端的可靠程度。
5.根据权利要求1所述的方法,其特征在于,在所述建立所述第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接之前,所述方法还包括:
获取第二观看客户端的功能标识;
根据所述功能标识确定所述直播间内与第一观看客户端建立数据传输连接的第二观看客户端。
6.一种视频流分发装置,其特征在于,包括:
时间获取模块,用于获取第一用户进入直播间的进入时间;
连接建立模块,用于建立所述第一用户使用的第一观看客户端与第二用户使用的第二观看客户端之间的数据传输连接,其中,所述第一用户与所述第二用户处于同一直播间;
视频流确定模块,用于确定所述第二观看客户端是否缓存有与所述进入时间对应的待播放视频流片段;
控制模块,用于若所述第二观看客户端缓存有所述待播放视频流片段,则控制所述第二观看客户端将所述待播放视频流片段发送至所述第一观看客户端。
7.根据权利要求6所述的装置,其特征在于,所述控制模块还用于:
若所述第二观看客户端未缓存有所述待播放视频流片段,则控制CDN节点发送所述待播放视频流片段至所述第一观看客户端。
8.根据权利要求6或7所述的装置,其特征在于,所述控制模块具体包括:
确定单元,用于根据所述进入时间确定缓存有所述待播放视频流片段的N个第二观看客户端,其中,N>1;
选择单元,用于从所述N个第二观看客户端中选择可靠程度最高的M个第二观看客户端,其中,1≤M<N;
控制单元,用于控制所述M个第二客户端将M个所述待播放视频流片段发送至所述第一观看客户端。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
标识获取模块,用于获取第二观看客户端的功能标识;
客户端确定模块,用于根据所述功能标识确定所述直播间内与所述第一观看客户端建立数据传输连接的第二观看客户端。
10.一种电子设备,其特征在于,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以实现权利要求1至5中任一项所述的方法。
CN201810129092.1A 2018-02-08 2018-02-08 视频流分发方法、装置及电子设备 Pending CN108322787A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810129092.1A CN108322787A (zh) 2018-02-08 2018-02-08 视频流分发方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810129092.1A CN108322787A (zh) 2018-02-08 2018-02-08 视频流分发方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN108322787A true CN108322787A (zh) 2018-07-24

Family

ID=62903872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810129092.1A Pending CN108322787A (zh) 2018-02-08 2018-02-08 视频流分发方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108322787A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213604A (zh) * 2019-05-27 2019-09-06 北京奇艺世纪科技有限公司 直播视频的共享方法、系统和装置及计算机可读存储介质
CN111654741A (zh) * 2019-03-04 2020-09-11 青岛海尔多媒体有限公司 视频数据获取方法及装置、计算机设备、存储介质
CN111836059A (zh) * 2019-04-23 2020-10-27 华为技术有限公司 一种媒体流发送方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065507A1 (en) * 2006-09-12 2008-03-13 James Morrison Interactive digital media services
CN104735044A (zh) * 2014-11-18 2015-06-24 深圳市同洲电子股份有限公司 一种流媒体直播方法及系统
CN107623723A (zh) * 2017-08-21 2018-01-23 腾讯科技(深圳)有限公司 视频直播数据的传输方法和装置、存储介质及电子装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065507A1 (en) * 2006-09-12 2008-03-13 James Morrison Interactive digital media services
CN104735044A (zh) * 2014-11-18 2015-06-24 深圳市同洲电子股份有限公司 一种流媒体直播方法及系统
CN107623723A (zh) * 2017-08-21 2018-01-23 腾讯科技(深圳)有限公司 视频直播数据的传输方法和装置、存储介质及电子装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654741A (zh) * 2019-03-04 2020-09-11 青岛海尔多媒体有限公司 视频数据获取方法及装置、计算机设备、存储介质
CN111836059A (zh) * 2019-04-23 2020-10-27 华为技术有限公司 一种媒体流发送方法、装置和设备
CN111836059B (zh) * 2019-04-23 2022-03-29 华为技术有限公司 一种媒体流发送方法、装置和设备
EP3883249A4 (en) * 2019-04-23 2022-05-11 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR TRANSMITTING MULTIMEDIA STREAM, AND DEVICE
CN110213604A (zh) * 2019-05-27 2019-09-06 北京奇艺世纪科技有限公司 直播视频的共享方法、系统和装置及计算机可读存储介质
CN110213604B (zh) * 2019-05-27 2021-08-20 北京奇艺世纪科技有限公司 直播视频的共享方法、系统和装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US10112109B2 (en) Shared multimedia experience including user input
US7720986B2 (en) Method and system for media adaption
CN107071584A (zh) 直播连麦方法及装置
CN106878769A (zh) 直播视频质量监测方法和装置
CN107105309A (zh) 直播调度方法及装置
US20090113039A1 (en) Method and system for content handling
US8266647B2 (en) System and method to validate restriction event control streams sent to a video distribution system
CN105472443A (zh) 一种直播源控制方法及系统
CN104735473B (zh) 一种视频流播放的检测方法及装置
CN109274982B (zh) 视频轮播方法、装置、计算机设备以及存储介质
CA2780530C (en) Mosaic application for generating output utilizing content from multiple television receivers
CN108462896A (zh) 直播数据流处理方法、装置及电子设备
CN108322787A (zh) 视频流分发方法、装置及电子设备
WO2017084279A1 (zh) 网络直播方法、装置及系统
KR20110059650A (ko) Iptv 채널 선택을 위한 개선된 장치
CN106817628A (zh) 一种网络直播平台
CN106791975A (zh) 一种视频直播的方法、终端设备和视频直播系统
CN107404670A (zh) 一种视频播放控制方法及装置
CN106209824A (zh) 数据的云编辑方法、系统以及云编辑的客户端
CN106792244A (zh) 视频直播方法及装置
CN105791987B (zh) 媒体数据播放的方法及终端
US20090049484A1 (en) Method and system for image alteration
US8621538B2 (en) Method and system for providing subscription data
CN104994412B (zh) 一种信息推送方法及装置
CN112565016B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180724