新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于AU 1 200的TS流处理设计

基于AU 1 200的TS流处理设计

作者:时间:2009-08-17来源:网络收藏

以Linux系统为平台,利用其多线程的优势,结合1200硬件组成的数字电视播放系统可以方便地实现数字电视流的播放。数字电视播放系统结构如图2所示。

本文引用地址:http://www.eepw.com.cn/article/166898.htm

3 数字电视播放软件的
播放软件采用模块化,多线程并行。各模块并通过MAI(Media Application Interface)Engine完成相互问的数据传递和同步。软件要求在保持流畅播放MPEG(1,2,4),DivX,WMV和XviD等格式多媒体文件的同时增加播放数字电视的功能。
3.1 已有播放软件结构
已有的媒体播放软件结构:播放软件内各模块通过MAI Engine将相应模块组装起来,完成特定格式的媒体文件的播放或格式转换。
模块类型分为:File Reader模块、Demux模块、De-coder模块、Render模块和File Writer模块。模块是否需要载人、如何进行链接由MAI Engine根据播放的媒体格式而定。模块装载后以线程的形式独立运行,模块间通过数据缓冲区进行数据交换,并由MAI Engine负责协调,以确保模块运行正常。
3.2 播放软件内的
在播放软件内实现数字电视流的播放,需要在原有的播放系统上增加TS流的Reader、Demux和Decoder模块。由于数字电视的音视频编码格式都是公开且确定的,因此需要相应的Decoder模块进行处理。MAE的TS流处理模块结构如图3所示。

(1)TS-Reader模块
TS-Reader模块是读取TS流的模块。它从硬件设备获取TS流数据,按照TS-Demux的数据缓冲区大小要求写入该缓冲区。主要实现打开TS流数据接口、关闭接口和读取TS流数据3个功能,分别对应3个主要函数一TSstreamopen()、_TSstreamclose()和 _TSstreamread()。由于数字电视不支持回放,因此不具备定位搜索(即Seek)的功能。
(2)TS-Demux模块
TS-Demux模块是进行TS流解析的模块,它是处理数字电视TS流的关键。TS-Demux从缓冲区中取到数据后,需要对TS流进行解析,然后返回 MAI当前TS流的节目信息,供应用程序选择。在确定节目流PID后,TS-Demux将根据音视频PID分检TS流,获取Video和Audio数据,供相应的Decoder解码。



关键词: 设计 处理 TS AU 基于

评论


相关推荐

技术专区

关闭