一种视频数据传输装置和方法

文档序号:9914788阅读:290来源:国知局
一种视频数据传输装置和方法
【技术领域】
[0001]本发明涉及视频技术领域,特别是涉及一种视频数据传输装置和方法。
【背景技术】
[0002]用户在观看视频时,从云端的视频存储器采集视频数据放入缓冲区,然后依次传输缓冲区中的MJPEG视频数据,传送到用户的播放终端。
[0003]上述传输过程中,网络速度是视频播放效果的决定性因素。当网络通讯条件变差时,依次传输缓冲区的数据,导致接收端无法实时流畅的获取图像数据,出现播放卡顿甚至停滞的现象。

【发明内容】

[0004]本发明主要解决的技术问题是提供一种视频数据传输装置和方法,能够消除网络不畅通时对视频数据传输的影响,使播放终端播放流畅,提高用户体验。
[0005]为解决上述技术问题,本发明采用的一个技术方案是:提供一种视频数据传输装置,用于控制传输视频数据,包括:采集模块,用于采集视频数据流帧数据,并统计上一帧视频数据传输成功的时间点Tl和预备传输的当前帧视频数据的时间点T2,获得时间点T2与时间点Tl之间的一时间差T4;获取模块,用于获取实时帧数据传输对应的网络传输速率;计算模块,用于根据帧数据的大小和网络传输速率计算传输帧数据所需时间T3;判断模块,用于比较时间差T4与T3的数值大小,当T4大于等于T3时,发送一视频文件播放请求以将采集到的上述帧数据传输到播放终端,否则释放帧数据。
[0006]为解决上述技术问题,本发明采用的一个技术方案是:提供一种视频数据传输方法,该方法的步骤包括:采集视频数据流帧数据,并统计上一帧视频数据传输成功的时间点TI和预备传输的当前帧视频数据的时间点T2,获得时间点T2与时间点TI之间的一时间差T4 ;获取实时帧数据传输对应的网络传输速率;根据帧数据的大小和网络传输速率计算传输帧数据所需时间T3;比较时间差T4与T3的数值大小,当T4大于等于T3时,发送一视频文件播放请求以将采集到的上述帧数据传输到播放终端,否则释放帧数据。
[0007]区别于现有技术,本发明的视频数据传输装置采集视频数据流的帧数据,统计上一帧数据完成传输及当前帧数据预备传输的时间点,同时获取当前的网速,计算传输当前帧数据所需时间,并与统计的上一帧数据完成传输及当前帧数据预备传输的时间点的差值比较,在小于该差值时传输到播放终端,反之释放帧数据。通过本发明,能够消除网络不畅通时对视频数据传输的影响,使播放终端播放流畅,提高用户体验。
【附图说明】
[0008]图1是本发明提供的一种视频数据传输装置第一实施方式的结构示意图;
[0009]图2是本发明提供的一种视频数据传输装置第一实施方式中帧数据可被接收的情况的坐标示意图;
[0010]图3是本发明提供的一种视频数据传输方法第一实施方式的流程示意图。
【具体实施方式】
[0011]下面结合【具体实施方式】对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0012]随着网络信息技术的发展,特别是移动终端在视频处理方面的能力越来越强,用户通过移动终端点播视频的越来越多。本发明基于当前先进的网络传输技术,进行视频播放。
[0013]参阅图1,图1是本发明提供的一种视频数据传输装置第一实施方式的结构示意图。该装置100包括:采集模块110,获取模块120、计算模块130和判断模块140。
[0014]现有的视频播放方式通常是把网络云端存储器中存储的视频文件传输到播放终端,通过播放终端进行播放。但是遇到网络问题时,会导致传输延迟,因此使视频播放出现卡顿甚至停滞,用户体验度较差。
[0015]在本发明中,采集模块110从云端存储器101采集待发送到播放终端102的视频数据流的帧数据,同时统计上一帧帧数据传输成功的时间点Tl和预备传输当前帧帧数据的时间点T2,上一帧帧数据传输成功的时间点Tl到预备传输当前帧帧数据的时间点T2的时间差是播放终端102接收上一帧数据所用的时间。获取模块120继续获取播放终端102接收当前帧数据时的网络传输速率。
[0016]计算模块130接收即将要传输到播放终端102的帧数据以及采集模块110获取的实时网络传输速率,根据接收到的帧数据的大小和实时的网络传输速度,运用算法计算传输该即将要传输到播放终端102的帧数据所需的时间T3,同时计算上一帧帧数据传输成功的时间点Tl和预备传输当前帧帧数据的时间点T2的时间差T4,将计算得到的T3和T4的数值传输到判断模块140。
[0017]判断模块140判断比较从上一帧帧数据传输成功到预备传输下一帧帧数据的时间差T4与T3的数值大小,在判断结果为T4大于T3时,将采集到的上述帧数据传输到播放终端;反之,释放该帧数据。
[0018]在本实施方式中,视频流的帧数据在从云端存储器101传输到播放终端102之前,先经过装置100的判断处理。帧数据从云端存储器101输出后被采集模块110采集,同时统计前一帧数据传输成功的时间点Tl及预备传输当前帧数据的时间点T2。为保证视频播放的流畅性,每一帧数据传输到播放终端102应该是连续的,因此前一帧数据传输成功的时间点Tl及预备传输当前帧数据的时间点T2的时间差即为前一帧数据被播放终端102接收所需的时间。采集模块110再从网络管理系统(图未示)处获取实时的网络传播速率,计算模块130根据接收到的帧数据的大小和当前网络传输速率,模拟计算当前待发送的帧数据被播放终端102接收所需时间T3 ο判断模块140将计算模块130计算得到的时间数值T3以及前一帧数据传输成功的时间点Tl及预备传输当前帧数据的时间点T2的时间差T4进行对比,当T3的具体数值小于T4时,说明在与前一帧数据大小相当的情况下,如果前一帧数据在T4时间段内被播放终端102接收,则当前帧数据在相应的时间段内也可以被播放终端102接收,此时播放终端102播放视频顺畅,不会造成视频播放的卡顿及停滞;反之,当T3的具体数值大于T4时,说明在与前一帧数据大小相当的情况下,当前帧数据被接收所需时间较长,当前帧数据在相应的时间段内无法被接收,对播放终端102继续接收下一帧数据造成影响,最终会造成播放视频时的卡顿,甚至导致播放停滞。此时判断模块140将当前待传输到播放终端102的帧数据释放,继续由采集模块110采集接下来的下一帧数据。
[0019]进一步,装置100还包括缓存模块150,缓存模块150设置于采集模块110和云端存储器101之间,缓存模块150将用户选定播放的视频的全部视频数据文件保存到缓存模块150,然后以帧数据的形式向播放终端102传输视频文件数据。
[0020]通常情况,在现有网络技术的情况下,网络传输速度在不同的连续时间内是小范围波动的,可视为波浪形波动。因此计算得到的时间差数值T4在连续时间段内也是呈波浪形波动。如图2中所示,图2中的坐标图横坐标为随时间的延续播放终端102接收的帧数据,纵坐标表示接收相应的帧数据所需的时间T3,图中波浪线即为统计计算得到的时间差值T4。从图中可知,接收帧数据的时间T3小于T4,则该帧数据将被播放终端102接收,接收帧数据的时间T3大于T4,则该帧数据将被释放。释放当前帧数据后,采集模块110立即接收下一帧数据,且接收当前帧数据失败后的空余时间延伸给下一帧数据,即对应于下一帧数据计算得到的T4将变成T3’+T4,T3’是相对于下一帧数据的前一帧数据模拟计算得到的被接收时间。对于下一帧数据,Τ3’+Τ4>Τ3时,下一帧数据可被接收。此时可保证下一帧数据尽可能被接收。若下一帧数据还未被接收,则接下来一帧数据的接收时间差Τ4继续变大,直至大于模拟计算的时间Τ3,使该数据被接收。
[0021 ]进一步,计算模块连接到通用网关接口 CGI,获取实时的网络传输速度。
[0022]区别于现有技术,本发明的视频数据传输装置采集视频数据流的帧数据,统计上一帧数据完成传输及当前帧数据预备传输的时间点,同时获取当前的网速,计算传输当前帧数据所需时间,并与统计的上一帧数据完成传输及当前帧数据预备传输的时间点的差值比
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1