发明名称 基于点对点传输的流媒体直播系统同步播放方法
摘要 本发明公开了一种基于点对点传输的流媒体直播系统同步播放方法,它是以缓存服务器作为顶层,以各客户端PC机组成的P2P网络作为第二层:首先在缓存服务器对直播源音视频数据进行封装,其次启动P2P网络客户端,使各客户端在同一时刻缓存的数据基本相同,而且当某客户端因为性能差异(如网络带宽差异等)等原因出现缓存数据异步时能进行动态调整,实现各客户端的同步播放。
申请公布号 CN101304351A 申请公布日期 2008.11.12
申请号 CN200810031616.X 申请日期 2008.06.30
申请人 湖南创智数码科技股份有限公司 发明人 唐新春;刘戊开;陈谦;李兴平;岳新雨;陈谱;王龙波
分类号 H04L12/28(2006.01);H04L12/56(2006.01) 主分类号 H04L12/28(2006.01)
代理机构 代理人
主权项 1、一种基于点对点传输的流媒体直播系统同步播放方法,其特征是以缓存服务器作为顶层,以各客户端PC机组成的P2P网络作为第二层:首先在缓存服务器对直播源音视频数据进行封装,包括:(1)将设定数据量的若干个音视频数据合并成一个3P包,并对3P包进行连续递增且唯一的编号;(2)同步申请固定大小缓存区,用来保存若干连续的3P包;(3)当保存的3P包个数达到offset时,确定PullPos和PlayPos,有PullPos=PlayPos+offset;PullPos为拉包点,即客户端开始请求拉包的起点;PlayPos为播放点,即客户端开始播放的起点;offset为3P包最小数量,即考虑拉包延时与播放最小缓存以及影片码率等参数计算的一个偏移值;其次启动P2P网络客户端,包括:(4)P2P网络客户端启动后,先从父节点中取得PullPos,并申请固定大小的缓存区用来保存3P包;(5)以PullPos为起始包,向父节点拉取3P包,当存在多个父节点时,则同时请求多个3P包,从父节点取得的3P包按照包号依次保存到缓存中;(6)当保存的3P包个数满足连续播放offset要求时,就从其中的一个父节点取得PlayPos,客户端从PlayPos处开始播放;(7)播放开始后,根据PlayPos计算出PullPos,二者满足:PullPos=PlayPos+offset,且与播放速度同步推进;(8)当缓存区填满后对已经播放的3P包按照先进先出的顺序进行删除或覆盖等更新操作;(9)客户端拉包速度如果小于码率,则进行动态调整,确定跳包点;(10)跳包后,当缓存中可以播放的3P包不存在时,播放将暂停,等待拉包数达到播放要求时,重新从父节点中取得播放点,并从播放点处重新开始播放。
地址 410013湖南省长沙市高新技术开发区火炬城M7-2栋