关于NVOD的总结
关于NVOD的总结
公司的盒子要求上NVOD,经过一段时间的卖命,总于整出来了,总结一下经验,一方面给自己一个加深认识的过程,另一个方面也给大家个参考,有那些不对的地方多帮忙改改。 1. NVOD业务简介 NVOD是利用视频服务器将一个数字电视节目在几个数字通道中延时播放,使用户在点播该节目时可以等待一段时间后完整地观看该节目。上述功能都必须通过SI信息来获取。 主要是通过分析SI信息中的SDT表和EIT表获得相关的信息。其中主要通过准视频点播(NVOD)参考描述与时移业务描述符和时移事件描述符共同实现准视频点播的功能。其中准视频点播(NVOD)参考描述与时移业务描述符在SDT表中携带,时移事件描述符通过EIT表携带。 2. 详细过程描述 上面是一些概要性的东西,如何利用DVB-SI的标准实现NVOD确实还是需要好好研究一番的,我觉得关键在于以下几个点: l NVOD是如何得到的 l 拿到这些描述子怎么用 l 它们是什么样的关系 下面我逐一解释: l NVOD是如何得到的 首先需要提取SDT中的两种业务类型:参考业务和时移业务。 参考业务:service_type = 0x04 时移业务:service_type = 0x05 参考业务并不是实际发送的节目,它只是一个标识,为了确定时移业务的归属。 一个参考业务下面包含了多个时移业务,他们的关系如下图: 这样在解析完成SDT后就得到了这样一个NVOD的次结构 其次:根据这个结构去收取相应的EIT NVOD_reference_service:收取EIT P/F time_shift_service :收取EIT Schedule 这里需要注意的是:NVOD_reference_service收取的EIT P/F并不是普通节目意义上的EIT P/F,因为NVOD业务可能包含两个以上的事件描述。所以它不是象普通表那样section0表示当前节目,section1表示后续节目。在EIT P/F中描述的只是事件的名字,简单描述,reference_evnet_id。并没有给出该节目的起始时间和持续时间等信息。因为这是为了节省发送EIT表的带宽。具体的时间描述在下面的过程中。 OK,收完了NVOD_reference_service的 EIT P/F,然后我们开始收EIT Schedule,提交收到表后,通过刚才得到的reference_evnet_id,去给收到的NVOD event结构填空,刚才不是已经有了事件的名字,简单描述了么?接着在把节目时间的列表添进去,差不多就大功告成了! 注意事项: l NVOD的节目也是在PMT,SDT中描述的,注意在收取普通节目的时候,把NVOD单列出来,别把它放在整个的节目列表中,哪样你的用户可就能占你的大便宜了哦。 总结了这么多,希望对大家有用,如果转贴,请注明作者和出处。欢迎来我的论坛做客。 |
|
来自: thunder123 > 《Digital TV》