码流锁定PAT、PMT的重要性探究
2021-08-05倪峰
倪峰
【摘要】随着广播电视的发展,国内很多省市已经完成了从模拟电视到数字电视的转变,信号大多以光纤为媒介的方式进行传输。数字电视中会有很多PAT、PMT等各种表,对节目的传输和接收起到關键的作用,在广电前端,对码流的规范,码流中表值、PID及其中数据以及所传送节目视频PID、音频PID等值的固定对用户的接收和观看尤其重要。本文以常州白金汉爵酒店数字电视建造工程运行过程中遇到的这方面问题进行分析和探讨广电前端码流锁定PAT、PMT的重要性。
【关键词】视频PID;音频PID;PAT;PMT;码流规范;数字电视建造
中图分类号:TN929 文献标识码:A DOI:10.12246/j.issn.1673-0348.2021.09..009
1. 酒店电视系统介绍
酒店数字电视建造工程分为有线数字电视、卫星数字电视和自办节目三部分组成。
酒店有独立的电视机房,机房安装有光收机接入常州广电有线电视信号,之后通过接收板卡配以解密卡将广电加密信号解码后通过ASI的方式传送至调制器重新调制输出如图1所示。卫星节目通过九州接收机配以中视的卫星解密卡解码后输出HDMI信号至编码器编码后通过ASI的方式传送至调制器。酒店自办节目存储在U盘中,使用播放器加U盘的方式播放,输出HDMI信号至编码器编码后通过ASI的方式传送至调制器。最后在调制器里整合复用后重新调制输出,并在电视机房通过放大器将重新调制好的信号放大后送至终端客房供客户收看。
2. 问题分析
酒店数字电视项目建成运行一段时间后,终端电视机收看节目出现如下问题:有视频无音频、有音频无视频、无视频无音频。因为每做一个新项目工程师多会做一张节目配置表并予以保存(包括节目名、节目的输入频点、输出的组播地址、节目的service ID、视频PID、音频PID、PMT PID、输出频点等等)如图2所示
将有问题的节目通过录制码流分析后分析并以配置表为标准进行对比,发现前后视频PID,音频PID等有变化,于是通过在解码器的复用功能和调制器的复用功能里将问题节目的音视频PID重新编辑更改为上一次的音视频PID得以解决问题。但是这种方式会显得很被动,并不能彻底根治问题,因为每一次的变化多需要人力手动会更改设备的配置,会大大影响客户的收看感受和人力的浪费,所以需要从源头分析来彻底解决。
通过实际使用分析发现酒店电视机当每一次节目搜索并保存后会记忆下每个节目的视频PID、音频PID,每当节目的视频PID、音频PID有变化时,电视机将无法读取到视频和音频导致电视无法收看。经过调查发现,市场上几乎所有品牌的电视机多是以此种模式搜索和保存节目。经过测试发现大部分机顶盒却不受节目视频PID、音频PID变化的困扰,在播放过程中,当节目的视频PID、音频PID有变化时,机顶盒会自动自适应正常播放,或重启机顶盒后正常播放,或切换节目后再切回后正常播放,而电视机并不能。于是从电视机着手是一个点,通过更改电视机搜索和保存观看模式一致于机顶盒模式。由于机房的电视前端系统设备主要由解码器和调制器组成,当广电信号码流有变化时,解码器中IP输
出节目产生变化,之后变化的节目送至调制器输出,原理上通过更改电视机对视频PID和音频PID的记忆能解决问题。当然最佳的解决方案还是在解码器端可以自适应接收变化的码流并输出,之后调制器接也可以自适应接收变化的码流,最后通过在调制输出时锁定输出节目的视频PID、音频PID、PMT PID等为变化前节目的数据。
在处理问题过程中(已手动更改音视频PID),发现又出现了同样的收视问题:有视频无音频、有音频无视频、无视频无音频。于是重新录制了有问题节目的码流与之前的进行对比分析,发现码流的PAT有变化,节目列表变了。码流中所携带PAT是解码器接收的入口,可见PAT对解码器的关键性,由于出问题的原因是PAT的变化,而PAT的变化就代表着整个码流的变化,所以导致解码器和调制器的动态PMT的逻辑没有触发(市场上几乎所有解码设备多默认前端广电输入信号PAT不会有变化,仅仅最多会考虑到对PMT有变化时作自适应的一个处理)。
通过录制频繁出问题节目的码流后分析总结,找到核心因素:PAT、PMT的变化。
3. PAT、PMT探究
我们知道,数字电视信号传送的的是一段段的码流,我们称之为TS(Transport Stream,传输流),每个TS流都可能携带一些信息,如Video、Audio以及PAT、CAT、PMT、NIT等表信息,本文只以PAT、PTM表作详细介绍。
3.1. PAT
PAT(Program Association Table)即节目关联表如图3.,PAT表的PID固定的为0x0000,他描述了当前TS流中包含了哪些PID;只有根据包含的PID,用户才可以以此作为凭据找出其他表(如PMT表),所以PAT表是解码器(如机顶盒、解码板卡等前端设备)接收的入口点,是设备获取数据的开始;要保证一个TS流能被正常接收,则至少要有一个完整有效的PAT,PAT表具体的携带有以下信息:
TS流ID---transport_stream_id,该ID标志唯一的流ID。
节目频道号--program_number,该号码标志TS流中的一个频道,该频道可以包含很多的节目(即可以包含多个Video PID和Audio PID)。
PMT的PID---program_map_PID,表示本频道使用的哪个PID作为PMT的PID,因为可以有很多的频道,因此DVB规定PMT的PID可以由用户自己定义。
3.2. PMT
PMT(Program Map Table)即节目影射表,它给出了节目号与组成这个节目元素之间的映射;即理解为,PMT是连接节目号与节目元素的桥梁。我们知道,一个电视节目至少包含了视频和音频数据,而每一个节目的视音频数据都是以包的形式在TS流中传输的;所以说,一个TS流包含了多个节目的视频和音频数据包,如果一个TS流中含有多个频道,那么就会包含多个PID不同的PMT表。PMT表中包含的数据如图4
当前频道中包含的所有Video数据的PID。
当前频道中包含的所有Audio数据的PID。
和当前频道关联在一起的其他数据的PID(如数字广播,数据通讯等使用的PID)。
解码器锁定了输入的射频信号频点后,首先从TS流中的PAT表出发,获取当前有哪些节目号(program_map_PID),再根据这些节目号找出program_number相同的PMT;获取到PMT后,即可根据elementary_PID和stream_type来确定要过滤哪些含有基本流的TS包,以及这些包里面是什么类型的数据。这样,解码器就可以过滤出相应的节目(视频和音频数据),再通过解密卡解扰,输出所需要的TS-IP流或TS-ASI流等。
4. 问题解决
通过对PAT、PMT的分析研究并结合录制的酒店的变化前后的码流分析如图5
对PAT表中数值的对比发现输入码流中的PMT PID发生了变化,再通过PMT表中数值的对比发现输入码流中节目的视频PID、音频PID也多前后发生了变化。于是团队重新编写了解码器和调制器软件对设备进行升级,在解码器和调制器中均增加了PMT自适应的变化(由于主要是PMT的PID变化,而视频PID和音频PID是包括在PMT表中的,所以只要作输入PMT的自适应使当输入信号PMT变化时解码器和调制器设备均能自动识别并触发)。而对于终端电视机记忆视频PID、音频PID的情况,则在调制器中增加锁定视频PID、音频PID的功能选项。问题暫时得以结决。同理的,针对输入信号PAT变化的问题,通过更改解码器和调制器自适应码流的逻辑,使设备能自适应,最终彻底解决了前端码流变化后,终端电视机无法正常收看节目的问题。
5. 结论
通过酒店实际问题案例分析解决的过程可以发现码流中PAT、PMT对解码器和调制器以及终端客户的收看的影响是巨大的(其他省市项目并未出现过此问题,以上海东方有线为例,前端信号不管设备变更或其他原因始终会锁定码流PAT、PMT,不会影响终端设备的使用)。纵然当前端广电信号码流PAT、PMT有变化时可以通过对前后变化码流的分析,找到变化的数据后对后端解码和调制设备的软件重新编辑升级来进行适应,但是广电在总机房就应该锁定码流的PAT、PMT,通过后端解码器和调制器来适应是不合适的(以广电标准)。
参考文献:
[1].陈继建,PSI/SI深入学习2——PSI信息解析(PAT,PMT,CAT),2018.