流媒体文件传输方法、流媒体客户端和计算机可读存储介质技术

技术编号:21205629 阅读:30 留言:0更新日期:2019-05-25 02:59
本公开提出一种流媒体文件传输方法、流媒体客户端和计算机可读存储介质,涉及多媒体技术领域。本公开的一种流媒体文件传输方法包括:根据索引文件和用户设定的视频清晰度获取传输流TS文件;从TS文件获取视频数据并缓存;消耗缓存的视频数据以播放视频;确定缓存的视频数据的剩余量变化情况;在确定缓存的视频数据减少的情况下,增加同时下载的TS文件数量。通过这样的方法,能够在缓存的视频数据变少的情况下增加同时下载的TS文件数量,提升媒体文件传输的网络吞吐量,防止在带宽充足的情况下盲目降低码率,优化视频清晰度。

Streaming Media File Transfer Method, Streaming Media Client and Computer Readable Storage Media

The present disclosure proposes a streaming media file transmission method, a streaming media client and a computer readable storage medium, and relates to the multimedia technology field. A streaming media file transmission method disclosed in the present disclosure includes: acquiring the TS file of the transmission stream according to the index file and the video definition set by the user; acquiring video data from the TS file and caching it; consuming the cached video data to play the video; determining the change of the remaining amount of cached video data; and adding simultaneous downloaded TS text in the case of determining the reduction of cached video data. Number of pieces. This method can increase the number of TS files downloaded at the same time when the cached video data is less, improve the network throughput of media file transmission, prevent blindly reducing the bit rate and optimize the video clarity when the bandwidth is sufficient.

【技术实现步骤摘要】
流媒体文件传输方法、流媒体客户端和计算机可读存储介质
本公开涉及多媒体
,特别是一种流媒体文件传输方法、流媒体客户端和计算机可读存储介质。
技术介绍
苹果公司的HLS(HTTPLiveStreaming,动态码率自适应技术)流媒体技术已成为业界的事实标准,目前OTT(OverTheTop,基于开放互联网的服务业务)普遍采用HLS技术提供视频业务。HLS服务器端将视频文件分割成若干个.ts文件(媒体数据)及.m3u8文件(媒体数据索引)存在于服务器之上,客户端访问.m3u8文件后按索引下载.ts文件进行播放。HLS技术采用HTTP(HyperTextTransferProtocol,超文本传输协议)下载TS(TransportStream,传输流)媒体文件,文件下载速率不仅受到网络带宽的影响,也受到TCP(TransmissionControlProtocol传输控制协议)吞吐量。TCP吞吐量与网络端到端时延、丢包率有关。4K(4096×2160的像素分辨率)视频的平均码流速率有20Mbps,HTTP下载要达到这个速率,网络端到端时延应小于10ms,丢包率应低于万分之五。当客户端下载速率低于编码速率时,视频播放缓存减小,客户端切换到获取低码率的TS文件以确保视频能流畅播放。
技术实现思路
专利技术人发现,客户端下载速率降低未必是网络带宽不够,更多的原因是网络端到端的传输时延和丢包率有所增加。本公开的一个目的在于提升HLS媒体文件传输的网络吞吐量,优化视频清晰度。根据本公开的一个方面,提出一种流媒体文件传输方法,包括:根据索引文件和用户设定的视频清晰度并播放;从TS文件获取视频数据并缓存;消耗缓存的视频数据以播放视频;确定缓存的视频数据的剩余量变化情况;在确定缓存的视频数据减少的情况下,增加同时下载的TS文件数量。可选地,在确定缓存的视频数据减少的情况下,增加同时下载的TS文件数量包括:若缓存的视频数据减少,则以预定粒度增加同时下载的TS文件数量,直至缓存的视频数据停止减少或同时下载的TS文件数量达到预定上限。可选地,还包括:在同时下载的TS文件数量达到预定上限且缓存的视频数据减少的情况下,降低获取的TS文件的码率。可选地,还包括:根据索引文件判断是否已完成获取所有TS文件;确定缓存的视频数据的变化情况为:在未完成获取所有TS文件的情况下,确定缓存的视频数据的变化情况。通过这样的方法,能够在缓存的视频数据变少的情况下增加同时下载的TS文件数量,提升媒体文件传输的网络吞吐量,防止在带宽充足的情况下盲目降低码率,优化视频清晰度。根据本公开的另一个方面,提出一种流媒体客户端,包括:TS文件获取单元,用于根据索引文件和用户设定的视频清晰度获取TS文件;缓存单元,用于从TS文件获取视频数据并缓存;播放单元,用于消耗缓存的视频数据以播放视频;并行下载切换单元,用于在确定缓存单元中缓存的视频数据减少的情况下,增加TS文件获取单元同时下载的TS文件数量。可选地,并行下载切换单元用于:在确定缓存的视频数据减少的情况下,以预定粒度增加TS文件获取单元同时下载的TS文件数量,直至缓存的视频数据停止减少或同时下载的TS文件数量达到预定上限。可选地,还包括:码率切换单元,用于在同时下载的TS文件数量达到预定上限且缓存的视频数据减少的情况下,切换并行下载切换单元降低获取的TS文件的码率。可选地,还包括:下载判断单元,用于根据索引文件判断是否已完成获取所有TS文件;并行下载切换单元用于在未完成获取所有TS文件的情况下,确定视频数据缓存的剩余量变化情况。根据本公开的又一个方面,提出一种流媒体客户端,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中提到的任意一种流媒体文件传输方法。这样的流媒体客户端能够在缓存的视频数据变少的情况下增加同时下载的TS文件数量,提升媒体文件传输的网络吞吐量,防止在带宽充足的情况下盲目降低码率,优化视频清晰度。根据本公开的再一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中提到的任意一种流媒体文件传输方法的步骤。这样的计算机可读存储介质通过执行其上的指令,能够在缓存的视频数据变少的情况下增加同时下载的TS文件数量,提升媒体文件传输的网络吞吐量,防止在带宽充足的情况下盲目降低码率,优化视频清晰度。附图说明此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:图1为本公开的流媒体文件传输方法的一个实施例的流程图。图2A为相关技术中HLS文件传输示意图。图2B为本公开的流媒体文件传输方法的一个实施例的示意图。图3为本公开的流媒体文件传输方法的另一个实施例的流程图。图4为本公开的流媒体客户端的一个实施例的示意图。图5为本公开的流媒体客户端的另一个实施例的示意图。图6为本公开的流媒体客户端的又一个实施例的示意图。具体实施方式下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。本公开的流媒体文件传输方法的一个实施例的流程图如图1所示。在步骤101中,根据索引文件和用户设定的视频清晰度并播放。索引文件为m3u8文件,客户端根据索引文件依次获取符合用户设定的视频清晰度的TS文件。用户设定的视频清晰度可以为用户手动设定,也可以为针对用户网络情况、付费情况的清晰度,还可以是默认清晰度。在步骤102中,从获取的TS文件中提取视频数据并缓存。在一个实施例中,视频数据可以在TS文件的获取过程中同步提取;在一个实施例中,可以在完成获取一个TS文件后提取其中的视频数据。在步骤103中,消耗缓存的视频数据以播放视频。在步骤104中,确定缓存的视频数据的剩余量变化情况。当缓存视频数据的速度与播放消耗的视频数据的速度的差值为负时,缓存的视频数据会逐步减少,当减少到一定程度时会发生卡顿,不能满足视频播放要求。在步骤105中,在确定缓存的视频数据减少的情况下,增加同时下载的TS文件数量。通过这样的方法,能够在缓存的视频数据变少的情况下增加同时下载的TS文件数量,提升媒体文件传输的网络吞吐量,防止在带宽充足的情况下盲目降低码率,优化视频清晰度。现有技术中HLS文件传输示意图如图2A所示:HLS服务端将视频文件切分成多个TS分片,并通过M3U8文件对TS分片进行索引;HLS客户通过索引文件,逐个下载服务端的TS分片,下载速率受制于网络的带宽、时延和丢包率;对于4K视频20Mps的传输速率,要求网络时延小于10ms,丢包率小于万分之五,以下为TCP吞吐量理论公式:其中,Throuput为吞吐量,BW为带宽,RTT(Round-TripTime)为往返时延,WindowSize为窗口宽度,MSS(ManagementSupportSystem)为最大报文段长度,ρ为误码率。当客户端下载速率低于编码速率时,视频播放缓存减小,客户端切换为获取低码率的TS文件,确保视频能流畅播放。本公开的流媒体文件传输方法的一个实施例的示意图如图2B所示,当客户端视频缓存减小时,可先尝试进行2或3个TS文件同时下载。同时下载多个TS分片文件,相当于同时有多个TCP连接,总的网络吞吐量会得本文档来自技高网...

【技术保护点】
1.一种流媒体文件传输方法,包括:根据索引文件和用户设定的视频清晰度获取传输流TS文件;从所述TS文件获取视频数据并缓存;消耗缓存的所述视频数据以播放视频;确定缓存的视频数据的剩余量变化情况;在确定缓存的视频数据减少的情况下,增加同时下载的TS文件数量。

【技术特征摘要】
1.一种流媒体文件传输方法,包括:根据索引文件和用户设定的视频清晰度获取传输流TS文件;从所述TS文件获取视频数据并缓存;消耗缓存的所述视频数据以播放视频;确定缓存的视频数据的剩余量变化情况;在确定缓存的视频数据减少的情况下,增加同时下载的TS文件数量。2.根据权利要求1所述的方法,其中,所述在确定缓存的视频数据减少的情况下,增加同时下载的TS文件数量包括:若缓存的视频数据减少,则以预定粒度增加同时下载的TS文件数量,直至缓存的视频数据停止减少或同时下载的TS文件数量达到预定上限。3.根据权利要求2所述的方法,还包括:在同时下载的TS文件数量达到预定上限且缓存的所述视频数据减少的情况下,降低获取的TS文件的码率。4.根据权利要求1、2或3所述的方法,还包括:根据所述索引文件判断是否已完成获取所有TS文件;所述确定缓存的视频数据的剩余量变化情况为:在未完成获取所有TS文件的情况下,确定缓存的视频数据的剩余量变化情况。5.一种流媒体客户端,包括:传输流TS文件获取单元,用于根据索引文件和用户设定的视频清晰度获取TS文件;缓存单元,用于从所述TS文件获取视频数据并缓存;播放单元,用于消耗缓存的所述视...

【专利技术属性】
技术研发人员:姚良
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1