CN110087141A - 视频数据传输方法、装置、客户端及服务器 - Google Patents
视频数据传输方法、装置、客户端及服务器 Download PDFInfo
- Publication number
- CN110087141A CN110087141A CN201910355675.0A CN201910355675A CN110087141A CN 110087141 A CN110087141 A CN 110087141A CN 201910355675 A CN201910355675 A CN 201910355675A CN 110087141 A CN110087141 A CN 110087141A
- Authority
- CN
- China
- Prior art keywords
- video
- video data
- target
- download
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/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/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
-
- 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/654—Transmission by server directed to the client
-
- 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/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了视频数据传输方法、装置、客户端及服务器,该方法包括:获取当前时段内的视频数据的平均下载速度;确定平均下载速度对应的目标播放地址,其中,目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且平均下载速度与目标播放地址的视频数据的视频码率正相关;发送针对目标播放地址的下载请求,接收由服务端发送的目标播放地址的视频数据。本申请实施例的视频数据传输方法,能够提高网络带宽利用的合理度,同时视频码率高的视频数据分辨率和/或帧率高,视频码率低的视频数据卡顿情况少,能够提高用户的观看体验。
Description
技术领域
本申请涉及视频在线播放技术领域,特别是涉及视频数据传输方法、装置、客户端及服务器。
背景技术
在视频在线播放的过程中,针对同一视频源版本会设置多个不同清晰度的视频数据。例如,针对电影A,分别设置电影A的640×480分辨率的视频数据、800×600分辨率的视频数据及1024×768分辨率的视频数据。用户端在观看电影A时,可以人工选择相应分辨率的数据。
但是采用人工选择的方式,用户为了更好的视觉效果,会首先选择较高分辨率的视频数据,但是视频数据的分辨率越高,占用的带宽也就越多。在网络连接差时,高分辨率的视频数据所需的带宽会大于网络支持的带宽,从而会造成视频卡顿的情况。在视频卡顿时用户人工选取分辨率低的视频数据播放,从而减少视频卡顿情况,当网络连接质量变好时,用户无法感知网络质量变好,因此会继续观看低分辨率的视频数据,但实际上此时的网络连接支持高分辨率视频数据的播放,从而造成了带宽利用率低。
总之现有视频在线播放过程中无法合理利用网络带宽。
发明内容
本申请实施例的目的在于提供一种视频数据传输方法、装置、客户端及服务器,以实现提高网络带宽利用的合理度。具体技术方案如下:
第一方面,本申请实施例提供了一种视频数据传输方法,应用于客户端,所述方法包括:
获取当前时段内的视频数据的平均下载速度;
确定所述平均下载速度对应的目标播放地址,其中,所述目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且所述平均下载速度与所述目标播放地址的视频数据的视频码率正相关;
发送针对所述目标播放地址的下载请求,接收由服务端发送的所述目标播放地址的视频数据。
可选的,所述确定所述平均下载速度对应的目标播放地址,包括:
确定所述平均下载速度对应的目标码率;
在目标视频源版本的各视频数据的播放地址中,确实所述目标码率的视频数据的播放地址,得到所述目标播放地址,其中,所述目标视频源版本为当前正在播放的视频数据的视频源版本。
可选的,所述目标播放地址为目标统一资源定位符URL,所述确定所述平均下载速度对应的目标播放地址,包括:
获取第一URL对应的视频码率,得到第一视频码率;获取第二URL对应的视频码率,得到第二视频码率;获取第三URL对应的视频码率,得到第三视频码率;其中,所述第三视频码率大于所述第二视频码率,所述第二视频码率大于所述第一视频码率,所述第一URL的视频数据、所述第二URL的视频数据及所述第三URL的视频数据为目标视频源版本的三种不同码率的视频数据,所述目标视频源版本为当前正在播放的视频数据的视频源版本;
判断所述平均下载速度是否不小于第三速度阈值;
若所述平均下载速度不小于所述第三速度阈值,判定所述第三URL为所述平均下载速度对应的目标播放地址;
若所述平均下载速度小于所述第三速度阈值,判断所述平均下载速度是否不小于第二速度阈值;
若所述平均下载速度不小于所述第二速度阈值,判定所述第二URL为所述平均下载速度对应的目标播放地址。
可选的,在所述若所述平均下载速度小于所述第三速度阈值,判断所述平均下载速度是否不小于第二速度阈值之后,所述方法还包括:
若所述平均下载速度小于所述第二速度阈值,判断所述平均下载速度是否不小于所述第一视频码率;
若所述平均下载速度不小于所述第一视频码率,判定所述第一URL为所述平均下载速度对应的目标播放地址;
若所述平均下载速度小于所述第一视频码率,发出表征网络质量差的提示信息。
可选的,在所述若所述平均下载速度小于所述第三速度阈值,判断所述平均下载速度是否不小于第二速度阈值之后,所述方法还包括:
若所述平均下载速度小于所述第二速度阈值,判定所述第一URL为所述平均下载速度对应的目标播放地址。
可选的,在所述接收由服务端发送的所述目标播放地址的视频数据之后,所述方法还包括:
在播放完当前的视频切片时,播放所述目标播放地址的视频数据,其中,所述目标播放地址的视频数据与当前的视频切片所属的视频数据为同一视频源版本的视频数据,同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。
第二方面,本申请实施例提供了一种视频数据传输方法,应用于服务端,在所述服务端中同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同,所述方法包括:
获取由客户端发送的下载请求,确定所述下载请求对应的目标视频数据,其中,所述目标视频数据的视频源版本与所述客户端正在播放的视频数据的视频源版本相同,所述下载请求是所述客户端按照视频的平均下载速度确定的;
在所述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片;
按照时序顺序,从所述目标视频切片开始,向所述客户端发送所述目标视频数据。
可选的,所述在所述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片,包括:
获取所述客户端视频数据播放进度的时间戳,得到目标时间戳;
确定所述目标时间戳对应的视频切片,得到第一视频切片;
在所述目标视频数据的各视频切片中,按照时序顺序,确定所述第一视频切片的下一视频切片,得到目标视频切片。
可选的,所述下载请求中包括所述客户端当前正在播放的视频片段的时序标识;
所述在所述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片,包括:
按照所述下载请求中的时序标识,确定相应时序的视频切片,得到第一视频切片;
在所述目标视频数据的各视频切片中,按照时序顺序,确定所述第一视频切片的下一视频切片,得到目标视频切片。
第三方面,本申请实施例提供了一种视频数据传输装置,应用于客户端,所述装置包括:
平均速度计算模块,用于获取当前时段内的视频数据的平均下载速度;
目标地址确定模块,用于确定所述平均下载速度对应的目标播放地址,其中,所述目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且所述平均下载速度与所述目标播放地址的视频数据的视频码率正相关;
下载请求发送模块,用于发送针对所述目标播放地址的下载请求,接收由服务端发送的所述目标播放地址的视频数据。
可选的,所述目标地址确定模块,包括:
目标码率确定子模块,用于确定所述平均下载速度对应的目标码率;
目标地址确定子模块,用于在目标视频源版本的各视频数据的播放地址中,确实所述目标码率的视频数据的播放地址,得到所述目标播放地址,其中,所述目标视频源版本为当前正在播放的视频数据的视频源版本。
可选的,所述目标播放地址为目标统一资源定位符URL,所述目标地址确定模块,包括:
视频码率获取子模块,用于获取第一URL对应的视频码率,得到第一视频码率;获取第二URL对应的视频码率,得到第二视频码率;获取第三URL对应的视频码率,得到第三视频码率;其中,所述第三视频码率大于所述第二视频码率,所述第二视频码率大于所述第一视频码率,所述第一URL的视频数据、所述第二URL的视频数据及所述第三URL的视频数据为目标视频源版本的三种不同码率的视频数据,所述目标视频源版本为当前正在播放的视频数据的视频源版本;
第三阈值判断子模块,用于判断所述平均下载速度是否不小于第三速度阈值;
第一地址确定子模块,用于若所述平均下载速度不小于所述第三速度阈值,判定所述第三URL为所述平均下载速度对应的目标播放地址;
第二阈值判断子模块,用于若所述平均下载速度小于所述第三速度阈值,判断所述平均下载速度是否不小于第二速度阈值;
第二地址确定子模块,用于若所述平均下载速度不小于所述第二速度阈值,判定所述第二URL为所述平均下载速度对应的目标播放地址。
可选的,所述目标地址确定模块还包括:
第一阈值判断子模块,用于若所述平均下载速度小于所述第二速度阈值,判断所述平均下载速度是否不小于所述第一视频码率;
第三地址确定子模块,用于若所述平均下载速度不小于所述第一视频码率,判定所述第一URL为所述平均下载速度对应的目标播放地址;
提示信息生成子模块,用于若所述平均下载速度小于所述第一视频码率,发出表征网络质量差的提示信息。
可选的,所述目标地址确定模块还包括:
第五地址确定子模块,用于若所述平均下载速度小于所述第二速度阈值,判定所述第一URL为所述平均下载速度对应的目标播放地址。
可选的,所述装置还包括:
视频数据播放模块,用于在播放完当前的视频切片时,播放所述目标播放地址的视频数据,其中,所述目标播放地址的视频数据与当前的视频切片所属的视频数据为同一视频源版本的视频数据,同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。
第四方面,本申请实施例提供了一种视频数据传输装置,应用于服务端,在所述服务端中同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同,所述装置包括:
下载请求获取模块,用于获取由客户端发送的下载请求,确定所述下载请求对应的目标视频数据,其中,所述目标视频数据的视频源版本与所述客户端正在播放的视频数据的视频源版本相同,所述下载请求是所述客户端按照视频的平均下载速度确定的;
目标切片确定模块,用于在所述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片;
视频数据发送模块,用于按照时序顺序,从所述目标视频切片开始,向所述客户端发送所述目标视频数据。
可选的,所述目标切片确定模块,包括:
时间戳确定子模块,用于获取所述客户端视频数据播放进度的时间戳,得到目标时间戳;
第一切片确定子模块,用于确定所述目标时间戳对应的视频切片,得到第一视频切片;
目标切片确定子模块,用于在所述目标视频数据的各视频切片中,按照时序顺序,确定所述第一视频切片的下一视频切片,得到目标视频切片。
可选的,所述下载请求中包括所述客户端当前正在播放的视频片段的时序标识;所述目标切片确定模块,包括:
第一切片确定子模块,用于按照所述下载请求中的时序标识,确定相应时序的视频切片,得到第一视频切片;
目标切片确定子模块,用于在所述目标视频数据的各视频切片中,按照时序顺序,确定所述第一视频切片的下一视频切片,得到目标视频切片。
第五方面,本申请实施例提供了一种客户端,包括处理器及存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面任一所述的视频数据传输方法。
第六方面,本申请实施例提供了一种服务器,包括处理器及存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述第二方面任一所述的视频数据传输方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的视频数据传输方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面任一所述的视频数据传输方法。
本申请实施例提供的视频数据传输方法、装置、客户端及服务器,获取当前时段内的视频数据的平均下载速度;确定平均下载速度对应的目标播放地址,其中,目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且平均下载速度与目标播放地址的视频数据的视频码率正相关;发送针对目标播放地址的下载请求,接收由服务端发送的目标播放地址的视频数据。在平均下载速度大时下载的视频数据的视频码率高,在平均下载速度小时下载的视频数据的视频码率低,实现了根据平均下载速度自动选取相应视频码率的视频数据进行下载,能够提高网络带宽利用的合理度。同时视频码率高的视频数据分辨率和/或帧率高,视频码率低的视频数据卡顿情况少,能够提高用户的观看体验。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的视频数据传输方法的第一种示意图;
图2为本申请实施例的平均下载速度与视频码率对应关系的一种示意图;
图3为本申请实施例的视频数据传输方法的第二种示意图;
图4为本申请实施例的视频数据传输方法的第三种示意图;
图5为本申请实施例的视频数据传输方法的第四种示意图;
图6为本申请实施例的视频数据传输方法的第五种示意图;
图7为本申请实施例的视频数据传输装置的第一种示意图;
图8为本申请实施例的视频数据传输装置的第二种示意图;
图9为本申请实施例的客户端的一种示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在视频在线播放过程中,为了提高网络带宽利用的合理度,本申请实施例提供了一种视频数据传输方法,应用于客户端,参见图1,该方法包括:
S101,获取当前时段内的视频数据的平均下载速度。
本申请实施例的视频数据传输方法应用于客户端,因此可以通过客户端实现。客户端包括存储器及处理器,存储器中存储有计算机程序,处理器运行存储器中的计算机程序时,实现本申请实施例的应用于客户端的视频数据传输方法。具体的,客户端可以为电脑或智能手机等。
客户端以预先设定的时段为单位,计算时段内视频数据的平均下载速度。时段的时长可以按照实际要求进行设定,例如设置为30秒、1分钟或5分钟等。客户端统计当前时段的下载速度,并在当前时段结束时,计算当前时段内下载速度的均值,得到平均下载速度。
在刚开始播放视频数据时,因为还没有下载过数据,所以无法计算平均下载速度,为了减少卡顿情况,可以先按照视频码率最低的播放地址进行取流。当然也可以按照用户设定的默认清晰度视频的播放地址进行取流。在一种可能的实施方式中,客户端会记录上次播放的视频数据的清晰度或客户端使用频率最高的清晰度,并选取相应清晰度的播放地址作为开始播放时的取流地址。
S102,确定上述平均下载速度对应的目标播放地址,其中,上述目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且上述平均下载速度与上述目标播放地址的视频数据的视频码率正相关。
为了方便描述将平均下载速度对应的目标播放地址的视频数据成为第一视频数据,将当前客户端正在播放的视频数据称为第二视频数据。第一视频数据及第二视频数据为同一视频源版本的视频数据,从而保证下载请求发送前后用户观看的视频节目相同。同时第一视频数据及第二视频数据的可以为同一码率的视频数据,也可以为不同码率的视频数据,根据平均下载速度进行确定。平均下载速度与第一视频数据的视频码率正相关,是指随着平均下载速度的增加,第一视频数据的视频码率也相应增加,其中,本领域技术人员可以理解的是,鉴于服务端提供的视频数据的码率固定且有限,平均下载速度在一定范围内仅对应一种视频码率的视频数据,例如图2所示,在平均下载速度超出一定范围时,才会对应更大视频码率的视频数据。为了防止视频卡顿,可选的,第一视频数据的视频码率不大于上述平均下载速度。
S103,发送针对上述目标播放地址的下载请求,接收由服务端发送的上述目标播放地址的视频数据。
客户端向目标播放地址发送下载请求,服务端在接收到下载请求后,会返回目标播放地址的视频数据,客户端接收该视频数据。
在本申请实施例中,按照平均下载速度确定目标播放地址,并从目标下载地址处取流,因为平均下载速度与目标播放地址的视频数据的视频码率正相关,在平均下载速度大时下载的视频数据的视频码率高,在平均下载速度小时下载的视频数据的视频码率低,实现了根据平均下载速度自动选取相应视频码率的视频数据进行下载,能够提高网络带宽利用的合理度。同时视频码率高的视频数据分辨率和/或帧率高,视频码率低的视频数据卡顿情况少,能够提高用户的观看体验。
可选的,上述确定上述平均下载速度对应的目标播放地址,包括:
步骤一,确定上述平均下载速度对应的目标码率。
在一种可能的实施方式中,客户端会计算平均下载速度可以支持下载视频数据的最大码率,进而得到平均下载速度对应的目标码率。例如,在各视频数据帧率均相同的情况下,同一视频源版本包括640×480分辨率、800×600分辨率1024×768分辨率的三种视频数据,平均下载速度可以支持下载视频数据的分辨率为640×480及800×600,则将800×600作为平均下载速度对应的目标分辨率;例如平均下载速度可以支持下载视频数据的分辨率为640×480、800×600及1024×768,则将1024×768作为平均下载速度对应的目标分辨率。其中,若不存在平均下载速度支持的视频数据分辨率,则令目标视频源版本的各视频数据的最小分辨率为目标分辨率。
步骤二,在目标视频源版本的各视频数据的播放地址中,确实上述目标码率的视频数据的播放地址,得到上述目标播放地址,其中,上述目标视频源版本为当前正在播放的视频数据的视频源版本。
目标视频源版本为当前正在播放的视频数据的视频源版本,即第二视频数据的视频源版本。客户端按照目标码率,在目标视频源版本的各视频数据中,确定码率与目标码率相同的视频数据,并将该视频数据的播放地址作为目标播放地址。
在本申请实施例中,按照平均下载速度对应的目标码率确定目标播放地址,能够增加实际下载带宽与视频码率的匹配程度,从而提高用户的观看体验。
可选的,参见图3,上述目标播放地址为目标URL(Uniform Resource Locator,统一资源定位符),上述确定上述平均下载速度对应的目标播放地址,包括:
S1021,获取第一URL对应的视频码率,得到第一视频码率;获取第二URL对应的视频码率,得到第二视频码率;获取第三URL对应的视频码率,得到第三视频码率;其中,上述第三视频码率大于上述第二视频码率,上述第二视频码率大于上述第一视频码率,上述第一URL的视频数据、上述第二URL的视频数据及上述第三URL的视频数据为目标视频源版本的三种不同码率的视频数据,上述目标视频源版本为当前正在播放的视频数据的视频源版本。
第一URL、第二URL及第三URL分别为目标视频源版本的三种不同码率的视频数据的URL,其中,目标视频源版本为当前正在播放的视频数据的视频源版本,即第二视频数据的视频源版本。第一URL视频码率<第二URL视频码率<第三URL视频码率,相应的第一视频码率<第二视频码率<第三视频码率。
S1022,判断上述平均下载速度是否不小于第三速度阈值。
第三速度阈值大于第三视频码率。第三速度阈值可以按照实际情况进行设定。在一种可能的实施方式中,上述第三速度阈值为上述第三视频码率的二倍。
S1023,若上述平均下载速度不小于上述第三速度阈值,判定上述第三URL为上述平均下载速度对应的目标播放地址。
S1024,若上述平均下载速度小于上述第三速度阈值,判断上述平均下载速度是否不小于第二速度阈值。
第二速度阈值大于第二视频码率。第二速度阈值可以按照实际情况进行设定。在一种可能的实施方式中,上述第二速度阈值为上述第二视频码率的二倍。
S1025,若上述平均下载速度不小于上述第二速度阈值,判定上述第二URL为上述平均下载速度对应的目标播放地址。
在第二速度阈值≤平均下载速度<第三速度阈值时,将第二URL作为平均下载速度对应的目标播放地址。
一般情况下,视频在线播放的服务端会针对同一视频源版本设置高清、标清、流畅三种类型的视频数据,分别对应上述第三URL、第二URL及第一URL。本申请实施例中,从实际应用场景出发,满足用户的多种观看需求,能够直接应用于相关视频在线播放场景中,不需要服务端增加额外种类的视频数据,适用性强。并且以二倍的第三视频码率作为第三速度阈值,以二倍的第二视频码率作为第二速度阈值,能够保证服务端有足够的下载带宽,减少因网络瞬时波动而造成视频卡顿的情况,同时适用于用户快进及双倍速度播放的情况。
可选的,在上述若上述平均下载速度小于上述第三速度阈值,判断上述平均下载速度是否不小于第二速度阈值之后,上述方法还包括:
若上述平均下载速度小于上述第二速度阈值,判定上述第一URL为上述平均下载速度对应的目标播放地址。
在平均下载速度小于第二速度阈值时,说明当前网络质量较差,因此将视频码率最小的第一URL作为目标播放地址,从而尽量减少卡顿情况。
可选的,参见图4,在上述若上述平均下载速度小于上述第三速度阈值,判断上述平均下载速度是否不小于第二速度阈值之后,上述方法还包括:
S401,若上述平均下载速度小于上述第二速度阈值,判断上述平均下载速度是否不小于上述第一视频码率。
S402,若上述平均下载速度不小于上述第一视频码率,判定上述第一URL为上述平均下载速度对应的目标播放地址。
在第一视频码率≤平均下载速度<第二速度阈值时,说明当前网络能够支持第一URL的视频数据的播放,但是尚不足以支持第二URL的视频数据,因此将第一URL作为平均下载速度对应的目标播放地址。
S403,若上述平均下载速度小于上述第一视频码率,发出表征网络质量差的提示信息。
在平均下载速度小于第一视频码率时,说明当前网络不足以支持第一URL的视频数据的播放,发出表征网络差的提示信息,例如在客户端自身的屏幕或客户端连接的屏幕上显示当前网络质量差,是否继续播放的提示信息。
用户可以按照提示信息进行回复,在一种可能的实施方式中,在上述S403之后,上述方法还包括:
S404,在接收到用户的继续播放指令时,判定上述第一URL为上述平均下载速度对应的目标播放地址。
S405,在接收到用户的停止播放指令时,停止播放。
在本申请实施例中,在网络带宽不足以支撑第一视频码率时,发出表征网络质量差的提示信息,从而方便客户了解当前的网络状况,并根据用户的指令确定是否继续进行播放,能够满足用户的多种需求。
可选的,在上述接收由服务端发送的上述目标播放地址的视频数据之后,上述方法还包括:
在播放完当前的视频切片时,播放上述目标播放地址的视频数据,其中,上述目标播放地址的视频数据与当前的视频切片所属的视频数据为同一视频源版本的视频数据,同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。
服务端中同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。客户端在播放完当前的视频切片后,马上播放目标播放地址的视频数据。从而完成视频数据的无缝转换。
在一种可能的实施方式中,本申请实施例的视频数据传输方法可以如图5所示。
步骤一,获取用户获取用户请求播放的视频源版本的第一URL、第二URL及第三URL。
服务端中针对同一视频源版本设置高清、标清、流畅三种类型的视频数据,分别对应第三URL、第二URL及第一URL。第三URL、第二URL及第一URL的视频数据分别按照时序划分为相同数目的视频切片,且第三URL、第二URL及第一URL的视频数据中相同时序的视频切片的时长相同。
客户端在请求观看某个视频源版本时,获取该视频源版本的第一URL、第二URL及第三URL。例如,用户请求观看小品B,用户端向服务端发送小品B的播放请求,服务端向用户返回高清小品B的URL(即第三URL)、标清小品B的URL(即第二URL)及流畅小品B的URL(即第一URL)。第三URL的视频码率(第三视频码率)>第二URL的视频码率(第二视频码率)>第一URL的视频码率(第一视频码率)。
步骤二,开始播放时,按照第一URL取流播放。
在开始播放视频数据时,因为还没有下载过数据,为了减少卡顿情况,先按照第一URL取流播放。当然开始播放时,也可以按照第二URL或第三URL取流播放。在一种可能的实施方式中,客户端会记录上次播放的视频数据的清晰度或客户端使用频率最高的清晰度,并选取相应清晰度的URL作为开始播放时取流的URL。
步骤三,判断是否播放完所有视频切片,如果是则结束本次播放,如果否则执行步骤四。
客户端判断是否播放完所有视频切片,即判断当前的视频源版本视频是否播放完。如果播放完,则结束本次播放;如果为播放完,则执行步骤四。
步骤四,按照当前设置的URL取流播放。
客户端按照当前设置的用于取流的URL进行取流,并播放取流数据。
步骤五,获取当前时段内的视频数据的平均下载速度。
客户端以预先设定的时段为单位,计算时段内视频数据的平均下载速度。时段的时长可以按照实际要求进行设定,例如设置为30秒、1分钟或5分钟等。客户端统计当前时段的下载速度,并在当前时段结束时,计算当前时段内下载速度的均值,得到平均下载速度。
步骤六,判断平均下载速度是否不小于第三速度阈值,其中,第三速度阈值为第三视频码率的二倍。
客户端判断平均下载速度是否不小于第三速度阈值,如果平均下载速度不小于第三速度阈值,执行步骤七;如果平均下载速度小于第三速度阈值,执行步骤八。
步骤七,将第三URL设置为当前取流的URL。
在平均下载速度不小于第三速度阈值时,客户端判定第三URL为平均下载速度对应的目标播放地址,即将第三URL设置为当前取流的地址,并返回上述步骤三继续执行。
步骤八,判断平均下载速度是否不小于第二速度阈值,其中,第二速度阈值为第二视频码率的二倍。
在平均下载速度小于第三速度阈值时,客户端判断平均下载速度是否不小于第二速度阈值,如果平均下载速度不小于第二速度阈值,执行步骤九;如果平均下载速度小于第二速度阈值,执行步骤十。
步骤九,将第二URL设置为当前取流的URL。
在平均下载速度小于第三速度阈值,且不小于第二速度阈值时,客户端判定第二URL为平均下载速度对应的目标播放地址,即将第二URL设置为当前取流的地址,并返回上述步骤三继续执行。
步骤十,判断平均下载速度是否不小于第一视频码率。
在平均下载速度小于第二速度阈值时,客户端判断平均下载速度是否不小于第一视频码率,如果平均下载速度不小于第一视频码率,执行步骤十一;如果平均下载速度小于第一视频码率,执行步骤十二。
步骤十一,将第一URL设置为当前取流的URL。
在平均下载速度小于第二速度阈值,且不小于第一视频码率时,客户端判定第一URL为平均下载速度对应的目标播放地址,即将第一URL设置为当前取流的地址,并返回上述步骤三继续执行。
步骤十二,发出表征网络质量差的提示信息。
在平均下载速度小于第一视频码率时,说明当前网络不足以支持第一URL的视频数据的播放,发出表征网络差的提示信息,并提示用户是否继续播放。
步骤十三,按照用户指令,判断是否继续播放。
获取用户输入的用户指令,用户指令表征继续播放或停止播放。在用户指令表征继续播放时,执行步骤十一;在用户指令表征停止播放时,停止播放。
在本申请实施例中,按照平均下载速度确定取流的URL,并从该URL取流,在平均下载速度大时下载的视频数据的视频码率高,在平均下载速度小时下载的视频数据的视频码率低,实现了根据平均下载速度自动选取相应视频码率的视频数据进行下载,能够提高网络带宽利用的合理度。同时视频码率高的视频数据分辨率和/或帧率高,视频码率低的视频数据卡顿情况少,能够提高用户的观看体验。
本申请实施例还提供了一种视频数据传输方法,应用于服务端,参见图6,该方法包括:
S601,获取由客户端发送的下载请求,确定上述下载请求对应的目标视频数据,其中,上述目标视频数据的视频源版本与上述客户端正在播放的视频数据的视频源版本相同,上述下载请求是上述客户端按照视频的平均下载速度确定的。
本申请实施例的视频数据传输方法应用于服务端,因此可以通过服务器实现,服务器包括存储器及处理器,存储器中存储有计算机程序,处理器运行存储器中的计算机程序时,实现本申请实施例的应用于服务端的视频数据传输方法。
在服务端中,同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。
客户端发送的下载请求是针对具体URL的取流请求。可选的,上述获取由客户端发送的下载请求,确定上述下载请求对应的目标视频数据,包括:获取由客户端发送的下载请求,确定上述下载请求对应的目标URL。确定上述目标URL对应的视频视频,得到上述下载请求对应的目标视频数据。
在获取由客户端发送的下载请求,确定上述下载请求对应的目标视频数据之前,上述方法还包括:服务器获取用户的视频源版本请求,向用户返回相应视频源版本各清晰度的视频数据的播放地址(取流地址)。客户端通过上述任一应用于客户端的视频数据传输方法,发送下载请求。
S602,在上述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片。
服务器按照客户端视频数据的播放进度,在目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片。例如,客户端当前正在播放的视频切片的时序为11,则下一待播放的视频切片为时序为12的视频切片,即目标视频切片为时序12的视频切片。
可选的,上述在上述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片,包括:
步骤一,获取上述客户端视频数据播放进度的时间戳,得到目标时间戳。
步骤二,确定上述目标时间戳对应的视频切片,得到第一视频切片。
在目标视频数据的视频切片中,确定目标时间戳所在的视频切片,得到第一视频切片。例如,目标时间戳为2分钟30秒,视频切片A的时段为02分28秒至2分31秒,则视频切片A为第一视频切片。
步骤三,在上述目标视频数据的各视频切片中,按照时序顺序,确定上述第一视频切片的下一视频切片,得到目标视频切片。
可选的,上述下载请求中包括上述客户端当前正在播放的视频片段的时序标识;上述在上述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片,包括:
步骤一,按照上述下载请求中的时序标识,确定相应时序的视频切片,得到第一视频切片。
同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。针对同一视频源版本的各视频数据,相同时间点的视频切片除了分辨率外,内容相同,因此即使为不同分辨率的视频数据,按照下载请求切换取流地址后,不会产生视频内容时间上的跳变。
步骤二,在上述目标视频数据的各视频切片中,按照时序顺序,确定上述第一视频切片的下一视频切片,得到目标视频切片。
S603,按照时序顺序,从上述目标视频切片开始,向上述客户端发送上述目标视频数据。
服务器按照时序顺序,向客户端发送目标视频数据的目标视频切片及目标视频切片后的视频切片,直至获取到新的下载请求或目标视频数据发送完成。
在本申请实施例中,按照客户端的下载请求,发送相应的视频数据,下载请求是用户端按照平均下载速度确定的,在平均下载速度小时下载的视频数据的视频码率低,实现了根据平均下载速度自动选取相应视频码率的视频数据进行下载,能够提高网络带宽利用的合理度。同时视频码率高的视频数据分辨率和/或帧率高,视频码率低的视频数据卡顿情况少,能够提高用户的观看体验。
本申请实施例还提供了一种视频数据传输装置,参见图7,应用于客户端,该装置包括:
平均速度计算模块701,用于获取当前时段内的视频数据的平均下载速度;
目标地址确定模块702,用于确定上述平均下载速度对应的目标播放地址,其中,上述目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且上述平均下载速度与上述目标播放地址的视频数据的视频码率正相关;
下载请求发送模块703,用于发送针对上述目标播放地址的下载请求,接收由服务端发送的上述目标播放地址的视频数据。
可选的,上述目标地址确定模块702,包括:
目标码率确定子模块,用于确定上述平均下载速度对应的目标码率;
目标地址确定子模块,用于在目标视频源版本的各视频数据的播放地址中,确实上述目标码率的视频数据的播放地址,得到上述目标播放地址,其中,上述目标视频源版本为当前正在播放的视频数据的视频源版本。
可选的,上述目标播放地址为目标统一资源定位符URL,上述目标地址确定模块702,包括:
视频码率获取子模块,用于获取第一URL对应的视频码率,得到第一视频码率;获取第二URL对应的视频码率,得到第二视频码率;获取第三URL对应的视频码率,得到第三视频码率;其中,上述第三视频码率大于上述第二视频码率,上述第二视频码率大于上述第一视频码率,上述第一URL的视频数据、上述第二URL的视频数据及上述第三URL的视频数据为目标视频源版本的三种不同码率的视频数据,上述目标视频源版本为当前正在播放的视频数据的视频源版本;
第三阈值判断子模块,用于判断上述平均下载速度是否不小于第三速度阈值;
第一地址确定子模块,用于若上述平均下载速度不小于上述第三速度阈值,判定上述第三URL为上述平均下载速度对应的目标播放地址;
第二阈值判断子模块,用于若上述平均下载速度小于上述第三速度阈值,判断上述平均下载速度是否不小于第二速度阈值;
第二地址确定子模块,用于若上述平均下载速度不小于上述第二速度阈值,判定上述第二URL为上述平均下载速度对应的目标播放地址。
可选的,上述目标地址确定模块702还包括:
第一阈值判断子模块,用于若上述平均下载速度小于上述第二速度阈值,判断上述平均下载速度是否不小于上述第一视频码率;
第三地址确定子模块,用于若上述平均下载速度不小于上述第一视频码率,判定上述第一URL为上述平均下载速度对应的目标播放地址;
提示信息生成子模块,用于若上述平均下载速度小于上述第一视频码率,发出表征网络质量差的提示信息。
可选的,上述目标地址确定模块702还包括:
第四地址确定子模块,用于在接收到用户的继续播放指令时,判定上述第一URL为上述平均下载速度对应的目标播放地址;
停止播放子模块,用于提示信息生成子模块,用于在接收到用户的停止播放指令时,停止播放。
可选的,上述目标地址确定模块702还包括:
第五地址确定子模块,用于若上述平均下载速度小于上述第二速度阈值,判定上述第一URL为上述平均下载速度对应的目标播放地址。
可选的,本申请实施例应用于客户端的视频数据传输装置还包括:
视频数据播放模块,用于在播放完当前的视频切片时,播放上述目标播放地址的视频数据,其中,上述目标播放地址的视频数据与当前的视频切片所属的视频数据为同一视频源版本的视频数据,同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。
本申请实施例还提供了一种视频数据传输装置,应用于服务端,在上述服务端中同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同,参见图8,该装置包括:
下载请求获取模块801,用于获取由客户端发送的下载请求,确定上述下载请求对应的目标视频数据,其中,上述目标视频数据的视频源版本与上述客户端正在播放的视频数据的视频源版本相同,上述下载请求是上述客户端按照视频的平均下载速度确定的;
目标切片确定模块802,用于在上述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片;
视频数据发送模块803,用于按照时序顺序,从上述目标视频切片开始,向上述客户端发送上述目标视频数据。
可选的,上述目标切片确定模块802,包括:
时间戳确定子模块,用于获取上述客户端视频数据播放进度的时间戳,得到目标时间戳;
第一切片确定子模块,用于确定上述目标时间戳对应的视频切片,得到第一视频切片;
目标切片确定子模块,用于在上述目标视频数据的各视频切片中,按照时序顺序,确定上述第一视频切片的下一视频切片,得到目标视频切片。
可选的,上述下载请求中包括上述客户端当前正在播放的视频片段的时序标识;上述目标切片确定模块802,包括:
第一切片确定子模块,用于按照上述下载请求中的时序标识,确定相应时序的视频切片,得到第一视频切片;
目标切片确定子模块,用于在上述目标视频数据的各视频切片中,按照时序顺序,确定上述第一视频切片的下一视频切片,得到目标视频切片。
本申请实施例还提供了一种客户端,包括处理器及存储器;
上述存储器,用于存放计算机程序;
上述处理器,用于执行上述存储器上所存放的程序时,实现如下步骤:
获取当前时段内的视频数据的平均下载速度;
确定上述平均下载速度对应的目标播放地址,其中,上述目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且上述平均下载速度与上述目标播放地址的视频数据的视频码率正相关;
发送针对上述目标播放地址的下载请求,接收由服务端发送的上述目标播放地址的视频数据。
可选的,参见图9,本申请实施例的客户端还包括通信接口902和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信。
可选的,上述处理器用于执行上述存储器存放的计算机程序时,还能够实现上述任一应用于客户端的视频数据传输方法。
本申请实施例还提供了一种服务器,包括处理器及存储器;
上述存储器,用于存放计算机程序;
上述处理器,用于执行上述存储器上所存放的程序时,实现如下步骤:
获取由客户端发送的下载请求,确定上述下载请求对应的目标视频数据,其中,上述目标视频数据的视频源版本与上述客户端正在播放的视频数据的视频源版本相同,上述下载请求是上述客户端按照视频的平均下载速度确定的;
在上述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片;
按照时序顺序,从上述目标视频切片开始,保持向上述客户端发送上述目标视频数据。
可选的,上述处理器用于执行上述存储器存放的计算机程序时,还能够实现上述任一应用于服务端的视频数据传输方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于客户端的视频数据传输方法。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于服务端的视频数据传输方法。
需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (22)
1.一种视频数据传输方法,其特征在于,应用于客户端,所述方法包括:
获取当前时段内的视频数据的平均下载速度;
确定所述平均下载速度对应的目标播放地址,其中,所述目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且所述平均下载速度与所述目标播放地址的视频数据的视频码率正相关;
发送针对所述目标播放地址的下载请求,接收由服务端发送的所述目标播放地址的视频数据。
2.根据权利要求1所述的方法,其特征在于,所述确定所述平均下载速度对应的目标播放地址,包括:
确定所述平均下载速度对应的目标码率;
在目标视频源版本的各视频数据的播放地址中,确实所述目标码率的视频数据的播放地址,得到所述目标播放地址,其中,所述目标视频源版本为当前正在播放的视频数据的视频源版本。
3.根据权利要求1所述的方法,其特征在于,所述目标播放地址为目标统一资源定位符URL,所述确定所述平均下载速度对应的目标播放地址,包括:
获取第一URL对应的视频码率,得到第一视频码率;获取第二URL对应的视频码率,得到第二视频码率;获取第三URL对应的视频码率,得到第三视频码率;其中,所述第三视频码率大于所述第二视频码率,所述第二视频码率大于所述第一视频码率,所述第一URL的视频数据、所述第二URL的视频数据及所述第三URL的视频数据为目标视频源版本的三种不同码率的视频数据,所述目标视频源版本为当前正在播放的视频数据的视频源版本;
判断所述平均下载速度是否不小于第三速度阈值;
若所述平均下载速度不小于所述第三速度阈值,判定所述第三URL为所述平均下载速度对应的目标播放地址;
若所述平均下载速度小于所述第三速度阈值,判断所述平均下载速度是否不小于第二速度阈值;
若所述平均下载速度不小于所述第二速度阈值,判定所述第二URL为所述平均下载速度对应的目标播放地址。
4.根据权利要求3所述的方法,其特征在于,在所述若所述平均下载速度小于所述第三速度阈值,判断所述平均下载速度是否不小于第二速度阈值之后,所述方法还包括:
若所述平均下载速度小于所述第二速度阈值,判断所述平均下载速度是否不小于所述第一视频码率;
若所述平均下载速度不小于所述第一视频码率,判定所述第一URL为所述平均下载速度对应的目标播放地址;
若所述平均下载速度小于所述第一视频码率,发出表征网络质量差的提示信息。
5.根据权利要求3所述的方法,其特征在于,在所述若所述平均下载速度小于所述第三速度阈值,判断所述平均下载速度是否不小于第二速度阈值之后,所述方法还包括:
若所述平均下载速度小于所述第二速度阈值,判定所述第一URL为所述平均下载速度对应的目标播放地址。
6.根据权利要求1所述的方法,其特征在于,在所述接收由服务端发送的所述目标播放地址的视频数据之后,所述方法还包括:
在播放完当前的视频切片时,播放所述目标播放地址的视频数据,其中,所述目标播放地址的视频数据与当前的视频切片所属的视频数据为同一视频源版本的视频数据,同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。
7.一种视频数据传输方法,其特征在于,应用于服务端,在所述服务端中同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同,所述方法包括:
获取由客户端发送的下载请求,确定所述下载请求对应的目标视频数据,其中,所述目标视频数据的视频源版本与所述客户端正在播放的视频数据的视频源版本相同,所述下载请求是所述客户端按照视频的平均下载速度确定的;
在所述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片;
按照时序顺序,从所述目标视频切片开始,向所述客户端发送所述目标视频数据。
8.根据权利要求7所述的方法,其特征在于,所述在所述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片,包括:
获取所述客户端视频数据播放进度的时间戳,得到目标时间戳;
确定所述目标时间戳对应的视频切片,得到第一视频切片;
在所述目标视频数据的各视频切片中,按照时序顺序,确定所述第一视频切片的下一视频切片,得到目标视频切片。
9.根据权利要求7所述的方法,其特征在于,所述下载请求中包括所述客户端当前正在播放的视频片段的时序标识;
所述在所述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片,包括:
按照所述下载请求中的时序标识,确定相应时序的视频切片,得到第一视频切片;
在所述目标视频数据的各视频切片中,按照时序顺序,确定所述第一视频切片的下一视频切片,得到目标视频切片。
10.一种视频数据传输装置,其特征在于,应用于客户端,所述装置包括:
平均速度计算模块,用于获取当前时段内的视频数据的平均下载速度;
目标地址确定模块,用于确定所述平均下载速度对应的目标播放地址,其中,所述目标播放地址的视频数据的视频源版本与当前正在播放的视频数据的视频源版本相同,且所述平均下载速度与所述目标播放地址的视频数据的视频码率正相关;
下载请求发送模块,用于发送针对所述目标播放地址的下载请求,接收由服务端发送的所述目标播放地址的视频数据。
11.根据权利要求10所述的装置,其特征在于,所述目标地址确定模块,包括:
目标码率确定子模块,用于确定所述平均下载速度对应的目标码率;
目标地址确定子模块,用于在目标视频源版本的各视频数据的播放地址中,确实所述目标码率的视频数据的播放地址,得到所述目标播放地址,其中,所述目标视频源版本为当前正在播放的视频数据的视频源版本。
12.根据权利要求10所述的装置,其特征在于,所述目标播放地址为目标统一资源定位符URL,所述目标地址确定模块,包括:
视频码率获取子模块,用于获取第一URL对应的视频码率,得到第一视频码率;获取第二URL对应的视频码率,得到第二视频码率;获取第三URL对应的视频码率,得到第三视频码率;其中,所述第三视频码率大于所述第二视频码率,所述第二视频码率大于所述第一视频码率,所述第一URL的视频数据、所述第二URL的视频数据及所述第三URL的视频数据为目标视频源版本的三种不同码率的视频数据,所述目标视频源版本为当前正在播放的视频数据的视频源版本;
第三阈值判断子模块,用于判断所述平均下载速度是否不小于第三速度阈值;
第一地址确定子模块,用于若所述平均下载速度不小于所述第三速度阈值,判定所述第三URL为所述平均下载速度对应的目标播放地址;
第二阈值判断子模块,用于若所述平均下载速度小于所述第三速度阈值,判断所述平均下载速度是否不小于第二速度阈值;
第二地址确定子模块,用于若所述平均下载速度不小于所述第二速度阈值,判定所述第二URL为所述平均下载速度对应的目标播放地址。
13.根据权利要求12所述的装置,其特征在于,所述目标地址确定模块还包括:
第一阈值判断子模块,用于若所述平均下载速度小于所述第二速度阈值,判断所述平均下载速度是否不小于所述第一视频码率;
第三地址确定子模块,用于若所述平均下载速度不小于所述第一视频码率,判定所述第一URL为所述平均下载速度对应的目标播放地址;
提示信息生成子模块,用于若所述平均下载速度小于所述第一视频码率,发出表征网络质量差的提示信息。
14.根据权利要求12所述的装置,其特征在于,所述目标地址确定模块还包括:
第五地址确定子模块,用于若所述平均下载速度小于所述第二速度阈值,判定所述第一URL为所述平均下载速度对应的目标播放地址。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:
视频数据播放模块,用于在播放完当前的视频切片时,播放所述目标播放地址的视频数据,其中,所述目标播放地址的视频数据与当前的视频切片所属的视频数据为同一视频源版本的视频数据,同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同。
16.一种视频数据传输装置,其特征在于,应用于服务端,在所述服务端中同一视频源版本包括多种不同清晰度的视频数据,同一视频源版本的各视频数据分别按照时序划分为相同数目的视频切片,且同一视频源版本的各视频数据中相同时序的视频切片的时长相同,所述装置包括:
下载请求获取模块,用于获取由客户端发送的下载请求,确定所述下载请求对应的目标视频数据,其中,所述目标视频数据的视频源版本与所述客户端正在播放的视频数据的视频源版本相同,所述下载请求是所述客户端按照视频的平均下载速度确定的;
目标切片确定模块,用于在所述目标视频数据的各视频切片中,确定下一待播放的视频切片,得到目标视频切片;
视频数据发送模块,用于按照时序顺序,从所述目标视频切片开始,向所述客户端发送所述目标视频数据。
17.根据权利要求16所述的装置,其特征在于,所述目标切片确定模块,包括:
时间戳确定子模块,用于获取所述客户端视频数据播放进度的时间戳,得到目标时间戳;
第一切片确定子模块,用于确定所述目标时间戳对应的视频切片,得到第一视频切片;
目标切片确定子模块,用于在所述目标视频数据的各视频切片中,按照时序顺序,确定所述第一视频切片的下一视频切片,得到目标视频切片。
18.根据权利要求16所述的装置,其特征在于,所述下载请求中包括所述客户端当前正在播放的视频片段的时序标识;所述目标切片确定模块,包括:
第一切片确定子模块,用于按照所述下载请求中的时序标识,确定相应时序的视频切片,得到第一视频切片;
目标切片确定子模块,用于在所述目标视频数据的各视频切片中,按照时序顺序,确定所述第一视频切片的下一视频切片,得到目标视频切片。
19.一种客户端,其特征在于,包括处理器及存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-6任一所述的视频数据传输方法。
20.一种服务器,其特征在于,包括处理器及存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求7-9任一所述的视频数据传输方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的视频数据传输方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7-9任一所述的视频数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910355675.0A CN110087141A (zh) | 2019-04-29 | 2019-04-29 | 视频数据传输方法、装置、客户端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910355675.0A CN110087141A (zh) | 2019-04-29 | 2019-04-29 | 视频数据传输方法、装置、客户端及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110087141A true CN110087141A (zh) | 2019-08-02 |
Family
ID=67417617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910355675.0A Pending CN110087141A (zh) | 2019-04-29 | 2019-04-29 | 视频数据传输方法、装置、客户端及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110087141A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460875A (zh) * | 2019-08-05 | 2019-11-15 | 北京达佳互联信息技术有限公司 | 一种视频码率的切换方法、装置、电子设备及存储介质 |
CN111417031A (zh) * | 2020-04-28 | 2020-07-14 | 北京金山云网络技术有限公司 | 文件传输方法、装置以及电子设备 |
CN111417000A (zh) * | 2020-03-27 | 2020-07-14 | 北京奇艺世纪科技有限公司 | 一种切换视频码率的方法、装置、电子设备及介质 |
CN111836081A (zh) * | 2020-07-20 | 2020-10-27 | 南京百家云科技有限公司 | 一种视频传输的方法及装置 |
CN111859218A (zh) * | 2020-07-21 | 2020-10-30 | 广州华多网络科技有限公司 | 数据下载方法、装置、计算机设备和计算机可读存储介质 |
CN114189715A (zh) * | 2021-12-07 | 2022-03-15 | 北京奇艺世纪科技有限公司 | 下载地址切换方法及相关设备 |
CN115396731A (zh) * | 2022-08-10 | 2022-11-25 | 北京势也网络技术有限公司 | 全景视频的播放方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
JP2010213119A (ja) * | 2009-03-11 | 2010-09-24 | Panasonic Corp | 映像伝送システム、撮像装置及びモニタ装置 |
CN102149005A (zh) * | 2011-04-29 | 2011-08-10 | 四川长虹电器股份有限公司 | 自适应带宽控制网络视频质量的方法 |
CN107071529A (zh) * | 2017-03-29 | 2017-08-18 | 咪咕视讯科技有限公司 | 一种hls视频播放方法、终端及服务器 |
-
2019
- 2019-04-29 CN CN201910355675.0A patent/CN110087141A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
JP2010213119A (ja) * | 2009-03-11 | 2010-09-24 | Panasonic Corp | 映像伝送システム、撮像装置及びモニタ装置 |
CN102149005A (zh) * | 2011-04-29 | 2011-08-10 | 四川长虹电器股份有限公司 | 自适应带宽控制网络视频质量的方法 |
CN107071529A (zh) * | 2017-03-29 | 2017-08-18 | 咪咕视讯科技有限公司 | 一种hls视频播放方法、终端及服务器 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460875A (zh) * | 2019-08-05 | 2019-11-15 | 北京达佳互联信息技术有限公司 | 一种视频码率的切换方法、装置、电子设备及存储介质 |
CN111417000A (zh) * | 2020-03-27 | 2020-07-14 | 北京奇艺世纪科技有限公司 | 一种切换视频码率的方法、装置、电子设备及介质 |
CN111417000B (zh) * | 2020-03-27 | 2022-04-22 | 北京奇艺世纪科技有限公司 | 一种切换视频码率的方法、装置、电子设备及介质 |
CN111417031A (zh) * | 2020-04-28 | 2020-07-14 | 北京金山云网络技术有限公司 | 文件传输方法、装置以及电子设备 |
CN111836081A (zh) * | 2020-07-20 | 2020-10-27 | 南京百家云科技有限公司 | 一种视频传输的方法及装置 |
CN111859218A (zh) * | 2020-07-21 | 2020-10-30 | 广州华多网络科技有限公司 | 数据下载方法、装置、计算机设备和计算机可读存储介质 |
CN114189715A (zh) * | 2021-12-07 | 2022-03-15 | 北京奇艺世纪科技有限公司 | 下载地址切换方法及相关设备 |
CN115396731A (zh) * | 2022-08-10 | 2022-11-25 | 北京势也网络技术有限公司 | 全景视频的播放方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110087141A (zh) | 视频数据传输方法、装置、客户端及服务器 | |
US9167007B2 (en) | Stream complexity mapping | |
EP2300928B1 (en) | Client side stream switching | |
US20150215361A1 (en) | Client side stream switching | |
EP4234060A1 (en) | Service processing method and apparatus, and storage medium | |
CN112203111B (zh) | 多媒体资源的预加载方法、装置、电子设备及存储介质 | |
CN108810052B (zh) | 直播服务器的选择方法及装置 | |
CN106604078B (zh) | 一种网络视频推荐方法及装置 | |
CN103517098A (zh) | 基于视频聚合服务的视频播放方法、装置及终端设备 | |
CN104125429A (zh) | 视频数据传输的调节方法及装置 | |
CN111510789B (zh) | 视频播放方法、系统、计算机设备及计算机可读存储介质 | |
CN103517143A (zh) | 网络视频的播放方法、装置及终端设备 | |
GB2590018A (en) | Video playback method, electronic device, and storage medium | |
US10477286B2 (en) | Streaming media file processing method and live streaming system | |
CN107835200A (zh) | 一种视频清晰度的选择方法、装置及电子设备 | |
CN105916030A (zh) | 一种记录点播视频断点信息的方法、装置及系统 | |
CN111031376B (zh) | 基于微信小程序的弹幕处理方法和系统 | |
CN109688419A (zh) | 一种直播中的连麦方法、装置及服务器 | |
CN107920108A (zh) | 一种媒体资源的推送方法、客户端及服务器 | |
CN107147921A (zh) | 基于切片与智能cdn调度的视频播放加速方法和设备 | |
CN106534087A (zh) | 一种直播的系统、方法、服务器和无人机 | |
CN104581340B (zh) | 客户端、流媒体数据接收方法和流媒体数据传输系统 | |
CN111182316B (zh) | 媒体资源的流切换方法和装置、存储介质及电子装置 | |
CN101958934B (zh) | 一种电子节目指南增量内容同步方法、装置及系统 | |
CN114501084B (zh) | 播放器的起播方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190802 |
|
RJ01 | Rejection of invention patent application after publication |