CN107277558A - 一种实现直播视频同步的播放器客户端、系统及方法 - Google Patents
一种实现直播视频同步的播放器客户端、系统及方法 Download PDFInfo
- Publication number
- CN107277558A CN107277558A CN201710466115.3A CN201710466115A CN107277558A CN 107277558 A CN107277558 A CN 107277558A CN 201710466115 A CN201710466115 A CN 201710466115A CN 107277558 A CN107277558 A CN 107277558A
- Authority
- CN
- China
- Prior art keywords
- video
- numbering
- frame
- target
- fragment
- 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.)
- Granted
Links
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/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- 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
-
- 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/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (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
本发明公开了一种实现直播视频同步的系统、播放器客户端及方法,所述系统包括直播视频源、视频服务器以及播放器客户端,所述直播视频源用于向所述视频服务器推送视频流;所述视频服务器用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;所述播放器客户端用于与所述视频服务器中的视频编号保持同步,并从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。本申请提供的技术方案,能够减轻视频服务器的负载,并保证视频直播的实时性。
Description
技术领域
本发明涉及视频直播技术领域,特别涉及一种实现直播视频同步的播放器客户端、系统及方法。
背景技术
随着通信技术的不断发展,视频直播行业正在兴起。当前,视频直播的服务通常可以由直播平台提供,该直播平台可以同时与主播客户端以及用户客户端进行连接。其中,主播客户端可以作为直播视频的源头,在录制直播内容的同时,将录制的直播内容实时推送至直播平台的服务器中。然后,用户客户端可以从直播平台的服务器处获取主播客户端推送的直播内容。这样便可以实现直播视频的推送和观看的过程。
目前,直播系统通常存在如下问题:1.用户客户端在下载直播内容时,有时候会受到网络波动的影响,导致一段时间内无法获取到当前的直播内容。这样,在用户客户端中便会出现直播中止的卡顿画面。同时在多次卡顿之后,如果没有相关的追赶机制会导致用户看到的直播画面越来越落后于主播推流的画面,严重影响用户体验。2.当主播推流出现网络波动的时候,用户客户端无法获取直播内容,通常会向直播平台的服务器发起回源请求。一旦大量的用户客户端同时发起回源请求时,会导致直播平台的服务器的负载陡增。由于网络波动是频繁存在的,因此现有的直播平台的服务器就会频繁地接收到大量的回源请求,会对直播平台的服务器产生较大的负载,从而会加大服务器的维护成本。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种实现直播视频同步的播放器客户端、系统及方法。所述技术方案如下:
一方面,一种实现直播视频同步的播放器客户端,所述播放器客户端与视频服务器保持通信连接,所述播放器客户端用于与所述视频服务器中的视频编号保持同步,其中,每个所述视频编号与一个视频片段相关联;从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
另一方面,一种实现直播视频同步的系统,所述系统包括直播视频源、视频服务器以及播放器客户端,所述直播视频源用于向所述视频服务器推送视频流;所述视频服务器用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;所述播放器客户端用于与所述视频服务器中的视频编号保持同步,其中,每个所述视频编号与一个视频片段相关联;从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
另一方面,一种实现直播视频同步的方法,所述方法包括:直播视频源向视频服务器推送视频流;所述视频服务器将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;播放器客户端与所述视频服务器中的视频编号保持同步,并从所述视频服务器中下载待播放的视频片段;所述播放器客户端根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
由上可见,在本申请中,视频服务器可以按照时间顺序将直播视频源推送的视频流进行切片和编号,这样,根据视频片段的编号,便可以确定视频片段在整个视频流中所处的位置。播放器客户端在播放直播内容时,可以与视频服务器保持视频编号的同步,这样,在播放器客户端中可以存储最新同步的第一编号。此外,播放器客户端在从视频服务器中下载视频片段时,同样可以记录最新完成下载的视频片段的第二编号。同时,在播放器客户端按照顺序播放视频片段时,可以记录当前正在播放的视频片段的第三编号。在本申请中,对上述的第一编号、第二编号以及第三编号进行分析后,可以确定出当前应当播放的目标视频片段。这样确定出的目标视频片段可以与视频服务器中最新完成编号的视频片段之间保持一定的延时。因此,在确定出所述目标视频片段后,可以直接从当前正在播放的视频片段跳转至所述目标视频片段,从而能够时刻保证当前正在播放的视频片段与最新完成编号的视频片段之间存在一定的延时。这样,能够使得播放器客户端始终处于播放状态,不会由于获取不到视频数据而向视频服务器发送回源请求,从而减轻了视频服务器的负载。此外,由于当前正在播放的视频片段与最新完成编号的视频片段之间始终存在一定的延时,从而使得直播视频源推送的视频流在视频服务器中有足够的时间完成审核,从而保证了播放器客户端播出的内容均为合法的内容。而且,在播放客户端出现网络抖动导致卡顿时,播放器可以自动的跳转到新的目标视频片段进行播放下载,避免了客户端因为网络抖动越播越慢,有效的提升了用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一中实现直播视频同步的系统架构示意图;
图2是本发明实施例一中视频切片的示意图;
图3是本发明实施例三中实现直播视频同步的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本申请提供一种实现直播视频同步的系统,请参阅图1,所述系统可以包括直播视频源100、视频服务器200以及播放器客户端300。其中,所述直播视频源可以是发布直播内容的主播客户端。所述直播视频源可以是具备摄像功能和网络通信功能的电子设备。例如,所述直播视频源可以是计算机(台式电脑、笔记本电脑)、智能手机、平板电脑、智能可穿戴设备等。所述视频服务器可以是直播平台的业务服务器。例如,所述视频服务器可以是斗鱼、虎牙、战旗等直播平台的后台服务器。所述播放器客户端可以是用户使用的具备视频播放功能的电子设备。例如,所述播放器客户端同样可以是计算机(台式电脑、笔记本电脑)、智能手机、平板电脑、智能可穿戴设备等。所述播放器客户端还可以是安装于上述电子设备中的软件。例如,所述播放器客户端可以是斗鱼、虎牙、战旗等直播平台在手机中的应用(Application,APP)。
在本实施方式中,所述直播视频源可以用于向所述视频服务器推送视频流。所述视频服务器在接收到所述视频流之后,可以将所述视频流进行切片。具体地,请参阅图2,所述视频服务器可以按照固定的时间间隔或者固定的帧数对所述视频流进行切片。例如,所述视频服务器可以每20秒划分一个视频片段,或者每100帧划分一个视频片段。这样,视频服务器便可以将接收到的视频流划分为多个视频片段。在本实施方式中,在划分视频片段时,还可以按照时间顺序为切片后的视频片段设置视频编号。具体地,所述时间顺序可以是视频流的播放顺序,播放时间越靠后的视频片段,其对应的视频编号也可以越大。
请参阅图1,在本实施方式中,所述视频服务器200中可以包括视频流接收单元201、审核处理单元202以及视频编号单元203,其中,所述视频流接收单元201可以用于接收所述直播视频源发来的所述视频流,并将所述视频流分别发送至所述审核处理单元202和所述视频编号单元203处。所述视频编号单元203可以用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号。所述审核处理单元202可以用于识别所述视频流中每一帧的内容,以判断所述视频流中是否出现违禁内容。具体地,所述审核处理单元202可以将每一帧中的内容与违禁内容数据库中的内容进行对比,当相似度超过指定阈值时,则可以判定当前帧中的内容存在违禁内容。在实际应用过程中,可以提取每一帧的特征向量,该特征向量中的各个元素例如可以是一帧画面中各个像素点的像素值。同时,违禁内容数据库中的画面也可以通过特征向量的形式进行表示。这样,在提取出每一帧对应的特征向量后,可以计算每一帧的特征向量与各个违禁内容的特征向量之间的空间距离。若计算的空间距离小于指定距离阈值,则表明两者的相似度较高,可以将该帧画面的内容判定为违禁内容。
在本实施方式中,所述播放器客户端300可以包括编号同步单元301、视频下载单元302以及视频播放单元303。
其中,所述编号同步单元301可以用于从所述视频服务器中读取生成的视频编号,并存储读取的所述视频编号。这样,所述播放器客户端便可以与所述视频服务器中的视频编号保持同步。
所述视频下载单元302可以按照视频编号从小到大的顺序,依次从所述视频服务器中下载完成切片的视频片段,并存储下载的所述视频片段。所述视频下载单元下载的视频片段可以由所述视频播放单元进行播放。具体地,所述视频播放单元可以按照视频编号从小到大的顺序,依次从所述视频下载单元中读取并播放完成下载的视频片段。例如,视频播放单元在读取完视频编号为1的视频片段后,可以播放该视频编号为1的视频片段。同时还可以继续读取视频编号为2的视频片段。
在本实施方式中,所述播放器客户端300中还可以包括追帧单元304,所述追帧单元304可以接收所述编号同步单元发来的最新同步的第一编号N1、接收所述视频下载单元发来的完成下载的最新视频片段的第二编号N2并且接收所述视频播放单元发来的当前正在播放的视频片段的第三编号N3。第一编号N1是指视频服务器最新的视频片段编号。在实际应用过程中,N1通常会大于N2。原因在于,同步编号的过程中仅需要传输表征编号的报文,数据量非常小,因此同步编号的速度相当快。而下载视频片段的过程中涉及的视频片段的数据量比较大,因此下载视频片段的速度会比较慢。这样,播放器客户端可以在较短的时间内完成同步视频编号的过程,从而导致最新同步的视频片段的编号往往会大于最新完成下载的视频片段的编号。在实际应用过程中,N2通常会大于或者等于N3。原因在于,视频播放单元是从视频下载单元中读取视频片段,因此视频播放单元播放的视频片段的编号始终不会大于视频下载单元中最新完成下载的视频片段的编号。
在实际应用场景中,当网络出现波动时,至少会出现以下几种情况:
1)直播视频源与视频服务器之间出现网络波动,导致视频流无法及时上传至视频服务器。在这种情况下,由于视频流停止或者放缓,导致视频编号的速度也会停止或者放缓。这样,N1的增长速度便会停止或者放缓。而由于播放器客户端与视频服务器之间网络正常,因此N2和N3都会按照正常的速度在增长。这样,N2会逐渐逼近N1,直至与N1相等时,播放器客户端便无法再从视频服务器处获取数据,此时可能会引发播放器客户端向视频服务器发起无效回源请求。
2)视频服务器与播放器客户端之间出现网络波动,导致播放器客户端无法及时地下载视频片段。此时,由于视频编号同步时设计的数据量较小,因此N1的增长速度并不会受到太大影响,N1会正常增长。而由于下载速度变慢,从而导致N2的增长速度放缓。由于在播放器客户端中会按照正常的速度播放已经下载的视频片段,因此N3的增长速度也会正常。这样会导致N1和N2之间的差距越来越大,而N2与N3之间的差距越来越小。当N3与N2相等时,用户观看的画面便会频繁地卡顿,原因在于只有在下载完视频片段后才能向用户播放。这样的情况尽管不会导致发起无效回源请求,但是会严重影响用户的观看体验。此外,就算网络恢复正常,N1和N2之间的差距也已经变得很大,这样导致的问题就是用户观看到的内容会与主播当前实际录制的内容存在相当大的延时,失去了直播的意义。
上述的两种情况只是本申请中的例举,并非表示实际场景中仅会存在上述两种情况。
鉴于此,本申请中的播放器客户端可以根据第一编号、第二编号以及第三编号,确定待跳转的目标视频片段。所述目标视频片段可能与当前正在播出的视频片段之间存在一定的间隔,因此,在确定出所述目标视频片段之后,可以从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。这样处理的目的在于,始终保持当前正在播出的视频片段与最新完成编号的视频片段之间相隔一定的间距,一方面保证不会由于没有视频片段播放而产生无效回源请求,另一方面还可以保证用户观看直播视频的实时性,再者还能使得视频服务器中有足够的时间完成视频流的审核过程。
在本实施方式中,所述追帧单元304可以基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;其中,所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括后退追帧或者前进追帧。
具体地,所述追帧方式可以通过数值来表示,例如,1可以表示前进追帧,-1可以表示后退追帧,0可以表示不追帧。在本实施方式中,所述追帧单元中可以包括追帧方式确定模块,所述追帧方式确定模块可以根据所述第一编号、所述第二编号以及所述第三编号计算追帧值。具体地,在本实施方式中可以通过函数拟合的方式来计算追帧值。例如,所述函数拟合后的结果可以是:
X=a·N1+b·N2+c·N3+D
其中,X表示所述追帧值,a、b、c分别为拟合系数,D表示偏置值。
在本实施方式中,所述拟合系数和偏置值均可以为常数,例如,所述拟合系数可以分别为1、-1和0,所述偏置值也可以为0。这样,假设N1(参数值,下文同)为30,N2(参数值,下文同)为15,N3(参数值,下文同)为13,那么计算出的追帧值可以为15。在本实施例中,第一阈值和第二阈值的含义是指,下载第二编号和视频服务器第一编号之间的差值的最大值和最小值。
在本实施方式中,可以将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用后退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。而当所述追帧值处于第一阈值和第二阈值之间时,便可以不进行追帧操作。
例如,所述第一阈值可以为10,所述第二阈值可以为3,这样,上述计算出的追帧值为15,大于第一阈值,从而可以确定当前采用前进追帧的方式。这样处理的目的在于,视频片段的最新编号为30,而最新完成下载的视频片段的编号仅为15,当前正在播放的视频片段的编号仅为13,表明当前正在下载的视频片段与主播实际录制的视频片段之间相差太大了,直播已经不具备实时性了,此时可以直接前进追帧,从距离N1较近的视频片段处开始播放,从而保证直播视频的实时性。由此可见,这种方式可以解决上述的情况2)中产生的直播失去实时性的问题。
在另一个例子中,假设N1为30,N2为28,N3为26,那么计算出的追帧值可以为2,小于第二阈值,从而可以确定当前采用后退追帧的方式。这样处理的目的在于,视频片段的最新编号为30,而最新完成下载的视频片段的编号已达到28,当前正在播放的视频片段的编号也已经达到26,表明当前正在播放的视频片段已经十分接近主播推送的最新视频片段。这样的话,主播推送的视频片段很有可能来不及审核就被播放出去了,甚至会出现N2逼近N1的情况,导致无效回源请求的发生。这样,按照本申请的方案,可以采用后退追帧的方式,从距离N1较远的视频片段处开始播放,从而使得当前正在播放的视频片段与主播最新推送的视频片段之间保持一定的距离,不仅为视频片段的审核争取了时间,也避免了由于无内容可播时导致的无效回源请求的发生。
在本实施方式中,在确定了追帧方式之后,还可以进一步确定追帧之后的目标视频片段。具体地,所述追帧单元中可以包括目标视频片段确定模块,所述目标视频片段确定模块可以用于根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。在本实施方式中同样可以通过函数拟合的方式来计算所述目标编号。例如,所述函数拟合后的结果可以是:
Y=d·N1+e·N2+f·N3-H
其中,Y表示所述目标编号,d、e、f分别为拟合系数,H表示指定延时参数。
在本实施方式中,所述拟合系数和指定延时参数均可以为常数,例如,所述拟合系数可以分别为1、0和0,所述指定延时参数可以为6。这样,假设N1为30,N2为15,N3为13,那么计算出的目标编号可以为30-6=24。由上可知,需要追赶至视频编号为24的视频片段处。这样,可以从视频编号为24的视频片段处开始下载和播放的过程,从而缩小当前正在播放的视频片段与最新完成编号的视频片段之间的距离,以保证直播视频的实时性。
需要说明的是,上述的目标编号是根据指定延时参数进行延时的编号。在实际应用过程中,所述指定延时参数也可以为0,本申请对此并不做限定。也就是说,所述目标视频片段确定模块可以根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段;还可以在计算出的所述目标编号的基础上减去指定延时参数,得到经过延时的目标编号,按照所述追帧方式追赶所述经过延时的目标编号,并将所述经过延时的目标编号对应的视频片段作为所述目标视频片段。
在本实施方式中,在确定出目标视频片段后,如果所述目标视频片段与当前正在播放的视频片段的编号不同,则可以从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
在本实施方式中,所述追帧单元还可以用于将所述目标视频片段的编号发送至所述视频下载单元,这样,所述视频下载单元便可以按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
需要说明的是,为了保证视频直播的合法性,当本申请中的审核处理单元识别出的内容属于违禁内容时,所述审核处理单元可以向所述视频编号单元以及所述播放器客户端发送停止指令,以使得所述视频编号单元停止切片和编号的操作,并使得所述播放器客户端停止播放视频。
实施例二
本申请还提供一种实现直播视频同步的播放器客户端,所述播放器客户端与视频服务器保持通信连接,所述播放器客户端用于与所述视频服务器中的视频编号保持同步,其中,每个所述视频编号与一个视频片段相关联;从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
在本实施方式中,所述播放器客户端包括编号同步单元、视频下载单元以及视频播放单元,其中:
所述编号同步单元,用于从所述视频服务器中读取生成的视频编号,并存储读取的所述视频编号;
所述视频下载单元,用于按照视频编号从小到大的顺序,依次从所述视频服务器中下载完成切片的视频片段,并存储下载的所述视频片段;
所述视频播放单元,用于从所述视频下载单元中读取并播放完成下载的视频片段。
在本实施方式中,所述播放器客户端中还包括追帧单元,所述追帧单元用于接收所述编号同步单元发来的最新同步的第一编号、接收所述视频下载单元发来的完成下载的最新视频片段的第二编号并且接收所述视频播放单元发来的当前正在播放的视频片段的第三编号;基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括后退追帧或者前进追帧。
在本实施方式中,所述追帧单元中包括追帧方式确定模块,所述追帧方式确定模块用于根据所述第一编号、所述第二编号以及所述第三编号计算追帧值,并将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用后退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。
在本实施方式中,所述追帧单元中还包括目标视频片段确定模块,所述目标视频片段确定模块用于根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。
在本实施方式中,所述目标视频片段确定模块还包括延时参数设定模块,用于在计算出的所述目标编号的基础上减去指定延时参数,得到经过延时的目标编号,按照所述追帧方式追赶所述经过延时的目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。
在本实施方式中,所述追帧单元还用于将所述追帧方式和/或所述目标视频片段的编号发送至所述视频下载单元;
相应地,所述视频下载单元还用于按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
实施例三
请参阅图3,本申请还提供一种实现直播视频同步的方法,所述方法包括:
S1:直播视频源向视频服务器推送视频流;
S2:所述视频服务器将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;
S3:播放器客户端与所述视频服务器中的视频编号保持同步,并从所述视频服务器中下载待播放的视频片段;
S4:所述播放器客户端根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
在本实施方式中,所述方法还包括:
所述播放器客户端基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括后退追帧或者前进追帧。
在本实施方式中,所述追帧方式按照下述方式确定:
根据所述第一编号、所述第二编号以及所述第三编号计算追帧值,并将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;
当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用后退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。
在本实施方式中,所述目标视频片段按照下述方式确定:
根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。
在本实施方式中,所述方法还包括:
在计算出的所述目标编号的基础上减去指定延时参数,得到经过延时的目标编号,并按照所述追帧方式追赶所述经过延时的目标编号,将所述目标编号对应的视频片段作为所述目标视频片段。
在本实施方式中,所述方法还包括:
按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
由上可见,在本申请中,视频服务器可以按照时间顺序将直播视频源推送的视频流进行切片和编号,这样,根据视频片段的编号,便可以确定视频片段在整个视频流中所处的位置。播放器客户端在播放直播内容时,可以与视频服务器保持视频编号的同步,这样,在播放器客户端中可以存储最新同步的第一编号。此外,播放器客户端在从视频服务器中下载视频片段时,同样可以记录最新完成下载的视频片段的第二编号。同时,在播放器客户端按照顺序播放视频片段时,可以记录当前正在播放的视频片段的第三编号。在本申请中,对上述的第一编号、第二编号以及第三编号进行分析后,可以确定出当前应当播放的目标视频片段。这样确定出的目标视频片段可以与视频服务器中最新完成编号的视频片段之间保持一定的延时。因此,在确定出所述目标视频片段后,可以直接从当前正在播放的视频片段跳转至所述目标视频片段,从而能够时刻保证当前正在播放的视频片段与最新完成编号的视频片段之间存在一定的延时。这样,能够使得播放器客户端始终处于播放状态,不会由于获取不到视频数据而向视频服务器发送无效回源请求,从而减轻了视频服务器的负载。此外,由于当前正在播放的视频片段与最新完成编号的视频片段之间始终存在一定的延时,从而使得直播视频源推送的视频流在视频服务器中有足够的时间完成审核,从而保证了播放器客户端播出的内容均为合法的内容。而且,在播放客户端出现网络抖动导致卡顿时,播放器可以自动的跳转到新的目标视频片段进行播放下载,避免了客户端因为网络抖动越播越慢,有效的提升了用户体验。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种实现直播视频同步的播放器客户端,所述播放器客户端与视频服务器保持通信连接,其特征在于:
所述播放器客户端用于与所述视频服务器中的视频编号保持同步,其中,每个所述视频编号与一个视频片段相关联;从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
2.根据权利要求1所述的播放器客户端,其特征在于,所述播放器客户端包括编号同步单元、视频下载单元以及视频播放单元,其中:
所述编号同步单元,用于从所述视频服务器中读取生成的视频编号,并存储读取的所述视频编号;
所述视频下载单元,用于按照视频编号从小到大的顺序,依次从所述视频服务器中下载完成切片的视频片段,并存储下载的所述视频片段;
所述视频播放单元,用于按照视频编号从小到大的顺序,依次从所述视频下载单元中读取并播放完成下载的视频片段。
3.根据权利要求2所述的播放器客户端,其特征在于,所述播放器客户端中还包括追帧单元,所述追帧单元用于接收所述编号同步单元发来的最新同步的第一编号、接收所述视频下载单元发来的完成下载的最新视频片段的第二编号并且接收所述视频播放单元发来的当前正在播放的视频片段的第三编号;基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括后退追帧或者前进追帧。
4.根据权利要求3所述的播放器客户端,其特征在于,所述追帧单元中包括追帧方式确定模块,所述追帧方式确定模块用于根据所述第一编号、所述第二编号以及所述第三编号计算追帧值,并将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用后退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。
5.根据权利要求3所述的播放器客户端,其特征在于,所述追帧单元中包括目标视频片段确定模块,所述目标视频片段确定模块用于根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。
6.根据权利要求5所述的播放器客户端,其特征在于,所述目标视频片段确定模块还包括延时参数设定模块,用于在计算出的所述目标编号的基础上减去指定延时参数,得到经过延时的目标编号,按照所述追帧方式追赶所述经过延时的目标编号,并将所述延时的目标编号对应的视频片段作为所述目标视频片段。
7.根据权利要求3所述的播放器客户端,其特征在于,所述追帧单元还用于将所述追帧方式和所述目标视频片段的编号发送至所述视频下载单元;
相应地,所述视频下载单元还用于按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
8.一种实现直播视频同步的系统,其特征在于,所述系统包括直播视频源、视频服务器以及根据权利要求1至7中任一项所述的播放器客户端,所述直播视频源用于向所述视频服务器推送视频流;所述视频服务器用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号。
9.根据权利要求1所述的系统,其特征在于,所述视频服务器中还包括视频流接收单元、审核处理单元以及视频编号单元,其中:
所述视频流接收单元,用于接收所述直播视频源发来的所述视频流,并将所述视频流分别发送至所述审核处理单元和所述视频编号单元处;
所述视频编号单元,用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;
所述审核处理单元用于识别所述视频流中每一帧的内容,当识别出的内容属于违禁内容时,向所述视频编号单元以及所述播放器客户端发送停止指令,以使得所述视频编号单元停止切片和编号的操作,并使得所述播放器客户端停止播放视频。
10.一种实现直播视频同步的方法,其特征在于,所述方法包括:
直播视频源向视频服务器推送视频流;
所述视频服务器将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;
播放器客户端与所述视频服务器中的视频编号保持同步,并从所述视频服务器中下载待播放的视频片段;
所述播放器客户端根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述播放器客户端基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括后退追帧或者前进追帧。
12.根据权利要求11所述的方法,其特征在于,所述追帧方式按照下述方式确定:
根据所述第一编号、所述第二编号以及所述第三编号计算追帧值,并将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;
当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用后退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。
13.根据权利要求11所述的方法,其特征在于,所述目标视频片段按照下述方式确定:
根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
在计算出的所述目标编号的基础上减去指定延时参数,得到经过延时的目标编号,按照所述追帧方式追赶所述经过延时的目标编号,并将所述经过延时的目标编号对应的视频片段作为所述目标视频片段。
15.根据权利要求11所述的方法,其特征在于,所述方法还包括:
按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710466115.3A CN107277558B (zh) | 2017-06-19 | 2017-06-19 | 一种实现直播视频同步的播放器客户端、系统及方法 |
PCT/CN2017/092764 WO2018232795A1 (zh) | 2017-06-19 | 2017-07-13 | 一种实现直播视频同步的播放器客户端、系统及方法 |
EP17849863.0A EP3448041A4 (en) | 2017-06-19 | 2017-07-13 | VIDEO PLAYER CLIENT, SYSTEM AND METHOD FOR SYNCHRONIZING A LIVE BROADCAST VIDEO |
US15/737,959 US20180367827A1 (en) | 2017-06-19 | 2017-07-13 | Player client terminal, system, and method for implementing live video synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710466115.3A CN107277558B (zh) | 2017-06-19 | 2017-06-19 | 一种实现直播视频同步的播放器客户端、系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107277558A true CN107277558A (zh) | 2017-10-20 |
CN107277558B CN107277558B (zh) | 2020-03-31 |
Family
ID=60067800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710466115.3A Expired - Fee Related CN107277558B (zh) | 2017-06-19 | 2017-06-19 | 一种实现直播视频同步的播放器客户端、系统及方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3448041A4 (zh) |
CN (1) | CN107277558B (zh) |
WO (1) | WO2018232795A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900906A (zh) * | 2018-06-19 | 2018-11-27 | 网宿科技股份有限公司 | 一种直播视频流的延时控制方法及装置 |
CN110519610A (zh) * | 2019-08-14 | 2019-11-29 | 咪咕文化科技有限公司 | 直播资源处理方法及系统、服务器和客户端设备 |
CN110933450A (zh) * | 2019-10-16 | 2020-03-27 | 咪咕文化科技有限公司 | 多路直播同步方法、系统、边缘设备、终端及存储介质 |
CN111277869A (zh) * | 2020-02-14 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、设备和存储介质 |
CN111405298A (zh) * | 2020-02-17 | 2020-07-10 | 重庆邮电大学 | 一种基于KCP协议的Android端到端直播方法 |
WO2021233123A1 (zh) * | 2020-05-21 | 2021-11-25 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备和存储介质 |
WO2022179306A1 (zh) * | 2021-02-26 | 2022-09-01 | 华为技术有限公司 | 一种音视频播放方法、装置和电子设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859159B (zh) * | 2020-08-05 | 2024-07-05 | 上海连尚网络科技有限公司 | 信息推送、视频处理方法和设备 |
CN112235592B (zh) * | 2020-10-15 | 2022-07-08 | 腾讯科技(北京)有限公司 | 直播方法、直播处理方法、装置、计算机设备 |
CN112351101B (zh) * | 2020-11-09 | 2024-04-26 | 武汉好多米科技有限公司 | 一种视频数据高速下载方法 |
CN112422693A (zh) * | 2020-12-02 | 2021-02-26 | 深圳市前海手绘科技文化有限公司 | 一种用户在线短视频草稿队列的导出方法 |
CN113301374A (zh) * | 2021-05-21 | 2021-08-24 | 北京字节跳动网络技术有限公司 | 直播音视频处理方法、装置、客户端和服务器 |
CN113422980B (zh) * | 2021-06-21 | 2023-04-14 | 广州博冠信息科技有限公司 | 视频数据处理方法及装置、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297452A (zh) * | 2012-02-24 | 2013-09-11 | 北京对角巷科技发展有限公司 | 一种在互联网发布和直播流媒体的方法及系统 |
CN103581698A (zh) * | 2012-07-31 | 2014-02-12 | 联想(北京)有限公司 | 终端设备以及视频数据发布方法 |
WO2014041547A1 (en) * | 2012-09-13 | 2014-03-20 | Yevvo Entertainment Inc. | Live video broadcasting from a mobile device |
WO2014124559A1 (zh) * | 2013-02-18 | 2014-08-21 | 华为技术有限公司 | 一种视频直播同步的方法及装置 |
CN106454492A (zh) * | 2016-10-12 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 一种基于延时传送的直播色情内容审核系统及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8775655B2 (en) * | 2005-10-21 | 2014-07-08 | Roxbeam Media Network Corporation | System and method for presenting streaming media content |
US20140280784A1 (en) * | 2013-03-15 | 2014-09-18 | General Instrument Corporation | File Transfer Based Upon Streaming Format |
CN105532013B (zh) * | 2013-07-12 | 2018-12-28 | 佳能株式会社 | 利用推送消息控制的自适应数据流传输方法 |
WO2016193052A1 (en) * | 2015-05-29 | 2016-12-08 | Nagravision S.A. | Method for initiating a transmission of a streaming content delivered to a client device and access point for implementing this method |
CN104902145B (zh) * | 2015-06-03 | 2017-12-15 | 无锡天脉聚源传媒科技有限公司 | 一种直播流视频的播放方法及装置 |
CN106412719B (zh) * | 2015-08-03 | 2019-04-30 | 中国移动通信集团江苏有限公司 | 一种视频混播的实现方法、装置及系统 |
CN106470352B (zh) * | 2015-08-18 | 2020-04-07 | 中兴通讯股份有限公司 | 直播频道播放方法、装置及系统 |
GB2544796B (en) * | 2015-11-27 | 2019-11-13 | British Telecomm | Video content synchronisation |
CN105847941B (zh) * | 2016-03-17 | 2019-02-19 | 央广视讯传媒股份有限公司 | 一种基于hls协议的音视频流直播方法 |
CN105872807A (zh) * | 2016-05-16 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种视频播放的方法和系统 |
-
2017
- 2017-06-19 CN CN201710466115.3A patent/CN107277558B/zh not_active Expired - Fee Related
- 2017-07-13 WO PCT/CN2017/092764 patent/WO2018232795A1/zh active Application Filing
- 2017-07-13 EP EP17849863.0A patent/EP3448041A4/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297452A (zh) * | 2012-02-24 | 2013-09-11 | 北京对角巷科技发展有限公司 | 一种在互联网发布和直播流媒体的方法及系统 |
CN103581698A (zh) * | 2012-07-31 | 2014-02-12 | 联想(北京)有限公司 | 终端设备以及视频数据发布方法 |
WO2014041547A1 (en) * | 2012-09-13 | 2014-03-20 | Yevvo Entertainment Inc. | Live video broadcasting from a mobile device |
WO2014124559A1 (zh) * | 2013-02-18 | 2014-08-21 | 华为技术有限公司 | 一种视频直播同步的方法及装置 |
CN106454492A (zh) * | 2016-10-12 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 一种基于延时传送的直播色情内容审核系统及方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900906A (zh) * | 2018-06-19 | 2018-11-27 | 网宿科技股份有限公司 | 一种直播视频流的延时控制方法及装置 |
CN110519610A (zh) * | 2019-08-14 | 2019-11-29 | 咪咕文化科技有限公司 | 直播资源处理方法及系统、服务器和客户端设备 |
CN110519610B (zh) * | 2019-08-14 | 2021-08-06 | 咪咕文化科技有限公司 | 直播资源处理方法及系统、服务器和客户端设备 |
CN110933450A (zh) * | 2019-10-16 | 2020-03-27 | 咪咕文化科技有限公司 | 多路直播同步方法、系统、边缘设备、终端及存储介质 |
CN111277869A (zh) * | 2020-02-14 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、设备和存储介质 |
CN111277869B (zh) * | 2020-02-14 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、设备和存储介质 |
CN111405298A (zh) * | 2020-02-17 | 2020-07-10 | 重庆邮电大学 | 一种基于KCP协议的Android端到端直播方法 |
WO2021233123A1 (zh) * | 2020-05-21 | 2021-11-25 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备和存储介质 |
US12058387B2 (en) | 2020-05-21 | 2024-08-06 | Tencent Technology (Shenzhen) Company Limited | Video processing method and apparatus, computer device, and storage medium |
WO2022179306A1 (zh) * | 2021-02-26 | 2022-09-01 | 华为技术有限公司 | 一种音视频播放方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2018232795A1 (zh) | 2018-12-27 |
CN107277558B (zh) | 2020-03-31 |
EP3448041A1 (en) | 2019-02-27 |
EP3448041A4 (en) | 2019-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107277558A (zh) | 一种实现直播视频同步的播放器客户端、系统及方法 | |
CN107566890B (zh) | 处理音频流播放异常的方法、装置、计算机装置及计算机可读存储介质 | |
US20200145731A1 (en) | Method and Apparatus For Selection of Content From A Stream of Data | |
AU2023202043A1 (en) | System and method for creating and distributing multimedia content | |
US9369780B2 (en) | Methods and systems for detecting one or more advertisement breaks in a media content stream | |
US20160149956A1 (en) | Media management and sharing system | |
CN110996134B (zh) | 视频播放方法、装置及存储介质 | |
CN111447505B (zh) | 视频剪辑方法、网络设备及计算机可读存储介质 | |
US20150350701A1 (en) | Methods and Systems for Managing Storage of Media Program Copies Within a Network Digital Video Recording System | |
EP3748972A1 (en) | Video recording method and system | |
US10433026B2 (en) | Systems and methods for customized live-streaming commentary | |
US20180367827A1 (en) | Player client terminal, system, and method for implementing live video synchronization | |
US20180098119A1 (en) | Audience measurement and feedback system | |
CN108235120A (zh) | 直播视频流推送方法、装置及电子设备 | |
CN108153882A (zh) | 一种数据处理方法及装置 | |
CN111966632A (zh) | 一种流式数据存储方法、读取方法、设备及可读存储介质 | |
CN115119009A (zh) | 视频对齐方法、视频编码方法、装置及存储介质 | |
AU2018275194A1 (en) | Temporal placement of a rebuffering event | |
CN106341700B (zh) | 一种视频帧率自动调节方法及系统 | |
CN107948206B (zh) | 一种多媒体数据下载/或上传的方法及系统 | |
CN111324576A (zh) | 一种录音数据保存的方法、装置、存储介质及终端设备 | |
CN110457002A (zh) | 一种多媒体文件处理方法、装置及计算机存储介质 | |
CN110113389A (zh) | 一种视频播放方法、装置、电子设备及存储介质 | |
US10091555B1 (en) | Linear programming consumption learning system | |
CN112653876A (zh) | 一种视频监控调整方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200331 |
|
CF01 | Termination of patent right due to non-payment of annual fee |