基于P2P技术的时移电视系统方案
图2 媒体分段和分块封装格式
经过分片处理后,对等节点可以从网络中多个节点取得不同分块,拼接并恢复媒体流,因此,节点可以采用灵活健壮的多源传输策略进行直播和时移业务传输。
2.3 数据分布策略
本系统中不采用集中的存储服务器,所有的媒体分段数据都分散存储于各对等节点中。对等节点在播放过程中无需完整录制节目,而只需把取得的媒体分段数据以一定的概率随机缓存于节点的三级缓冲区中。
对等节点的存储模型如图3所示(其中,阴影部分表示该块已经含有数据,空白块表示该块还未有数据),分为播放缓冲区、内存缓冲区和磁盘缓冲区3 部分,3个缓冲区的大小固定。播放缓冲区中的数据是不断滚动变化的,一边不断从其他节点取得,一边又不断播放和老化。当播放缓冲区取得了一个完整分段时,按一定的概率写入内存缓冲区。当内存缓冲区存满时,则从存储内容中选取一个时间最早的分段,将其覆盖,同时把该被覆盖的分段以一定的概率置入磁盘缓冲区。同理,如果磁盘缓冲区写满时,则选择时间最早的段进行覆盖。
图3 节点三级缓存机制示意
通过以上机制,可使当前的直播分段缓存在播放缓冲区中,且在全网的拷贝密度最大;已播的最近分段缓存在内存缓冲区中,全网密度次之;较旧的分段则被缓存于磁盘中,这类分段数量大,但密度最低。上述处理办法可与用户一般的业务观看习惯相一致,即大部分用户是观看直播,少部分用户会进行即时时移,只有很少量的用户会去观看已播的电视节目。另外,这种分布机制还具有以下效果:
●某个分段看的人多,在网络各节点中被缓存的几率就大,该分段的拷贝个数也就多,从而该分段所提供的服务能力就越大,因此具备良好的扩展性;
●单个节点只需录制存储一小部分节目片段,就可以在全网协同存储完整节目的足够多的拷贝,用户数量越大,每个用户所分担的录制和存储开销就越小,因此能够有效地减轻节点的录制和存储负担。
3、处理流程
下面给出时移电视的4个主要用户使用场景的业务处理流程的简要描述。
图4 业务流程示意
(1)直播播放流程
如图4(a)所示,节点A首先向媒体定位器查询频道P直播分段的源,定位器返回节点B、C和D,节点A与B、C和D建立连接,传输数据并解码播放。
(2)直播转时移
如图4(b)所示,节点A正在播放频道P,现在用户要求跳回到时刻T播放,直播转时移的过程如下:
●节点A向定位器请求频道P时刻T的媒体分段源节点,定位器返回节点C和D;
●节点A停止直播分段数据的传输,转而与C和D建立连接并请求数据,从时刻T进行播放;
●一个分段播放结束后,进入下一个分段的播放,需要重新向定位器查询下一分段的源节点。
(3)时移转直播
节点A正在进行时移播放,用户要求切回直播,同样需要向定位器查询直播分段所在的源,然后切断时移分段传输,开始直播分段数据传输。
(4)电视回看
用户通过网页菜单直接选择播放已播的频道P时刻T的节目,其原理与(2)中的时移播放类似。
4、实验结果
为了验证方案的可行性,在局域网中搭建了一个节点数为20的系统,系统参数如下:
●码流:800 kbit/s、MPEG4、25 Mbyte/分段、64 Kbyte/分块、1路频道;
●节点:30 Mbyte播放缓冲区、100 Mbyte内存缓冲区、1000 Mbyte磁盘缓冲区,从播放缓冲区转存到内存缓存的概率取为10%,从内存缓存转存到磁盘的概率取为20%。
对上述系统进行了测试,实验结果如下:
●20个用户同时直播,能够正常播放,画面流畅;
●时移到直播切换延时为0.5 s,直播切换到时移的延时为0.5 s;
●直播启动延时为0.5 s;
●即时时移可支持0.5 h,在20个用户同时时移时,也能够达到平滑切换;
●20个用户同时在线运行1 h后,每个用户即可以以菜单方式回看已播电视。
5、结束语
本文提出了一种基于P2P技术的时移电视解决方案,该方案充分利用了客户端资源,因此无需专用视频服务器即可实现时移电视业务,从而解决了IPTV时移电视系统中建设成本高、扩展性差的问题。实验验证表明,本文提出的方案具备优越的用户体验质量和良好的规模扩展性。
P2P 相关文章:
- P2P网络电视还须跨越六道坎(10-24)
- P2P IPTV技术进展 (04-07)
- 基于P2P技术的IPTV成为未来热点(11-17)
- 面向运营商的P2P流媒体系统架构(02-17)
- 基于CDN与P2P技术IPTV系统平台的设计与实现(06-01)
- “云存储”理念深度剖析(07-10)