TS Analyzer
1 Introduction
写这个的目的是, 功能分类,便于审查.
1,Feature: 分析数字电视,ts流,各种psi表, pat,pmt,cat,nit,eit,tot,tdt,bat. 对13818-1,en300468等标准力求:记住那个表在标准的那一页,做到韦编三绝.
Operation: 启动本软件,拖动一个ts文件到应用窗口即可.
1.1: 支持众多的描述符符:ISO_639_language_desc,satellite_delivery_syste,Frequency_list_desc,Carousel_identifier_descrip,还有nagar,opentv的ext描述,若无法识别的描述符,均以二进制内容显示:desc_len 和content.
2,Feature: 分析校验,对各种表的做crc校验(如有crc), 需求原因: (如修改pmt 的service ID,)对录制的码流进行二进制修改,然后分析后, 在这个分析软件的目录,会有日志文件,ts_file.log ,这个里面会说理论上的crc应该是多少, 然后替换原文件的crc.
Operation: 分析后,查看,ts_file.log,里面有详细的日志.
3,Feature: 以上分析的结果能存储XML,文件, 请参考附件例子. 这个功能有很多用处: 今天的电视台发出的psi和昨天的有什么不同. 录制两天的ts流,分析两个文件后,导出psi_xml,Beyond Compare 2用工具比较,那行内容是不同.
另一功能是做播放的psi校验.
Operation: 启动本软件,打勾"create XML" 选项,拖动一个ts文件到应用窗口,分析完后,点击"Save XML" button 即可.
4,informative: 对"Create table" 这个check box, 使用过的功能是,导入编辑过的PSI_XML,然后重新生成ts流,这个功能不是很彻底实现,呵呵,比较麻烦的.
5,Feature: 部分内容分析: 一般录制的内容比较大,如300M, 可以只分析前10M,或者20M,先看一下,如还想继续分析,设置为0,表示分析整个文件.
Operation: 启动本软件,点击"help" , 在"Parse file size",输入输值即可,default value是 分析ts文件的前100M.
6,Feature: 根据pid,提取想要的ts packet.一般录制的ts中包含6~8套节目,若只想要其中1套节目,那可实现提取. 提取时,可进行pid 偏移输出.
Operation: 启动本软件,如只想看ts中的eit,那可以打勾,pid=0,18,然后点击"Save stream by selected PID" ,保存,然后重新分析保存的文件,很方便的.
6.1 本人经常研究多个厂商的ts流,经常把录制码流中的空包,和视频音频的ts packet去掉,然后保存.不占用那么多硬盘.
6.2,有时,一个频点包含多套节目,如cctv-1 ~ cctv-6, 想看cctv6的节目,就可以选择,pid=0,cctv6的pmt-pid,接着选视频音频的pid,可以保存文件,然后播放等.
6.3, 如有更多时间,如果一个ts文件包含多套节目, 本来打算同时播放多路节目,可是解码器占用内存,cpu都比较大,不过同时播放两套节目是没有问题的,真正实现mosaic还是比较困难的.
7,Feature:视频音频播放功能,
Operation: 若是mpts,选择combox下拉框中的节目名称,然后播放. 要求码流中有sdt,其实只要有pmt,就可以了,兼容行虽强,但做起来烦.
8,informative: 说到播放,就不能不说windows DirectX的 DirectShow, 本人自些source filter,用elecard decoded.最近为了这个工程 全面兼容linux平台, 正在用vlc,和ffmpeg的lib实现.
9,Feature: 正在完成的功能:对于高清的码流,如h264,ac3,低版本elecard decoded有些不支持,正在调试.
10,Feature: 现在分析码流的码率和播放时间,码率精确的参考blue op,tengbg,scvio,各种分析工具.
Operation: 查看duration, rate.
11,Feature: 显示和check pcr interval,
Operation: 启动本软件,点击"help" , 打勾"display pcr"选项,拖动一个ts文件到应用窗口,分析后,请看日志文件,ts_file.log,
12,Feature: "parse video"
Operation: 如果ts中包含多个ts: 启动本软件,点击"help" ,打勾"video",输入需要parse的video pid,分析后,请看ts_file.log,
里面包含详细的信息,根据13818-2的标准列出下类内容;
pts,dts time code, I b p,frame的个数和位置.
正在制作每个I frame 的thumbnail image, 实现难.呵呵.
正在研究ligos的解码,还有prompeg,
12,Feature: "parse audio"
13,Feature: "parse DSMCC"