一种基于视频数据块分发的同步播放方法

文档序号:7895584阅读:162来源:国知局
专利名称:一种基于视频数据块分发的同步播放方法
技术领域
本发明属于数字视频技术领域,具体涉及视频文件格式转换、视频数据块分发策略、视频同步播放方法。
背景技术
近年来,智能手机、平板电脑等智能终端的普及,大大丰富了人们的休闲、娱乐生活。根据工信部的统计,截至2008年底,中国手机用户数量已超过6. 4亿。2009年,工业和信息化部向中国移动、中国电信和中国联通发放了 3G牌照,此举标志着我国正式进入3G时代。通信技术的进步和终端硬件水平的提升,为移动互联网的发展注入了强大的动力,网络应用内容不断丰富、用户应用体验不断提高。根据工信部发布的数据显示,截止2009年底, 中国手机终端数量已经达到7. 47亿。观看视频一直是传统台式计算机的主流应用之一,近年来也逐渐向手机、平板电脑等智能终端普及,成为智能手机、平板电脑的休闲应用中不可或缺的部分。然而,无论是普通台式计算机还是新兴的移动智能终端,其平台上的播放器虽然种类繁多、各有特色,但其功能一直局限在单独用户的视频观看,如本地视频文件播放、流媒体视频播放,缺乏一种简单易行的方式使得用户之间可以进行良好体验的视频分享机制。手机、平板电脑等智能设备屏幕较小、隐私程度高,不适合很多用户一同观看视频。如果多个用户之间希望分享某一视频,只能使用蓝牙、WiFi等技术将视频文件传送至每一部手机。这种方法的缺点显而易见
(1)传送文件需要时间。蓝牙技术的传输速率很慢,且受物理距离的限制,不适合传输较大的视频文件;目前没有成熟的机制使手机、平板电脑等终端之间通过WiFi直接传送文件,即使开发一套类似传统台式计算机的服务器-客户端传输系统,依然需要等待时间,且略显小题大做。(2)在用户较多的情况下,传输视频文件消耗的时间更长。由于移动终端之间无法进行应用层级别的数据包多播传输,因此必须对多个用户进行单独的点对点传输,一个用户必须等待另一个用户完全接收后才能开始获取视频文件。(3)即使完成视频文件的传输,多个用户之间依然是各自观看,视频播放难免存在时间差。这不利于用户之间的交流,减少了乐趣;且在小范围中分别播放视频可以导致声音的互相干扰,极大的降低了用户体验。

发明内容
本发明的目的在于提供一种文件传输速率高、用户体验乐趣多的视频同步播放方法。在本发明的视频同步播放方法中,多个移动终端连接到同一局域网(通过WiFi)。其中某个移动终端作为中心节点,中心节点存储着需要同步播放的视频文件。中心节点先将视频文件分割成包含等时间长度的视频数据块,并给予整数时间戳,即按自然数序列递增。其它终端节点(以下称作普通节点)连接到中心节点,获取中心节点分发的视频数据块, 并通过整数时间戳进行同步视频播放。通过向普通节点发送时间戳更新信息,中心节点可以控制普通节点的播放进度。本发明方法可分为三个过程系统时间同步、视频文件块化和同步播放。(1)系统时间同步,是为了消除不同终端之间的时间差别。中心节点决定当前的系统时间,定义为基准时间。普通节点与中心节点连接后进行时间同步,使得所有节点都维持相同的基准时间。所有节点的播放行为都基于同样的基准时间,中心节点每隔一段相同的时间会给普通节点发送数据包,普通节点通过该数据包确认或更新当前的基准时间。(2)视频文件块化,就是将视频文件分割为包含等时间长度的视频数据块,并给予指明顺序的时间戳。即每一个视频数据块中,包含的视频长度(播放间隔)都相同,但每一个视频数据块的大小并不一样。每个视频数据块的时间戳为其代表的某一时间段开始的时间加上基准。视频文件块化操作步骤为
第1步、获取一个帧的DTS (Display Time Stamp,解码时间戳); 第2步、通过DTS计算该帧的PTS (Presentation Time Stamp,显示时间戳); 第3步、通过帧率(framerate)和PTS计算出下一帧的显示时间T,对于重复显示的帧, 则将时间累计;
权利要求
1.一种视频同步播放方法,其特征在于将多个移动终端连接到同一局域网;其中某个移动终端作为中心节点,中心节点存储着需要同步播放的视频文件;中心节点先将视频文件分割成包含等时间长度的视频数据块,并给予整数时间戳,即按自然数序列递增;其它终端节点作为普通节点连接到中心节点,获取中心节点分发的视频数据块,并通过整数时间戳进行同步视频播放;通过向普通节点发送时间戳更新信息,中心节点控制普通节点的播放进度。
2.根据权利要求1所述的视频同步播放方法,其特征在于分为三个过程系统时间同步、视频文件块化和同步播放;其中(1)系统时间同步由中心节点决定当前的系统时间,定义为基准时间;普通节点与中心节点连接后进行时间同步,使得所有节点都维持相同的基准时间;所有节点的播放行为都基于同样的基准时间,中心节点每隔一段相同的时间会给普通节点发送数据包,普通节点通过该数据包确认或更新当前的基准时间;(2)视频文件块化将视频文件分割为包含等时间长度的视频数据块,并给予指明顺序的时间戳,即每一个视频数据块中,包含的视频长度都相同,但每一个视频数据块的大小并不一样,每个视频数据块的时间戳为其代表的某一时间段开始的时间加上基准;(3)同步播放由中心节点对每个连接的普通节点分配一个Bitmap,即一个布尔型的数组,用以记录发送视频数据块的历史;该数组每个元素对应一个视频数据块,初始值为0,表示没有发送数据;一旦中心节点向普通节点发送了某一视频数据块,则将对应Bitmap的对应视频块索引置为1,表示已经发送数据;普通节点获取中心节点发送的视频数据块后放入缓存并按时间戳排序;中心节点可以向普通节点发送命令,在指定基准时间播放指定时间戳的视频数据块, 普通节点在缓存中搜索到对应的视频数据块并依次向后播放;中心节点可以向普通节点发送暂停命令,普通节点收到命令后立即暂停播放即可;当普通节点收到来自中心节点的恢复播放命令后,通过对比视频数据块的时间戳和基准时间,决定应该播放的是哪一个视频数据块,并选择其进行播放。
3.根据权利要求2所述的视频同步播放方法,其特征在于所述视频文件块化的步骤为第1步、获取一个帧的解码时间戳(DTS);第2步、通过解码时间戳计算该帧的显示时间戳(PTS);第3步、通过帧率(framerate)和PTS计算出下一帧的显示时间T,对于重复显示的帧, 则将时间累计;第4步、根据每帧的显示时间T将视频文件分割成包含等时间长度的视频数据块,分别记录每一视频块开始的时间,加上基准时间作为其时间戳,该时间戳的排列是顺序递增的;第5步、对每个视频数据块给予对应的整数值时间戳,在数据块发送的时候为其IP数据包payload字段加上时间戳信息。
4.根据权利要求2所述的视频同步播放方法,其特征在于所述中心节点向普通节点发送命令,在指定基准时间播放指定时间戳的视频数据块,普通节点在缓存中搜索到对应的视频数据块并依次向后播放,具体步骤为第1步、中心节点在基准时间T定位到视频文件pos秒的位置,由每个视频文件块包含的视频长度t可计算得应播放第个视频数据块;第2步、中心节点向普通节点发送命令在基准时间T播放第^^个视频数据块;第3步、普通节点在基准时间 时间收到命令,根据每个视频数据块包含的视频时间长度,立即定位到ee^个视频数据块播放。
全文摘要
本发明属于数字视频技术领域,具体为一种视频同步播放方法。本发明将多个移动终端连接到同一局域网;其中某个移动终端作为中心节点,中心节点存储着需要同步播放的视频文件;中心节点先将视频文件分割成包含等时间长度的视频数据块,并给予整数时间戳,即按自然数序列递增;其它终端节点作为普通节点连接到中心节点,获取中心节点分发的视频数据块,并通过整数时间戳进行同步视频播放;通过向普通节点发送时间戳更新信息,中心节点控制普通节点的播放进度。本发明涉及视频数据提取、视频数据块分发、视频同步播放,本发明方法文件传输速率高,并可增加用户体验乐趣。
文档编号H04N21/8547GK102227142SQ20111015514
公开日2011年10月26日 申请日期2011年6月10日 优先权日2011年6月10日
发明者刘磊, 徐峰, 权衡星, 王新, 郑博玮, 黄中杰 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1