CN109996094B - 视频播放方法、装置及系统 - Google Patents

视频播放方法、装置及系统 Download PDF

Info

Publication number
CN109996094B
CN109996094B CN201810495816.4A CN201810495816A CN109996094B CN 109996094 B CN109996094 B CN 109996094B CN 201810495816 A CN201810495816 A CN 201810495816A CN 109996094 B CN109996094 B CN 109996094B
Authority
CN
China
Prior art keywords
target
data
code rate
playing
video
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
CN201810495816.4A
Other languages
English (en)
Other versions
CN109996094A (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.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System 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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Publication of CN109996094A publication Critical patent/CN109996094A/zh
Application granted granted Critical
Publication of CN109996094B publication Critical patent/CN109996094B/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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/266Channel 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/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

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

Abstract

本发明是关于一种视频播放方法、装置以及系统,属于计算机技术领域。所述方法包括:流媒体服务器确定当前的第一网络带宽;获取为待向终端发送的目标视频数据设置的预设数据码率;当第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽;基于第一目标数据码率向终端发送目标视频数据。终端基于存储于缓冲区中的目标视频数据的数据量确定用于播放目标视频的目标播放速率,并基于目标播放速率播放目标视频,解决了相关技术中在网络不稳定的情况下终端播放视频时易出现卡顿和延迟现象的问题,能够确保视频平滑播放,提高了用户体验。本发明用于视频播放。

Description

视频播放方法、装置及系统
技术领域
本发明涉及计算机技术领域,特别涉及一种视频播放方法、装置及系统。
背景技术
随着互联网技术的发展,用户可以通过安装在终端上的客户端查看由流媒体服务器发送的各种类型的视频,实现学习或娱乐的目的。
目前,流媒体服务器是以固定的码率向终端发送视频数据,终端在接收到流媒体服务器发送的视频数据后,将接收到的视频数据缓存至固定大小的缓冲区,之后,终端从缓冲区中获取该视频数据,并以固定的播放速率对该视频数据进行播放。其中,码率指的是每秒传输的数据量。
然而在网络不稳定的情况下,当前的网络带宽可能会小于预设数据码率(该预设数据码率是流媒体服务器为了向终端发送视频数据而设置的),流媒体服务器向终端发送视频数据的过程中容易产生数据丢包现象以及数据重传现象,当产生数据丢包现象时,终端播放视频时易出现卡顿现象,当产生数据重传现象时,终端播放视频时易出现延迟现象,因此,可靠性较差。
发明内容
本发明实施例提供了一种视频播放方法、装置以及系统,可以解决相关技术中在网络不稳定的情况下终端播放视频时易出现卡顿和延迟现象的问题,所述技术方案如下:
根据本发明实施例的第一方面,提供一种视频播放方法,用于流媒体服务器,所述方法包括:
确定当前的第一网络带宽;
获取为待向终端发送的目标视频数据设置的预设数据码率;
当第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽;
基于第一目标数据码率向终端发送目标视频数据。
可选的,在基于第一目标数据码率向终端发送目标视频数据之后,该方法还包括:
当基于第一目标数据码率向终端发送目标视频数据的第一时长大于预设时长时,丢弃在第二时长内本地缓存的目标视频数据,该第二时长为第一时长与预设时长的差值。
可选的,在基于第一目标数据码率向终端发送目标视频数据之后,该方法还包括:
当检测到本地缓存有目标视频数据,且当前的第二网络带宽大于预设数据码率时,确定第二目标数据码率,该第二目标数据码率大于预设数据码率,且小于或等于第二网络带宽;
基于第二目标数据码率向终端发送本地缓存的目标视频数据。
可选的,在获取为待向终端发送的目标视频数据设置的预设数据码率之后,该方法还包括:
当第一网络带宽大于或等于预设数据码率时,基于预设数据码率向终端发送目标视频数据。
根据本发明实施例的第二方面,提供一种视频播放方法,用于终端,所述方法包括:
接收流媒体服务器发送的目标视频数据,目标视频数据是流媒体服务器基于第一目标数据码率向终端发送的,该第一目标数据码率是流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,该第一目标数据码率小于或等于第一网络带宽,该预设数据码率是为待向终端发送的目标视频数据设置的数据码率;
播放目标视频数据对应的目标视频。
可选的,播放目标视频数据对应的目标视频,包括:
将接收到的目标视频数据存储于预先创建的大小可调的缓冲区中,并确定存储于缓冲区中的目标视频数据的数据量;
基于存储于缓冲区中的目标视频数据的数据量确定用于播放目标视频的目标播放速率;
基于目标播放速率播放目标视频。
可选的,在将接收到的目标视频数据存储于预先创建的大小可调的缓冲区中之前,该方法还包括:
基于缓冲区可容纳的最大数据量得到多个连续的数据量范围,每个数据量范围对应一个播放速率,相邻两个数据量范围中播放速率较大的数据量范围的最小值大于播放速度较小的数据量范围的最大值;
基于存储于缓冲区中的目标视频数据的数据量确定用于播放目标视频的目标播放速率,包括:
确定存储于缓冲区中的目标视频数据的数据量所属的目标数据量范围;
判断目标数据量范围对应的播放速率与终端当前的播放速率是否相等;
当目标数据量范围对应的播放速率与终端当前的播放速率不相等时,将目标数据量范围对应的播放速率作为目标播放速率。
可选的,在接收流媒体服务器发送的目标视频数据之后,该方法还包括:
获取目标视频对应的预设数据码率;
将目标视频对应的预设数据码率和预设的缓冲区可容纳目标视频数据的最大时长的乘积作为缓冲区可容纳的最大数据量。
根据本发明实施例的第三方面,提供一种视频播放装置,用于流媒体服务器,所述装置包括:
第一确定模块,用于确定当前的第一网络带宽;
获取模块,用于获取为待向终端发送的目标视频数据设置的预设数据码率;
第二确定模块,用于在第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽;
第一发送模块,用于基于第一目标数据码率向终端发送目标视频数据。
可选的,该装置还包括:
第三确定模块,用于在检测到本地缓存有目标视频数据,且当前的第二网络带宽大于预设数据码率时,确定第二目标数据码率,该第二目标数据码率大于预设数据码率,且小于或等于第二网络带宽;
第二发送模块,用于基于第二目标数据码率向终端发送本地缓存的目标视频数据。
根据本发明实施例的第四方面,提供一种视频播放装置,用于终端,所述装置包括:
接收模块,用于接收流媒体服务器发送的目标视频数据,该目标视频数据是流媒体服务器基于第一目标数据码率向终端发送的,该第一目标数据码率是流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,该第一目标数据码率小于或等于第一网络带宽,该预设数据码率是为待向终端发送的目标视频数据设置的数据码率;
播放模块,用于播放目标视频数据对应的目标视频。
可选的,播放模块,包括:
存储子模块,用于将接收到的目标视频数据存储于预先创建的大小可调的缓冲区中,并确定存储于缓冲区中的目标视频数据的数据量;
确定子模块,用于基于存储于缓冲区中的目标视频数据的数据量确定用于播放目标视频的目标播放速率;
播放子模块,用于基于目标播放速率播放目标视频。
进一步的,播放模块,还包括:
处理子模块,用于基于缓冲区可容纳的最大数据量得到多个连续的数据量范围,每个数据量范围对应一个播放速率,相邻两个数据量范围中播放速率较大的数据量范围的最小值大于播放速度较小的数据量范围的最大值;
确定子模块,用于:
确定存储于缓冲区中的目标视频数据的数据量所属的目标数据量范围;
判断目标数据量范围对应的播放速率与终端当前的播放速率是否相等;
当目标数据量范围对应的播放速率与终端当前的播放速率不相等时,将目标数据量范围对应的播放速率作为目标播放速率。
根据本发明实施例的第五方面,提供一种视频播放装置,包括处理器、通信接口、存储器和通信总线,
其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
处理器,用于执行存储器中存储的计算机程序,实现第一方面所述的视频播放方法。
根据本发明实施例的第六方面,提供一种视频播放装置,包括处理器和存储器,
处理器,用于执行存储器中存储的计算机程序,实现第二方面所述的视频播放方法。
根据本发明实施例的第七方面,提供一种计算机可读存储介质,其特征在于,存储介质内存储有计算机程序,计算机程序被处理器执行时实现第一方面所述的视频播放方法。
根据本发明实施例的第八方面,提供一种计算机可读存储介质,其特征在于,存储介质内存储有计算机程序,计算机程序被处理器执行时实现第二方面所述的视频播放方法。
根据本发明实施例的第九方面,提供一种视频播放系统,包括:
流媒体服务器和终端,
流媒体服务器包括第三方面所述的视频播放装置,终端包括第四方面所述的视频播放装置。
根据本发明实施例的第十方面,提供一种视频播放系统,包括:
流媒体服务器包括第五方面所述的视频播放装置,终端包括第六方面所述的视频播放装置。
本发明实施例提供的视频播放方法、装置及系统,流媒体服务器能够确定当前的第一网络带宽,获取为待向终端发送的目标视频数据设置的预设数据码率,并当第一网络带宽小于预设数据码率时,确定第一目标数据码率,然后基于第一目标数据码率向终端发送目标视频数据,该第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,提高了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明的实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中提供的视频播放方法所涉及的实施环境的示意图;
图2是根据一示例性实施例示出的一种视频播放方法的流程图;
图3是根据一示例性实施例示出的一种视频播放方法的流程图;
图4是根据一示例性实施例示出的另一种视频播放方法的流程图;
图5是根据一示例性实施例示出的一种终端播放目标视频数据对应的目标视频的流程图;
图6是本发明实施例提供的一种终端确定用于播放目标视频的目标播放速率的流程图;
图7是根据一示例性实施例示出的一种视频播放装置的框图;
图8是根据一示例性实施例示出的另一种视频播放装置的框图;
图9是根据一示例性实施例示出的另一种视频播放装置的框图;
图10是根据一示例性实施例示出的另一种视频播放装置的框图;
图11是根据一示例性实施例示出的一种视频播放装置的框图;
图12是根据一示例性实施例示出的一种播放模块的框图;
图13是根据一示例性实施例示出的一种播放模块的框图;
图14是根据一示例性实施例示出的一种视频播放装置的框图;
图15是根据一示例性实施例示出的一种视频播放装置的示意图;
图16是根据一示例性实施例示出的另一种视频播放装置的示意图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参见图1,其示出了本发明部分实施例中提供的视频播放方法所涉及的实施环境的示意图。该实施环境可以包括:流媒体服务器110和终端120。流媒体服务器110可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。终端120可以为智能手机、电脑、多媒体播放器、电子阅读器、单兵设备、警务通、机顶盒、数码相机或可穿戴式设备等。流媒体服务器110和终端120之间可以通过有线网络或无线网络建立连接。
本发明实施例对终端的数量不做限定。
图2是根据一示例性实施例示出的一种视频播放方法的流程图,该视频播放方法用于流媒体服务器,该流媒体服务器可以为图1所示的实施环境中的流媒体服务器110,该方法包括:
步骤101、确定当前的第一网络带宽。
步骤102、获取为待向终端发送的目标视频数据设置的预设数据码率。
步骤103、当第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽。
步骤104、基于第一目标数据码率向终端发送目标视频数据。
综上所述,本发明实施例提供的视频播放方法,流媒体服务器能够确定当前的第一网络带宽,获取为待向终端发送的目标视频数据设置的预设数据码率,并当第一网络带宽小于预设数据码率时,确定第一目标数据码率,然后基于第一目标数据码率向终端发送目标视频数据,该第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,提高了用户体验。
图3是根据一示例性实施例示出的一种视频播放方法的流程图,该视频播放方法用于终端,该终端可以为图1所示的实施环境中的终端120,该方法包括:
步骤201、接收流媒体服务器发送的目标视频数据,该目标视频数据是流媒体服务器基于第一目标数据码率向终端发送的,该第一目标数据码率是流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,该第一目标数据码率小于或等于第一网络带宽,该预设数据码率是为待向终端发送的目标视频数据设置的数据码率。
步骤202、播放目标视频数据对应的目标视频。
综上所述,本发明实施例提供的视频播放方法,终端接收流媒体服务器发送的目标视频数据,该目标视频数据是流媒体服务器基于第一目标数据码率向终端发送的,且该第一目标数据码率是流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,由于第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,提高了用户体验。
图4是根据一示例性实施例示出的的另一种视频播放方法的流程图,可以应用于图1所示的实施环境,如图4所示,该方法可以包括:
步骤301、流媒体服务器确定当前的第一网络带宽。
网络带宽指的是流媒体服务器在单位时间(一般指的是1秒钟)内能传输的数据量。示例的,第一网络带宽可以为2000kbps(千位每秒)。
在本发明实施例中,流媒体服务器在向终端发送目标视频数据的过程中,实时获取当前的第一网络带宽。可选的,流媒体服务器可以基于网络延时和数据丢包率等网络参数及延时抖动情况来实时确定当前的第一网络带宽。
步骤302、流媒体服务器获取为待向终端发送的目标视频数据设置的预设数据码率。
在实际应用中,通常不同视频分辨率的视频被设置的预设数据码率不同。在本发明实施例中,流媒体服务器可以预先存储有分辨率码率对应关系,该分辨率码率对应关系用于记录视频的视频分辨率与预设数据码率的对应关系,流媒体服务器可以先确定目标视频数据的分辨率,并根据该分辨率从分辨率码率对应关系中获取为待向终端发送的目标视频数据设置的预设数据码率。此外,不同视频分辨率对应的预设数据码率可以是设置好之后就不变了,也可以被修改调整。
表1示例性示出了分辨率码率对应关系,参见表1,当视频的视频分辨率为1280×720(1280为水平方向上的像素数,720为垂直方向上的像素数)时,对应的预设数据码率可以为1024kbps。
表1
Figure BDA0001669135870000081
Figure BDA0001669135870000091
示例的,预设数据码率可以存储于用于发送目标视频数据的配置文件中的指定区域。流媒体服务器也可以从配置文件的指定区域中获取为待向终端发送的目标视频数据设置的预设数据码率。
步骤303、当第一网络带宽小于预设数据码率时,流媒体服务器确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽。
当第一网络带宽小于预设数据码率时,流媒体服务器以小于或等于第一网络带宽的第一目标数据码率向终端发送目标视频数据,避免流媒体服务器产生数据丢包现象以及数据重传现象。
示例的,假设第一网络带宽为900kbps,预设数据码率为1024kbps,由于900kbps<1024kbps,所以流媒体服务器可以将900kbps作为第一目标数据码率,或者将800kbps作为第一目标数据码率。
进一步的,在步骤302之后,该方法还可以包括:当第一网络带宽大于或等于预设数据码率时,基于预设数据码率向终端发送目标视频数据。
步骤304、流媒体服务器基于第一目标数据码率向终端发送目标视频数据。
可选的,一方面,流媒体服务器可以直接基于第一目标数据码率向终端发送目标视频数据。
另一方面,预设数据码率可以存储于用于发送目标视频数据的配置文件中的指定区域。在本步骤中,在确定了第一目标数据码率之后,流媒体服务器可以采用多种方式基于第一目标数据码率向终端发送目标视频数据,现以以下两种方式为例进行说明:
在第一种方式中,流媒体服务器可以将原配置文件的指定区域中的预设数据码率保存在原配置文件之外的目标区域中,然后将原配置文件的指定区域中的预设数据码率调整为第一目标数据码率,之后,采用处理后的配置文件向终端发送目标视频数据。
在第二种方式中,流媒体服务器可以不对原配置文件的指定区域中的预设数据码率进行调整,而是基于确定的第一目标数据码率生成新的配置文件,然后采用该新的配置文件向终端发送目标视频数据。
示例的,以第一种方式为例,假设第一目标数据码率为900kbps,流媒体服务器可以将预设数据码率保存在目标区域中,然后将原配置文件的指定区域中的预设数据码率调整为第一目标数据码率,之后,采用处理后的配置文件向终端发送目标视频数据。
相关技术中,在网络不稳定的情况下,当前的网络带宽可能会小于预设数据码率,流媒体服务器向终端发送视频数据的过程中容易产生数据丢包现象以及数据重传现象,当产生数据丢包现象时,终端播放视频时易出现卡顿现象,当产生数据重传现象时,终端播放视频时易出现延迟现象,因此,可靠性较差。
而在本发明实施例中,流媒体服务器能够实时确定当前的第一网络带宽,并当第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽,然后基于该第一目标数据码率向终端发送目标视频数据,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放。
步骤305、终端获取目标视频对应的预设数据码率。
终端可以预先存储有分辨率码率对应关系,如表1所示,该分辨率码率对应关系用于记录视频的视频分辨率与预设数据码率的对应关系,终端可以先确定目标视频数据的分辨率,并根据该分辨率从该分辨率码率对应关系中获取目标视频对应的预设数据码率。
步骤306、终端将目标视频对应的预设数据码率和预设的缓冲区可容纳目标视频数据的最大时长的乘积作为缓冲区可容纳的最大数据量。
示例的,假设获取的目标视频对应的预设数据码率为1024kbps,预设的缓冲区可容纳目标视频数据的最大时长为20s,终端计算目标视频对应的预设数据码率和预设的缓冲区可容纳目标视频数据的最大时长的乘积,得到缓冲区可容纳的最大数据量为20480kb(千位)。进一步的,实际应用中,还可以对计算得到的最大数据量的单位进行转换得到2.5MB(兆字节),也即是待创建的缓冲区可容纳的最大数据量为2.5MB。
此外,终端也可以在接收到流媒体服务器发送的目标视频数据之前确定待创建的缓冲区可容纳的最大数据量。示例的,终端可以在接收到用户触发的发送指令时,从表1中确定目标视频对应的预设数据码率,该发送指令用于指示目标视频的视频分辨率,进而将目标视频对应的预设数据码率和预设的缓冲区可容纳目标视频数据的最大时长的乘积作为缓冲区可容纳的最大数据量。
在本发明实施例中,终端为不同视频分辨率的视频确定的缓冲区可容纳的最大数据量不同。比如,终端为视频分辨率为1280×720的视频确定的缓冲区可容纳的最大数据量可以为2.5MB;终端为视频分辨率为1920×1080的视频确定的缓冲区可容纳的最大数据量可以为5MB。相较于相关技术中的缓冲区确定方式,本发明实施例中的缓冲区确定方式更加灵活,能够达到节省资源的效果。
步骤307、终端播放目标视频数据对应的目标视频。
可选的,如图5所示,步骤307可以包括:
步骤3071、终端基于缓冲区可容纳的最大数据量得到多个连续的数据量范围。
每个数据量范围对应一个播放速率,相邻两个数据量范围中播放速率较大的数据量范围的最小值大于播放速度较小的数据量范围的最大值。可知,数据量范围的最大值与播放速率成正比。
示例的,假设缓冲区可容纳的最大数据量为2.5MB,终端基于最大数据量2.5MB可以将(0MB,
Figure BDA0001669135870000111
]即(0MB,0.31MB]作为一个数据量范围;将
Figure BDA0001669135870000112
即(0.31MB,0.94MB]作为一个数据量范围;将
Figure BDA0001669135870000113
即(0.94MB,1.88MB]作为一个数据量范围;将
Figure BDA0001669135870000114
即(1.88MB,2.19MB]作为一个数据量范围;将(
Figure BDA0001669135870000115
2.5MB]即(2.19MB,2.5MB]作为一个数据量范围。
对于不同视频分辨率的视频,终端可以存储有数据量范围与播放速率的对应关系,播放速率可以根据终端正常播放目标视频的播放速率x得到。示例的,如表2所示,当数据量范围为(0MB,0.31MB]时,播放速率为
Figure BDA0001669135870000116
表2
Figure BDA0001669135870000117
Figure BDA0001669135870000121
步骤3072、终端将接收到的目标视频数据存储于预先创建的大小可调的缓冲区中,确定存储于缓冲区中的目标视频数据的数据量。
缓冲区是大小可调的,存储于缓冲区中的目标视频数据的数据量与当前缓冲区的大小相同,能够达到节省资源的效果。
步骤3073、终端基于存储于缓冲区中的目标视频数据的数据量确定用于播放目标视频的目标播放速率。
可选的,如图6所示,步骤3073包括:
步骤3073a、终端确定存储于缓冲区中的目标视频数据的数据量所属的目标数据量范围。
步骤3073b、终端判断目标数据量范围对应的播放速率与终端当前的播放速率是否相等。
步骤3073c、当目标数据量范围对应的播放速率与终端当前的播放速率不相等时,终端将目标数据量范围对应的播放速率作为目标播放速率。
示例的,假设终端确定待创建的缓冲区可容纳的最大数据量为2.5MB,终端正常播放目标视频的播放速率x为2048kbps,当前的播放速率2000kbps,终端确定存储于缓冲区中的目标视频数据的数据量为0.4MB,那么终端查询表2,可以确定存储于缓冲区中的目标视频数据的数据量所属的目标数据量范围为(0.31MB,0.94MB],该目标数据量范围对应的播放速率为
Figure BDA0001669135870000122
即1536kbps,由于1536kbps<2000kbps,该目标数据量范围对应的播放速率与终端当前的播放速率不相等,因此终端可以将该目标数据量范围对应的播放速率,即将1536kbps作为目标播放速率。
步骤3074、终端基于目标播放速率播放目标视频。
在确定目标播放速率之后,终端基于该目标播放速率播放目标视频。
需要说明的是,为了避免终端在开始播放时,存储于缓冲区中的目标视频数据的数据量较少,导致终端播放视频时出现卡顿和延迟现象,终端可以在存储于缓冲区中的目标视频数据的数据量达到预设数据量时,再开始播放目标视频,示例的,该预设数据量可以为0.1MB。
需要说明的是,相关技术中,终端播放视频的播放速率是固定的,在网络不稳定的情况下,终端接收到的流媒体服务器发送的视频数据的数据量会发生变化,数据量时而变大时而变小,导致存储于终端缓冲区中的视频数据的数据量无法满足终端的播放速率的要求,终端播放视频时易出现卡顿和延迟现象。
而本发明实施例中,终端可以基于存储于缓冲区中的视频数据的数据量动态调整播放速率,并基于调整后的播放速率播放视频,解决了相关技术中终端的播放速率是固定的,而导致的存储于终端缓冲区中的视频数据无法满足终端的播放速率的要求,终端播放视频时易出现卡顿和延迟现象的问题,达到了确保视频平滑播放,提高用户体验的效果。
步骤308、当基于第一目标数据码率向终端发送目标视频数据的第一时长大于预设时长时,流媒体服务器丢弃在第二时长内本地缓存的目标视频数据,该第二时长为第一时长与预设时长的差值。
当基于第一目标数据码率向终端发送目标视频数据的第一时长大于第一预设时长时,流媒体服务器本地缓存的目标视频数据较多,流媒体服务器发送目标视频数据的压力较大。为了减小流媒体服务器的发送目标视频数据的压力,流媒体服务器可以丢弃在第二时长内本地缓存的目标视频数据,该第二时长为第一时长与预设时长的差值。
示例的,假设第一时长为25s,第一预设时长为20s,通过计算可以得到第二时长为5s,那么流媒体服务器可以丢弃在5秒内本地缓存的目标视频数据,避免造成大量数据积压,减小流媒体服务器的发送数据的压力,提高视频播放的实时性,提高用户体验。
步骤309、当检测到本地缓存有目标视频数据,且当前的第二网络带宽大于预设数据码率时,流媒体服务器确定第二目标数据码率。
第二目标数据码率大于预设数据码率,且小于或等于第二网络带宽。
当流媒体服务器检测到本地缓存有目标视频数据,且当前的第二网络带宽大于预设数据码率时,为了避免流媒体服务器本地缓存的目标视频数据过多,流媒体服务器发送目标视频数据的压力较大,流媒体服务器可以以大于预设数据码率且小于或等于第二网络带宽的第二目标数据码率,该过程还达到了提高带宽利用率的效果。
在本步骤中,为了得到预设数据码率,参见步骤304中的相关说明,预设数据码率可以保存在原配置文件之外的目标区域中,或者,存储于原配置文件的指定区域中。当预设数据码率保存在原配置文件之外的目标区域中时,流媒体服务器可以从目标区域中获取预设数据码率;当预设数据码率存储于原配置文件的指定区域中时,流媒体服务器可以从配置文件中的指定区域中获取预设数据码率。
示例的,假设第二网络带宽为2000kbps,预设数据码率为1024kbps,由于2000kbps>1024kbps,那么当检测到本地缓存有目标视频数据时,流媒体服务器可以确定第二目标数据码率,示例的,第二目标数据码率可以为2000kbps,或者可以为1500kbps。
步骤310、流媒体服务器基于第二目标数据码率向终端发送本地缓存的目标视频数据。
在流媒体服务器确定第二目标数据码率之后,基于该第二目标数据码率向终端发送本地缓存的目标视频数据,由于第二目标数据码率大于预设数据码率,且小于或等于第二网络带宽,所以能够快速将本地缓存的目标视频数据发送出去,同时能够提高带宽利用率。
需要说明的是,本发明实施例提供的视频播放方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
综上所述,本发明实施例提供的视频播放方法,流媒体服务器确定当前的第一网络带宽,并获取为待向终端发送的目标视频数据设置的预设数据码率,当第一网络带宽小于预设数据码率时,基于第一目标数据码率向终端发送目标视频数据,终端在接收到流媒体服务器发送的目标视频数据后,能够基于目标播放速率播放目标视频。在网络不稳定的情况下,由于第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包以及数据重传现象,同时,终端能够根据存储的视频数据的数据量动态调整播放速率,使得存储于终端缓冲区中的视频数据满足终端的播放速率的要求,确保视频平滑播放,提高了用户的体验。
本发明实施例提供了一种视频播放装置40,用于流媒体服务器,如图7所示,该装置40包括:第一确定模块401、获取模块402、第二确定模块403和第一发送模块404。
第一确定模块401,用于确定当前的第一网络带宽。
获取模块402,用于获取为待向终端发送的目标视频数据设置的预设数据码率。
第二确定模块403,用于在第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽。
第一发送模块404,用于基于第一目标数据码率向终端发送目标视频数据。
综上所述,本发明实施例提供的视频播放装置,该装置能够确定当前的第一网络带宽,获取为待向终端发送的目标视频数据设置的预设数据码率,并当第一网络带宽小于预设数据码率时,确定第一目标数据码率,然后基于第一目标数据码率向终端发送目标视频数据,该第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,提高了用户体验。
本发明实施例提供了另一种视频播放装置40,用于流媒体服务器,如图8所示,该装置40包括:第一确定模块401、获取模块402、第二确定模块403、第一发送模块404和丢弃模块405。
第一确定模块401,用于确定当前的第一网络带宽。
获取模块402,用于获取为待向终端发送的目标视频数据设置的预设数据码率。
第二确定模块403,用于在第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽。
第一发送模块404,用于基于第一目标数据码率向终端发送目标视频数据。
丢弃模块405,用于在基于第一目标数据码率向终端发送目标视频数据的第一时长大于预设时长时,丢弃在第二时长内本地缓存的目标视频数据,该第二时长为第一时长与预设时长的差值。
综上所述,本发明实施例提供的视频播放装置,该装置能够确定当前的第一网络带宽,获取为待向终端发送的目标视频数据设置的预设数据码率,并当第一网络带宽小于预设数据码率时,确定第一目标数据码率,然后基于第一目标数据码率向终端发送目标视频数据,该第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,此外,在基于第一目标数据码率向终端发送目标视频数据的第一时长大于第一预设时长时,流媒体服务器丢弃在第二时长内本地缓存的目标视频数据,避免造成大量数据积压,减小了流媒体服务器的发送数据的压力,提高了视频播放的实时性,提高了用户体验。
本发明实施例提供了另一种视频播放装置40,用于流媒体服务器,如图9所示,该装置40包括:第一确定模块401、获取模块402、第二确定模块403、第一发送模块404、第三确定模块406和第二发送模块407。
第一确定模块401,用于确定当前的第一网络带宽。
获取模块402,用于获取为待向终端发送的目标视频数据设置的预设数据码率。
第二确定模块403,用于在第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽。
第一发送模块404,用于基于第一目标数据码率向终端发送目标视频数据。
第三确定模块406,用于在检测到本地缓存有目标视频数据,且当前的第二网络带宽大于预设数据码率时,确定第二目标数据码率,该第二目标数据码率大于预设数据码率,且小于或等于第二网络带宽。
第二发送模块407,用于基于第二目标数据码率向终端发送本地缓存的目标视频数据。
综上所述,本发明实施例提供的视频播放装置,该装置能够确定当前的第一网络带宽,获取为待向终端发送的目标视频数据设置的预设数据码率,并当第一网络带宽小于预设数据码率时,确定第一目标数据码率,然后基于第一目标数据码率向终端发送目标视频数据,该第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,提高了用户体验。当流媒体服务器检测到本地缓存有目标视频数据,且当前的第二网络带宽大于预设数据码率时,为了避免流媒体服务器本地缓存的目标视频数据过多,流媒体服务器发送目标视频数据的压力较大,流媒体服务器可以以大于预设数据码率且小于或等于第二网络带宽的第二目标数据码率,该过程还达到了提高带宽利用率的效果。
本发明实施例提供了另一种视频播放装置40,用于流媒体服务器,如图10所示,该装置40包括:第一确定模块401、获取模块402、第二确定模块403、第一发送模块404和第三发送模块408。
第一确定模块401,用于确定当前的第一网络带宽。
获取模块402,用于获取为待向终端发送的目标视频数据设置的预设数据码率。
第二确定模块403,用于在第一网络带宽小于预设数据码率时,确定第一目标数据码率,该第一目标数据码率小于或等于第一网络带宽。
第一发送模块404,用于基于第一目标数据码率向终端发送目标视频数据。
第三发送模块408,用于在第一网络带宽大于或等于预设数据码率时,基于预设数据码率向终端发送目标视频数据。
综上所述,本发明实施例提供的视频播放装置,该装置能够确定当前的第一网络带宽,获取为待向终端发送的目标视频数据设置的预设数据码率,并当第一网络带宽小于预设数据码率时,确定第一目标数据码率,然后基于第一目标数据码率向终端发送目标视频数据,该第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,提高了用户体验。
本发明实施例提供了另一种视频播放装置50,用于终端,如图11所示,该装置50包括:接收模块501和播放模块502。
接收模块501,用于接收流媒体服务器发送的目标视频数据,目标视频数据是流媒体服务器基于第一目标数据码率向终端发送的,该第一目标数据码率是流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,该第一目标数据码率小于或等于第一网络带宽,该预设数据码率是为待向终端发送的目标视频数据设置的数据码率。
播放模块502,用于播放目标视频数据对应的目标视频。
可选的,如图12所示,播放模块502,包括:
存储子模块5021,用于将接收到的目标视频数据存储于预先创建的大小可调的缓冲区中,并确定存储于缓冲区中的目标视频数据的数据量。
确定子模块5022,用于基于存储于缓冲区中的目标视频数据的数据量确定用于播放目标视频的目标播放速率。
播放子模块5023,用于基于目标播放速率播放目标视频。
进一步的,如图13所示,播放模块502还包括:
处理子模块5024,用于基于缓冲区可容纳的最大数据量得到多个连续的数据量范围,每个数据量范围对应一个播放速率,相邻两个数据量范围中播放速率较大的数据量范围的最小值大于播放速度较小的数据量范围的最大值。
确定子模块5022,用于:
确定存储于缓冲区中的目标视频数据的数据量所属的目标数据量范围;
判断目标数据量范围对应的播放速率与终端当前的播放速率是否相等;
当目标数据量范围对应的播放速率与终端当前的播放速率不相等时,将目标数据量范围对应的播放速率作为目标播放速率。
图13中其他标记含义可以参考图12。
综上所述,本发明实施例提供的视频播放装置,该装置接收流媒体服务器发送的目标视频数据,该目标视频数据是流媒体服务器基于第一目标数据码率向终端发送的,且该第一目标数据码率是流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,由于第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,提高了用户体验。
本发明实施例提供了另一种视频播放装置50,用于终端,如图14所示,该装置50包括:接收模块501、播放模块502、获取模块503和确定模块504。
接收模块501,用于接收流媒体服务器发送的目标视频数据,目标视频数据是流媒体服务器基于第一目标数据码率向终端发送的,第一目标数据码率是流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,第一目标数据码率小于或等于第一网络带宽,预设数据码率是为待向终端发送的目标视频数据设置的数据码率。
播放模块502,用于播放目标视频数据对应的目标视频。
获取模块503,用于获取目标视频对应的预设数据码率;
确定模块504,用于将目标视频对应的预设数据码率和预设的缓冲区可容纳目标视频数据的最大时长的乘积作为缓冲区可容纳的最大数据量。
综上所述,本发明实施例提供的视频播放装置,该装置接收流媒体服务器发送的目标视频数据,该目标视频数据是流媒体服务器基于第一目标数据码率向终端发送的,且该第一目标数据码率是流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,由于第一目标数据码率小于或等于第一网络带宽,避免了在网络不稳定的情况下流媒体服务器向终端发送视频数据的过程中易产生数据丢包现象,从而避免了终端播放视频时出现卡顿现象,同时能够避免产生数据重传现象,进而避免终端播放视频时出现延迟现象,提高了可靠性,确保视频平滑播放,提高了用户体验。此外,终端为不同视频分辨率的视频确定的缓冲区可容纳的最大数据量不同,相较于相关技术中的缓冲区确定方式,本发明实施例中的缓冲区确定方式更加灵活,能够达到节省资源的效果。
图15是本发明实施例提供的一种视频播放装置,该视频播放装置可以用于流媒体服务器。如图15所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信;处理器601,用于执行存储器603中存储的计算机程序6031,实现图2或图4所示的视频播放方法。
图16是本发明实施例提供的另一种视频播放装置,该视频播放装置可以用于终端。如图16所示,包括处理器701和存储器702,处理器701,用于执行存储器702中存储的计算机程序7021,实现图3、图4、图5或图6所示的视频播放方法。
本发明实施例提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,计算机程序被处理器执行时实现权利要求图2或图4所示的视频播放方法。
本发明实施例提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,计算机程序被处理器执行时实现图3、图4、图5或图6所示的视频播放方法。
本公开实施例提供了一种视频播放系统,该视频播放系统包括:
流媒体服务器和终端,
流媒体服务器包括图7、图8、图9或图10所示的视频播放装置,终端包括图11或图14所示的视频播放装置。
本公开实施例提供了一种视频播放系统,该视频播放系统包括:
流媒体服务器和终端,
流媒体服务器包括图15所示的视频播放装置,终端包括图16所示的视频播放装置。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (15)

1.一种视频播放方法,其特征在于,用于流媒体服务器,所述方法包括:
确定当前的第一网络带宽;
确定待向终端发送的目标视频数据的分辨率,根据所述目标视频数据的分辨率从预先存储的分辨率码率对应关系中获取为所述目标视频数据设置的预设数据码率,所述分辨率码率对应关系用于记录视频的视频分辨率与预设数据码率的对应关系,所述预设数据码率允许被调整;所述预设数据码率保存在原配置文件之外的目标区域中,或者,存储于原配置文件的指定区域中;
当所述第一网络带宽小于所述预设数据码率时,确定第一目标数据码率,所述第一目标数据码率小于或等于所述第一网络带宽;
基于所述第一目标数据码率向所述终端发送所述目标视频数据;
当基于所述第一目标数据码率向所述终端发送所述目标视频数据的第一时长大于预设时长时,丢弃在第二时长内本地缓存的所述目标视频数据,所述第二时长为所述第一时长与所述预设时长的差值。
2.根据权利要求1所述的方法,其特征在于,在所述基于所述第一目标数据码率向所述终端发送所述目标视频数据之后,所述方法还包括:
当检测到本地缓存有所述目标视频数据,且当前的第二网络带宽大于所述预设数据码率时,确定第二目标数据码率,所述第二目标数据码率大于所述预设数据码率,且小于或等于所述第二网络带宽;
基于所述第二目标数据码率向所述终端发送本地缓存的所述目标视频数据。
3.根据权利要求1所述的方法,其特征在于,在所述获取为待向终端发送的目标视频数据设置的预设数据码率之后,所述方法还包括:
当所述第一网络带宽大于或等于所述预设数据码率时,基于所述预设数据码率向所述终端发送所述目标视频数据。
4.一种视频播放方法,其特征在于,用于终端,所述方法包括:
接收流媒体服务器发送的目标视频数据,所述目标视频数据是所述流媒体服务器基于第一目标数据码率向所述终端发送的,所述第一目标数据码率是所述流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,所述第一目标数据码率小于或等于所述第一网络带宽,所述预设数据码率是所述流媒体服务器根据确定出的待向终端发送的目标视频数据的分辨率从预先存储的分辨率码率对应关系中获取的为所述目标视频数据设置的预设数据码率,所述分辨率码率对应关系用于记录视频的视频分辨率与预设数据码率的对应关系,所述预设数据码率允许被调整;所述预设数据码率由所述流媒体服务器保存在原配置文件之外的目标区域中,或者,存储于原配置文件的指定区域中;
播放所述目标视频数据对应的目标视频;
所述流媒体服务器用于在基于所述第一目标数据码率向所述终端发送所述目标视频数据的第一时长大于预设时长时,丢弃在第二时长内本地缓存的所述目标视频数据,所述第二时长为所述第一时长与所述预设时长的差值。
5.根据权利要求4所述的方法,其特征在于,所述播放所述目标视频数据对应的目标视频,包括:
将接收到的目标视频数据存储于预先创建的大小可调的缓冲区中,并确定存储于所述缓冲区中的目标视频数据的数据量;
基于存储于所述缓冲区中的目标视频数据的数据量确定用于播放所述目标视频的目标播放速率;
基于所述目标播放速率播放所述目标视频。
6.根据权利要求5所述的方法,其特征在于,在所述将接收到的目标视频数据存储于预先创建的大小可调的缓冲区中之前,所述方法还包括:
基于所述缓冲区可容纳的最大数据量得到多个连续的数据量范围,每个所述数据量范围对应一个播放速率,相邻两个数据量范围中播放速率较大的数据量范围的最小值大于播放速度较小的数据量范围的最大值;
所述基于存储于所述缓冲区中的目标视频数据的数据量确定用于播放所述目标视频的目标播放速率,包括:
确定存储于所述缓冲区中的目标视频数据的数据量所属的目标数据量范围;
判断所述目标数据量范围对应的播放速率与所述终端当前的播放速率是否相等;
当所述目标数据量范围对应的播放速率与所述终端当前的播放速率不相等时,将所述目标数据量范围对应的播放速率作为所述目标播放速率。
7.根据权利要求5或6所述的方法,其特征在于,在所述接收流媒体服务器发送的目标视频数据之后,所述方法还包括:
获取所述目标视频对应的预设数据码率;
将所述目标视频对应的预设数据码率和预设的所述缓冲区可容纳目标视频数据的最大时长的乘积作为所述缓冲区可容纳的最大数据量。
8.一种视频播放装置,其特征在于,用于流媒体服务器,所述装置包括:
第一确定模块,用于确定当前的第一网络带宽;
获取模块,用于确定待向终端发送的目标视频数据的分辨率,根据所述目标视频数据的分辨率从预先存储的分辨率码率对应关系中获取为所述目标视频数据设置的预设数据码率,所述分辨率码率对应关系用于记录视频的视频分辨率与预设数据码率的对应关系,所述预设数据码率允许被调整;所述预设数据码率保存在原配置文件之外的目标区域中,或者,存储于原配置文件的指定区域中;
第二确定模块,用于在所述第一网络带宽小于所述预设数据码率时,确定第一目标数据码率,所述第一目标数据码率小于或等于所述第一网络带宽;
第一发送模块,用于基于所述第一目标数据码率向所述终端发送所述目标视频数据;
所述装置还包括:
第三确定模块,用于在检测到本地缓存有所述目标视频数据,且当前的第二网络带宽大于所述预设数据码率时,确定第二目标数据码率,所述第二目标数据码率大于所述预设数据码率,且小于或等于所述第二网络带宽;
第二发送模块,用于基于所述第二目标数据码率向所述终端发送本地缓存的所述目标视频数据。
9.一种视频播放装置,其特征在于,用于终端,所述装置包括:
接收模块,用于接收流媒体服务器发送的目标视频数据,所述目标视频数据是所述流媒体服务器基于第一目标数据码率向所述终端发送的,所述第一目标数据码率是所述流媒体服务器在当前的第一网络带宽小于预设数据码率时所确定的数据码率,所述第一目标数据码率小于或等于所述第一网络带宽,所述预设数据码率是所述流媒体服务器根据确定出的待向终端发送的目标视频数据的分辨率从预先存储的分辨率码率对应关系中获取的为所述目标视频数据设置的预设数据码率,所述分辨率码率对应关系用于记录视频的视频分辨率与预设数据码率的对应关系,所述预设数据码率允许被调整;所述预设数据码率由所述流媒体服务器保存在原配置文件之外的目标区域中,或者,存储于原配置文件的指定区域中;
播放模块,用于播放所述目标视频数据对应的目标视频;
所述流媒体服务器用于在基于所述第一目标数据码率向所述终端发送所述目标视频数据的第一时长大于预设时长时,丢弃在第二时长内本地缓存的所述目标视频数据,所述第二时长为所述第一时长与所述预设时长的差值。
10.根据权利要求9所述的装置,其特征在于,所述播放模块,包括:
存储子模块,用于将接收到的目标视频数据存储于预先创建的大小可调的缓冲区中,并确定存储于所述缓冲区中的目标视频数据的数据量;
确定子模块,用于基于存储于所述缓冲区中的目标视频数据的数据量确定用于播放所述目标视频的目标播放速率;
播放子模块,用于基于所述目标播放速率播放所述目标视频。
11.根据权利要求10所述的装置,其特征在于,所述播放模块,还包括:
处理子模块,用于基于所述缓冲区可容纳的最大数据量得到多个连续的数据量范围,每个所述数据量范围对应一个播放速率,相邻两个数据量范围中播放速率较大的数据量范围的最小值大于播放速度较小的数据量范围的最大值;
所述确定子模块,用于:
确定存储于所述缓冲区中的目标视频数据的数据量所属的目标数据量范围;
判断所述目标数据量范围对应的播放速率与所述终端当前的播放速率是否相等;
当所述目标数据量范围对应的播放速率与所述终端当前的播放速率不相等时,将所述目标数据量范围对应的播放速率作为所述目标播放速率。
12.一种视频播放装置,其特征在于,包括处理器、通信接口、存储器和通信总线,
其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述处理器,用于执行所述存储器中存储的计算机程序,实现权利要求1至3任一所述的视频播放方法。
13.一种视频播放装置,其特征在于,包括处理器和存储器,
所述处理器,用于执行所述存储器中存储的计算机程序,实现权利要求4至7任一所述的视频播放方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至3任一所述的视频播放方法;或者,所述计算机程序被处理器执行时实现权利要求4至7任一所述的视频播放方法。
15.一种视频播放系统,其特征在于,包括:
流媒体服务器和终端,
所述流媒体服务器包括权利要求8所述的视频播放装置,所述终端包括权利要求9至11任一所述的视频播放装置;
或者,所述流媒体服务器包括权利要求12所述的视频播放装置,所述终端包括权利要求13所述的视频播放装置。
CN201810495816.4A 2017-12-29 2018-05-22 视频播放方法、装置及系统 Active CN109996094B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711469416 2017-12-29
CN2017114694168 2017-12-29

Publications (2)

Publication Number Publication Date
CN109996094A CN109996094A (zh) 2019-07-09
CN109996094B true CN109996094B (zh) 2021-08-13

Family

ID=67129024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810495816.4A Active CN109996094B (zh) 2017-12-29 2018-05-22 视频播放方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109996094B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807128B (zh) * 2019-10-25 2022-09-09 北京达佳互联信息技术有限公司 视频的预加载方法、装置、设备和存储介质
CN111010617B (zh) * 2019-11-05 2021-07-09 网宿科技股份有限公司 一种传输质量检测方法、系统及设备
CN112383791B (zh) * 2020-11-12 2023-07-21 咪咕视讯科技有限公司 一种媒体数据处理方法、装置、电子设备和存储介质
CN112953922B (zh) * 2021-02-03 2022-09-16 西安电子科技大学 一种自适应流媒体控制方法、系统、计算机设备及应用
CN113489745B (zh) * 2021-07-29 2024-04-05 百果园技术(新加坡)有限公司 视频数据发送方法、装置、设备和存储介质
CN113726759A (zh) * 2021-08-25 2021-11-30 烽火通信科技股份有限公司 一种码率自适应方法、装置、设备及可读存储介质
CN115190361A (zh) * 2022-06-16 2022-10-14 深圳市定军山科技有限公司 一种视频数据传输方法以及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US7054911B1 (en) * 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
CN102014431A (zh) * 2010-11-08 2011-04-13 华为技术有限公司 防抖动的数据传输方法、设备及系统
CN104113777A (zh) * 2014-08-01 2014-10-22 广州金山网络科技有限公司 一种音频流解码方法及装置
CN106488265A (zh) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 一种发送媒体流的方法和装置
CN106658051A (zh) * 2016-12-30 2017-05-10 中广热点云科技有限公司 一种缓冲播放流媒体的控制方法及系统
CN107026856A (zh) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 一种网络推流质量的优化方法及优化系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212389B (zh) * 2006-12-30 2010-06-23 华为技术有限公司 一种突发汇聚控制方法及相应的装置、通信设备
CN101848205A (zh) * 2010-03-16 2010-09-29 深圳市同洲电子股份有限公司 一种基于rtsp的移动终端播放流媒体的方法及系统
CN102843351B (zh) * 2012-03-31 2016-01-27 华为技术有限公司 一种流媒体业务的处理方法、流媒体服务器及系统
CN103051982B (zh) * 2012-12-28 2015-09-09 上海华为技术有限公司 一种视频流传输控制方法以及视频流传输控制装置
CN105898541B (zh) * 2014-11-12 2019-11-26 恩智浦美国有限公司 降低多媒体系统中等待时间的方法和装置
CN106303611B (zh) * 2015-06-02 2020-09-08 中兴通讯股份有限公司 一种实现片源推送的方法及系统
CN105227956A (zh) * 2015-10-30 2016-01-06 深圳云聚汇数码有限公司 移动网络环境中视频编码码率自适应装置及方法
CN105407107A (zh) * 2015-12-24 2016-03-16 成都信息工程大学 一种流媒体数据的传输方法及装置
CN106210785B (zh) * 2016-08-12 2019-12-13 浙江宇视科技有限公司 媒体流网络自适应单向控制方法及系统
CN107205160A (zh) * 2017-06-27 2017-09-26 青岛海信电器股份有限公司 一种针对服务器下发的视频的播放方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US7054911B1 (en) * 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
CN102014431A (zh) * 2010-11-08 2011-04-13 华为技术有限公司 防抖动的数据传输方法、设备及系统
CN104113777A (zh) * 2014-08-01 2014-10-22 广州金山网络科技有限公司 一种音频流解码方法及装置
CN106488265A (zh) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 一种发送媒体流的方法和装置
CN106658051A (zh) * 2016-12-30 2017-05-10 中广热点云科技有限公司 一种缓冲播放流媒体的控制方法及系统
CN107026856A (zh) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 一种网络推流质量的优化方法及优化系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"DASH中的自适应视频传输算法";张洋洋;《中国优秀硕士学位论文全文数据库》;20170115;全文 *
"Trend: A dynamic bandwidth estimation and adaptation algorithm for real-time video calling";Tamar Barzuza等;《2010 18th International Packet Video Workshop》;20110204;全文 *

Also Published As

Publication number Publication date
CN109996094A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN109996094B (zh) 视频播放方法、装置及系统
US20230283653A1 (en) Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
US20190089643A1 (en) Combined method for data rate and field of view size adaptation for virtual reality and 360 degree video streaming
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
CN109753207B (zh) 一种信息处理方法及其装置、存储介质
US11064230B2 (en) Optimizing adaptive bit rate streaming for content delivery
US9854282B2 (en) System and method for enabling network based rate determination for adaptive video streaming
CN110636339B (zh) 基于码率的调度方法、装置及电子设备
CN110022482B (zh) 视频起播方法、视频服务系统及存储介质
WO2015120766A1 (zh) 一种视频优化系统及方法
CN111083536B (zh) 调节视频码率的方法和装置
KR102012528B1 (ko) 수신 비트율 및 연관된 수신기의 동적 적응 방법
CN107566854B (zh) 一种媒体内容的获取和发送方法及装置
US20190281318A1 (en) Method of dynamic adaptive streaming for 360-degree videos
US20150134846A1 (en) Method and apparatus for media segment request retry control
US20190253470A1 (en) Data buffering method, network device, and storage medium
KR20230002784A (ko) 오디오 및/또는 비디오 콘텐츠 전송을 위한 방법 및 서버
WO2015085873A1 (zh) 视频码流的获取方法及装置
CN110324681A (zh) 多媒体数据的切片方法、装置、存储介质及传输系统
KR20170100079A (ko) 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법
US11265356B2 (en) Network assistance functions for virtual reality dyanmic streaming
EP4117294A1 (en) Method and device for adjusting bit rate during live streaming
CN116546276A (zh) 链路带宽估计方法、装置、设备、存储介质以及程序产品
US10270832B1 (en) Method and system for modifying a media stream having a variable data rate
KR20200018493A (ko) 데이터를 스트리밍하기 위한 방법들 및 장치들

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