一种视频播放方法及装置制造方法及图纸

技术编号:19242916 阅读:33 留言:0更新日期:2018-10-24 05:31
本发明专利技术实施例公开了一种视频播放方法及装置。所述方法包括:实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片,并将所述视频帧分片存储于接收缓存区中的对应帧序号内;检测是否满足视频帧获取触发条件:若是,则根据所述接收缓存区中当前存储的视频帧分片所对应的帧序号确定实时视频的当前播放状态;根据所述当前播放状态,生成对应的待解码数据上传至上层播放器进行解码播放;返回执行实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片的操作,直至满足结束播放条件。通过本发明专利技术实施例的技术方案,能够可靠有效地将实时画面完整播放出来,提高用户体验。

【技术实现步骤摘要】
一种视频播放方法及装置
本专利技术实施例涉及信息处理技术,尤其涉及一种视频播放方法及装置。
技术介绍
随着互联网的不断普及和发展,移动互联网视频直播正处于如火如荼的井喷式发展当中。传统的直播大多是单向型的,比如电视台或者运营商直播,用户只需要打开终端收看即可,对于实时性并没有太大的要求。而移动互联网视频直播往往在功能上需要录制端和播放端有交互,这种交互不限于文字的互动,还包括视频的互动,因此,移动互联网视频直播实时性要求较高。目前,移动互联网视频直播中播放实时视频的方法为,录制端采集视频数据并按照X264格式进行视频编码,通过QoS(QualityofService,服务质量)算法将视频流数据基于TCP(TransmissionControlProtocol,传输控制协议)之上的RTMP(RealTimeMessagingProtocol,实时消息传输协议)推流到CDN(ContentDeliveryNetwork,内容分发网络)服务器进行分发,播放端从CDN服务器拉流解码来播放。现有技术中因采用从CDN服务器拉流解码来播放实时视频,在网络较差或强丢包、乱序的情况下,容易导致播放出来的画面出现卡顿或画面延迟的情况。
技术实现思路
本专利技术实施例提供一种视频播放方法及装置,以可靠有效地将实时画面完整播放出来,提高用户体验。第一方面,本专利技术实施例提供了一种视频播放方法,包括:实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片,并将所述视频帧分片存储于接收缓存区中的对应帧序号内;检测是否满足视频帧获取触发条件:若是,则根据所述接收缓存区中当前存储的视频帧分片所对应的帧序号确定实时视频的当前播放状态;根据所述当前播放状态,生成对应的待解码数据上传至上层播放器进行解码播放;返回执行实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片的操作,直至满足结束播放条件。第二方面,本专利技术实施例还提供了一种视频播放装置,该装置包括:分片存储模块,用于实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片,并将所述视频帧分片存储于接收缓存区中的对应帧序号内;状态确定模块,用于检测是否满足视频帧获取触发条件:若是,则根据所述接收缓存区中当前存储的视频帧分片所对应的帧序号确定实时视频的当前播放状态;解码播放模块,用于根据所述当前播放状态,生成对应的待解码数据上传至上层播放器进行解码播放;视频帧检测模块,用于返回执行实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片的操作,直至满足结束播放条件。本专利技术实施例通过实时接收和存储视频帧分片,在检测到满足视频帧获取触发条件时确定实时视频的当前播放状态,进而根据当前播放状态生成对应的待解码数据并进行解码播放,最后返回接收和存储视频帧分片直至满足结束播放条件,利用了分片接收且根据播放状态来进行播放的优点,解决了现有技术中因采用拉流解码进行播放而导致的在网络较差的情况下容易出现画面卡顿或延迟的问题,实现了可靠有效地将实时画面完整播放出来,提高了用户体验。附图说明图1是本专利技术实施例一提供的一种视频播放方法的流程示意图;图2是本专利技术实施例二提供的一种视频播放方法的流程示意图;图3是本专利技术实施例三提供的一种视频播放装置的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种视频播放方法的流程示意图。该方法可适用于视频播放的情况,该方法可以由视频播放装置来执行,该装置可由硬件和/或软件组成,并一般可集成视频播放端以及所有包含视频接收和播放功能的智能终端中。具体包括如下:S110、实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片,并将视频帧分片存储于接收缓存区中的对应帧序号内。可选的,接收缓存区中包含有多个帧缓存区,每个帧缓存区都对应有一个帧序号,其中每个帧序号所对应的帧缓存区均分配有对应数量的视频帧分片的分片缓存区。示例性的,视频播放端收到视频帧分片后,会将视频帧分片放入对应帧序号下的帧缓存区内的分片缓存区中进行存储。例如,实时接收到帧序号为1分片号为1-5的5个视频帧分片,则将这5个视频帧分片放入接收缓存区中帧序号为1的帧缓存区中,并按照分片号分别存储至对应的分片缓存区中。示例性的,视频发送端将实时采集的视频数据经编码后生成视频编码帧,而对于高分辨率的视频编码帧,帧的大小往往高于基于UDP(UserDatagramProtocol,用户数据报协议)的传输方式中的网络最大传输单元,因此需要对实时生成的视频编码帧进行分片处理,形成至少一个小于预设大小的视频帧分片后,以视频帧分片为传输单元进行视频数据的发送,从而有效地解决了因传输单元过大而导致的视频延迟高的问题,降低了视频的传输延迟。其中,视频帧分片的大小可设置为800字节,优选的,每个视频编码帧最多可分为500个视频帧分片。优选的,接收缓存区中还存储有与帧序号对应的帧时间戳;其中,帧时间戳通过接收到实时视频的第一个视频帧的时间以及实时视频的接收帧间隔计算得到。示例性的,每个帧序号对应的帧时间戳=第一个视频帧的时间+N×实时视频的接收帧间隔,其中,N为第一个视频帧所对应的帧序号与当前接收的视频帧分片所在视频帧的帧序号之差;实时视频的接收帧间隔可以为预设间隔,也可以根据视频帧分片的实际接收情况实时计算得到。例如,每收到一帧新的视频帧所对应的第一个视频帧分片,则根据该视频帧分片接收时间与当前接收缓存区中最早接收的视频帧中的第一个视频帧分片的接收时间之差,除以当前接收缓存区中已接收到的总帧数来计算实时视频的接收帧间隔。可选的,第一个视频帧的时间可以为最早接收到的视频帧分片所对应的绝对接收时间。根据实际接收情况实时计算接收帧间隔的好处在于,可以保证每帧画面所对应的帧时间戳为匀速播放,减小网络波动对播放画面的影响。S120、检测是否满足视频帧获取触发条件,若是,则执行S130;若否,则执行S110。可选的,视频帧获取触发条件可以是上层播放器从接收缓存区中获取一帧视频帧所需的条件。示例性的,只有当满足视频帧获取触发条件时,才能获取视频帧,以传输至上层播放器进行解码播放,否则继续接收并存储视频帧分片,直到满足视频帧获取触发条件。优选的,若当前接收的视频帧为第一帧,则进行即收即放的显示,即第一帧视频中的视频帧分片全部接收完全后,无需检测是否满足视频帧获取触发条件即可播放,以减少实时视频的播放延迟。S130、根据接收缓存区中当前存储的视频帧分片所对应的帧序号确定实时视频的当前播放状态。可选的,当前播放状态可分为就绪状态和缓冲状态。示例性的,若当前接收缓存区中存储有至少一个帧序号所对应的视频帧分片,则说明当前接收缓存区中至少有一帧视频帧是可以播放的,因而可确定为就绪状态;若当前接收缓存区中没有存储到一个帧序号对应的视频帧分片,则说明当前接收缓存区中无可播放视频帧,因而可确定为缓冲状态。根据接收缓存区中当前存储情况确定实时视频的当前播放状态本文档来自技高网...

【技术保护点】
1.一种视频播放方法,其特征在于,包括:实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片,并将所述视频帧分片存储于接收缓存区中的对应帧序号内;检测是否满足视频帧获取触发条件:若是,则根据所述接收缓存区中当前存储的视频帧分片所对应的帧序号确定实时视频的当前播放状态;根据所述当前播放状态,生成对应的待解码数据上传至上层播放器进行解码播放;返回执行实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片的操作,直至满足结束播放条件。

【技术特征摘要】
1.一种视频播放方法,其特征在于,包括:实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片,并将所述视频帧分片存储于接收缓存区中的对应帧序号内;检测是否满足视频帧获取触发条件:若是,则根据所述接收缓存区中当前存储的视频帧分片所对应的帧序号确定实时视频的当前播放状态;根据所述当前播放状态,生成对应的待解码数据上传至上层播放器进行解码播放;返回执行实时接收视频服务器转发的,由视频发送端发送的实时生成的视频编码帧的视频帧分片的操作,直至满足结束播放条件。2.根据权利要求1所述的方法,其特征在于,所述接收缓存区中还存储有与帧序号对应的帧时间戳;其中,所述帧时间戳通过接收到所述实时视频的第一个视频帧的时间以及所述实时视频的接收帧间隔计算得到。3.根据权利要求2所述的方法,其特征在于,所述根据所述接收缓存区中当前存储的视频帧分片所对应的帧序号确定实时视频的当前播放状态,包括:若所述接收缓存区中最大帧序号大于最小帧序号,且所述接收缓存区中最大帧序号所对应的帧时间戳大于播放缓冲阈值,则确定当前播放状态为就绪状态;若所述接收缓存区中最大帧序号等于最小帧序号,则确定当前播放状态为缓冲状态;其中,所述播放缓冲阈值由当前网络条件下视频帧分片传输的实际往返时间确定。4.根据权利要求3所述的方法,其特征在于,所述检测是否满足视频帧获取触发条件,包括:如果与最小帧序号对应的帧时间戳小于等于允许播放相对时间戳,则确定满足视频帧获取触发条件,其中,所述允许播放相对时间戳由前一待解码数据的生成时间以及当前系统时间确定。5.根据权利要求4所述的方法,其特征在于,在确定当前播放状态为就绪状态之后,还包括:获取允许播放绝对时间戳,其中,所述允许播放绝对时间戳为前一待解码数据的生成时间;将所述允许播放相对时间戳更新为当前系统时间与所述允许播放绝对时间戳之差再与所述允许播放相对时间戳之和;将所述允许播放绝对时间戳更新为当前系统时间。6.根据权利要求5所述的方法,其特征在于,所述根据所述当前播放状态,生成对应的待解码数据上传至上层播放器进行解码播放,包括:在所述当前播放状态为就绪状态时,判断最小帧序号对应的帧时间戳是否小于等于所述允许播放相对时间戳,且所述接收缓存区中最小帧序号所对应的所有视频帧分片是否已经接收完整:若是,则...

【专利技术属性】
技术研发人员:袁荣喜周巍巍张凯磊
申请(专利权)人:上海谦问万答吧云计算科技有限公司
类型:发明
国别省市:上海,31

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

1