一种接收视频流的播放处理方法

文档序号:8365970阅读:591来源:国知局
一种接收视频流的播放处理方法
【技术领域】
[0001]本申请涉及通信技术,特别涉及一种接收视频流的播放处理方法。
【背景技术】
[0002]当视频流通过无线链路传输的时候,由于无线链路的重传、乱序等原因,视频包到达接收端的时刻相对发送端有不规则的时延,造成在接收端播放的时候视频图像不够平滑,有卡顿情况。
[0003]目前在接收端进行视频流播放时的处理方法主要有如下几种:
[0004]第一种,对于接收的视频帧不做缓存,即来即播。也就是接收端在收到视频包后立刻组帧解码播放;
[0005]第二种,缓存一定时间的视频帧,并且以固定的帧率播放;
[0006]第三种,对每一帧视频帧都进行固定的延时播放。
[0007]在上述三种处理方式中,当传输链路不良时,均会存在一定的问题。
[0008]使用第一种即来即播的方式时,由于传输链路的不稳定,比如无线传输,会导致对每个视频包的传输时延不一致;同时,传输带来的误码、重传、乱码等,虽然可以通过TCP等方法来保证数据的完整有序,但是这些处理必然会带来不固定的时延的开销。上述不均匀的时延导致的后果就是,虽然发送端在按照固定的帧率发送数据包,但在接收端收到的视频包的数量并非均匀分布,单位时间内,视频包有时多有时少,甚至有时没有,这样播放出来的效果就会图像时快时慢甚至停顿,给人卡顿的感觉。可见,即来即播的方式只能用于传输链路良好的情况,对于传输链路有问题的情况,必然带来卡顿情况,无法解决。
[0009]使用第二种固定帧率播放视频的方式时,若传输链路不良,可以一定程度上平滑卡顿问题,但是,由于帧率是固定的,而固定时间内缓存的数据却时多时少,导致在有视频数据少的时候,会出现播放完毕等视频数据而图像停顿的情况,在视频数据多的时候,又会出现视频数据播放不完而增加额外的时延问题,播放还是不够平滑。另外,使用该方法,需要首先读出帧率数据,或者自己根据视频包到来的情况算出帧率,而缓存数据本身时多时少,固定帧率无法适应这种情况。因此这种方法只能说是缓解了卡顿情况,无法根除卡顿情况。
[0010]使用第三种固定延时播放的方式时,这种方法在收端接收到视频帧后每帧等待固定的时延后播放,对于不同帧率设置情况下,需要反复调试,以达到较好的效果。但是由于传输链路不良可能导致发端到收端的传输时延不可控,视频帧间隔时大时小,而固定时延却一刀切都进行延时播放,对于本来就已经有时延的视频帧,就会造成人为的时延,从而造成发端到收端播放视频的时延会不断累加。这种方法不仅会导致视频失真(慢动作),还会导致不可接受的累加时延,以及相应的缓存过大。

【发明内容】

[0011]本申请提供一种接收视频流的播放处理方法,能够在严格控制时延的前提下,更好地对接收视频流进行平滑处理。
[0012]为实现上述目的,本申请采用如下的技术方案:
[0013]一种接收视频流的播放处理方法,从发送端和接收端的视频传输链路接通开始,接收端等待设定的缓存时间后,逐帧对缓存的视频帧进行播放处理;其中,对于任一视频帧的播放处理包括:
[0014]对所述任一视频帧进行播放,并根据当前缓存帧数和所述缓存时间计算当前播放帧率N=当前缓存帧数/缓存时间;
[0015]根据计算得到的当前播放帧率N,确定在间隔1/N秒后执行下一个缓存的视频帧的播放处理。
[0016]较佳地,所述当前缓存帧数的确定方式为:当前缓存帧数=上次统计的缓存帧数+上次统计后新缓存的视频帧数-上次统计后已进行播放处理的视频帧数。
[0017]较佳地,所述设定的缓存时间为系统默认设置或由用户设置。
[0018]较佳地,所述缓存的视频帧为:接收端接收视频数据包后将其组合成的视频数据帧;
[0019]所述播放处理包括:对缓存的视频帧解码成图像数据并进行播放。
[0020]较佳地,所述缓存的视频帧为:接收端将接收的视频数据包组合成视频数据帧后,对所述视频数据帧解码成的图像数据;
[0021]所述播放处理包括:对缓存的图像数据直接进行播放。
[0022]由上述技术方案可见,本申请中,发送端和接收端的视频传输链路接通后,接收端等待设定的缓存时间后,逐帧对缓存的视频帧进行播放处理;对每个视频帧进行播放处理时,先对相应视频帧进行播放,再根据当前缓存帧数和所述缓存时间计算当前播放帧率N=当前缓存帧数/缓存时间,并根据计算得到的当前播放帧率N,确定在间隔1/N秒后执行下一视频帧的播放处理。通过上述方式,一方面根据实时统计的当前缓存帧数计算播放帧率,使本申请中的播放处理能够自适应各种不同的视频源帧率;另一方面,根据特定的播放帧率计算方式,能够严格控制视频帧播放的时延,并通过每帧更新的播放帧率确定下一帧的处理时间,从而实现了更优的平滑效果。
【附图说明】
[0023]图1为本申请中接收视频流的播放处理方法的基本流程示意图。
【具体实施方式】
[0024]为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
[0025]图1为本申请中接收视频流的播放处理方法的基本流程示意图。如图1所示,该方法包括:
[0026]步骤101,发送端和接收端建立视频传输链路后,从视频传输链路接通开始,接收端等待设定的缓存时间。
[0027]从视频传输链路接通开始,接收端开始接收视频帧,对于视频帧的接收一直持续不断地进行,贯穿于整个本申请的播放处理方法中。
[0028]与现有技术不同的,本申请中,为控制播放视频帧的时延,从视频传输链路接通开始计算缓存时间,而不考虑什么时候开始接收到视频帧,这样,可以实现视频帧时延的严格可控,不会由于接收视频帧的时间先后而导致播放视频帧的时延不可控。
[0029]其中,设定的缓存时间可以是系统默认设置的缓存时间,或者可以由用户根据需要进行设置。在缓存时间内,接收端对接收的视频帧进行缓存,不做播放处理。因此,缓存时间与视频帧的播放时延是严格相关的,缓存时间越长,视频帧的播放时延越大,平滑效果越明显。当缓存时间设为O时,即为【背景技术】中提到的即来即播的方式。
[0030]步骤102,接收端开始逐帧对缓存的视频帧进行播放处理。
[0031]缓存时间结束后,接收端开始对视频帧进行处理。
[003
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1