1.一种去除流媒体播放器时延累积的方法,其特征在于,包括:
对接收的音频数据和视频数据进行解码;
确定解码后的音频数据的播放时间长度大于预设播放时间长度,对解码后的音频数据进行裁剪,使裁剪后的音频数据的播放时间长度等于所述预设播放时间长度,所述预设播放时间长度与流媒体播放器的最小时延相同;
根据视频数据跟随音频数据播放的同步播放原则,播放裁剪后的音频数据和解码后的视频数据。
2.根据权利要求1所述的方法,其特征在于,所述根据视频数据跟随音频数据播放的同步播放原则,播放裁剪后的音频数据和解码后的视频数据,包括:
播放裁剪后的音频数据,增加解码后的视频数据的播放速度直到处于同一播放时间点的视频数据与音频数据同步播放。
3.根据权利要求1或2所述的方法,其特征在于,所述对接收的音频数据和视频数据进行解码之前,还包括:
将接收的音频数据和视频数据分别组成音频帧和视频帧,并分别计算每一音频帧和每一视频帧的播放时间点;
将所述音频帧按照播放时间点依次放入音频缓冲队列中,将所述视频帧按照播放时间点依次放入视频缓冲队列中;
所述对接收的音频数据和视频数据进行解码,包括:
对所述音频缓冲队列中的音频帧和视频缓冲队列中的视频帧进行解码,并获取每一音频帧和每一视频帧的播放时间点。
4.根据权利要求3所述的方法,其特征在于,所述确定解码后的音频数据的播放时间长度大于预设播放时间长度,包括:
确定解码后的音频缓冲队列的播放时间长度大于预设播放时间长度;
所述对解码后的音频数据进行裁剪,使裁剪后的音频数据的播放时间长度等于所述预设播放时间长度,包括:
裁剪掉所述音频缓冲队列中播放时间点靠前的音频帧,使裁剪后的音频缓冲队列的播放时间长度等于所述预设播放时间长度;
所述播放裁剪后的音频数据,增加解码后的视频数据的播放速度直到处 于同一播放时间点的视频数据与音频数据同步播放,包括:
播放裁剪后的音频缓冲队列,增加解码后的视频缓冲队列的播放速度直到处于同一播放时间点的视频帧与音频帧同步播放。
5.根据权利要求4所述的方法,其特征在于,所述确定解码后的音频缓冲队列的播放时间长度大于预设播放时间长度,包括:
按照预设时间周期性确定解码后的音频缓冲队列的播放时间长度大于预设播放时间长度。
6.一种流媒体播放器,其特征在于,包括:
音频接收模块,用于接收音频数据;
视频接收模块,用于接收视频数据;
音频解码器,用于对接收的音频数据进行解码;
视频解码器,用于对接收的视频数据进行解码;
处理模块,用于确定解码后的音频数据的播放时间长度大于预设播放时间长度,对解码后的音频数据进行裁剪,使裁剪后的音频数据的播放时间长度等于所述预设播放时间长度,所述预设播放时间长度与流媒体播放器的最小时延相同;
播放模块,用于根据视频数据跟随音频数据播放的同步播放原则,播放裁剪后的音频数据和解码后的视频数据。
7.根据权利要求6所述的流媒体播放器,其特征在于,所述播放模块具体用于:
播放裁剪后的音频数据,增加解码后的视频数据的播放速度直到处于同一播放时间点的视频数据与音频数据同步播放。
8.根据权利要求6或7所述的流媒体播放器,其特征在于,所述音频接收模块用于:将接收的音频数据组成音频帧,并计算每一音频帧的播放时间点,将所述音频帧按照播放时间点依次放入音频缓冲队列中;
所述视频接收模块用于:将接收的视频数据组成视频帧,并计算每一视频帧的播放时间点,将所述视频帧按照播放时间点依次放入视频缓冲队列中;
所述音频解码器具体用于:对所述音频缓冲队列中的音频帧进行解码,并获取每一音频帧的播放时间点;
所述视频解码器具体用于:对所述视频缓冲队列中的视频帧进行解码, 并获取每一视频帧的播放时间点。
9.根据权利要求8所述的流媒体播放器,其特征在于,所述处理模块用于:
确定解码后的音频缓冲队列的播放时间长度大于预设播放时间长度,裁剪掉所述音频缓冲队列中播放时间点靠前的音频帧,使裁剪后的音频缓冲队列的播放时间长度等于所述预设播放时间长度;
所述播放模块用于:播放裁剪后的音频缓冲队列,增加解码后的视频缓冲队列的播放速度直到处于同一播放时间点的视频帧与音频帧同步播放。
10.根据权利要求9所述的流媒体播放器,其特征在于,所述处理模块具体用于:
按照预设时间周期性确定解码后的音频缓冲队列的播放时间长度大于预设播放时间长度。