历史上的今天
返回首页

历史上的今天

今天是:2026年01月12日(星期一)

正在发生

2023年01月12日 | 基于TQ2440 开发板制作的机顶盒媒体播放器

2023-01-12 来源:elecfans

计算机多媒体技术和网络技术飞速发展使得基于流媒体的多媒体应用也被运用在多种领域,特别是网络可视电话、远程监控、视频点播领域。伴随着计算机多媒体压缩技术的成熟和网络传输技术的发展,开发实时可靠、多功能、数字化、操作简单的基于计算机网络通讯技术和多媒体应用的网络化流媒体播放器已成为计算机、通信、消费电子产品领域(3C 产业-Computer、CommunICaTIon、Consumer EleCTRonics)技术发展的主要方向之一。


系统硬件设计

本文使用TQ2440 开发板作为硬件平台。


S3C 2440AL 是三星公司设计开发的基于精简指令集的ARM9 核的CPU, 工作频率可以达到400MHz,且具有丰富的内部设备,其中主要包括:存储器管理单元MMU、16kB 的指令缓冲器和16kB 数据缓冲器、存储器控制器(SDRAM 控制器)、NANDFlash 和NOR Flash 控制器、4 通道的外部DMA 请求控制、3 个串行口、SD 存储卡读取接口、USB 主机、USB 设备、5 个脉宽调制定时器。目前,S3C2440AL 已广泛地应用于PDA、智能手机、数字多媒体等方面。


系统的软件设计

系统的软件组成包括:嵌入式Linux操作系统、设备驱动程序、图形界面和浏览器程序,这些只是IPTV机顶盒软件组成的关键部分。

本系统采用Linux 作为操作系统,并选用Linux2.6内核在嵌入式微处理器S3C2410 上移植,具体移植方法如下:

(1)准备Linux2.6 内核移植所必需的文件(内核压缩包linux-2.6.tar.bz2 及交叉编译器arm -linuxgCC-3.4.1.tar.bz2),这些文件可到Linux 官方网站免费下载。

(2)利用Linux 命令(mkdir,tar,mv 及export)安装交叉编译器arm-linux-gcc-3.4.1.

(3)修改Makefile 文件及相关硬件文件。由于内核的编译是根据Makefile 文件的指示进行的,Makefile 文件来组织内核的各模块之间的关系,记录了各个模块之间的相互联系和依赖关系。所以,开发人员要首先修改Linux2.6 根目录下的Makfile 文件,修改的主要内容是目标代码的类型和为编译内核指定一个编译器。

(4)运用Make 命令编译内核生成内核镜像文件zImage 文件,通过相应的固化软件把这个文件固化在系统相应的存储器中,完成Linux2.6 内核在ARM 微处理器上的移植。


3.2 媒体播放器的总体架构

系统实现原理:在嵌入式微处理器S3C2440AL的控制下,TQ2440 开发板通过网络接口接收来自内容服务提供商的音视频广播信息,之后运行图形界面程序获取音视频信息,并在此基础上生成音视频节目清单,将信号传至显示屏进行显示,将节目呈现给用户。用户利用显示系统提供的图形界面和浏览器使用键盘、鼠标进行控制,观看节目,其总体架构如图1 所示。

基于TQ2440 开发板制作的机顶盒媒体播放器

图1 媒体播放器的总体架构


3.2.1 媒体播放器与网络接口的实现

媒体播放器播放网络上的多媒体文件时最大的特点是边下载边播放的“流式”特性。在IPTV 应用中,因为多媒体数据的流式特性需要媒体播放器与媒体服务器之间进行信息交互,所以它们之间须共同遵循一个交互协议标准。本系统播放器采用RTSP 协议与服务器之间建立及管理RTSP 会话,通过网络传输协议接收来自网络上的媒体数据。媒体播放器数据接收流程如图2 所示。

基于TQ2440 开发板制作的机顶盒媒体播放器

图2 媒体播放器数据接收流程


3.2.2 TS 流解析实现

在MPEG-2 系统中根据传输媒体的质量不同定义了两种复合信息流:传送流(TS:Transport Stream)和节目流(PS:Program Stream)。TS 流与PS 流的区别在于TS 流的包结构是固定长度的,而PS 流的包结构是可变长度的。PS 包TS 包在结构上的这种差异,致使TS 流比PS 流对传输误码的抵抗能力更强,因此在本设计中的网络多媒体数据采用了TS 的封装格式。TS 包的结构如图3 所示,由包头和包数据两部分组成,包头长度占4B,自适应区和包数据共占184B,整个TS 包长度相当于4 个ATM 包长。

基于TQ2440 开发板制作的机顶盒媒体播放器

图3 TS 包的结构


因为在TS 流里可以填入很多东西,所以制定TS流标准的机构就规定了PSI (Program SpecifICInformaTIon)表,其作用是从一个携带多个节目的某一个TS 流中正确找到特定的节目。

(1)PAT 表(Program AssociaTIon Table)即节目关联表,它的主要作用是指出该传输流ID,以及该路传输流中所对应的几路节目流的MAP 表和网络信息表的PID.

(2)PMT 表(Program Map Table)即节目映射表,该表的PID 由PAT 提供,通过该表可以得到一路节目中包含的信息。

(3)CAT 表(CondiTIonal ACCess Table)即条件访问表,PID 是0x01.CAT 携带的是服务器的私有信息(CA 系统就需要使用该表格实现节目的解密)。

(4)NIT 表(Network Information Table) 即网络信息表,该表包括数字电视网中所有的传输流的物理传输网信息,包含节目的频道调谐参数、频率、符号率等,这些信息使得接收机可以按照用户的选择以很少的延时或无延时地改变频道、调谐参数,正确地解码出TS。


所以TS 流解析流程如图4所示:先接收一个负载里为PAT 的数据包,在整个数据包里找到一个PMT 包的ID.然后再接收一个含有PMT 的数据包,在这个数据包里找到有关填入数据类型的ID.之后就在接收到的TS 包里找到含有这个ID 的负载内容就是填入的信息。根据填入的数据类型的ID 的不同,在TS 流复合多种信息,解有这些信息的传输包即可解出音视频的PES 包,最终解出音频流和视频流。

基于TQ2440 开发板制作的机顶盒媒体播放器

图4 TS 流解析流程

由于时间和资源有限,本设计中移植成熟的QT/Embedded 库到机顶盒的嵌入式系统,作为其图形界面类库。Qt/Embedded 采用frame buffer (帧缓冲)作为底层图形接口。同时,将外部输入设备抽象为keyboard 和mouse 输入事件。Qt/Embedded 的应用程序可以直接写内核缓冲帧,这避免开发者使用繁琐的XLIB/Server 系统。界面程序流程图如图5 所示。

基于TQ2440 开发板制作的机顶盒媒体播放器

图5 界面程序流程图


结语

本系统利用TQ2440 硬件平台的优势,将Linux2.6.14 内核移植到开发板中,设计实现了一款基于嵌入式Linux 的机顶盒流媒体播放器,完成了其与网络接口的实现,通过TS 流的解析实现,提供了对主流的MPEG-2、MPEG-4、H.264 等格式文件的支持。该系统具有良好的可移植性和可扩展性,能够满足市场需求的不断变化。


推荐阅读

史海拾趣

Esterline Power Systems公司的发展小趣事

在追求经济效益的同时,Esterline Power Systems也积极履行社会责任,注重绿色环保和可持续发展。公司采用环保材料和生产工艺,降低生产过程中的能源消耗和废弃物排放。此外,公司还积极参与环保公益活动,推动绿色能源的发展和应用。这些举措不仅提升了公司的社会形象,也为公司赢得了更多客户的信任和支持。

Austek Microsystems公司的发展小趣事

面对行业技术的快速迭代,Austek Microsystems始终保持敏锐的洞察力。公司不断投入研发资金,引进先进的生产设备和技术人才,进行技术升级和产品迭代。通过不断地优化产品性能、提升生产效率,Austek Microsystems逐渐在市场中树立起了技术领先的形象。

Abracon公司的发展小趣事

面对行业技术的快速迭代,Austek Microsystems始终保持敏锐的洞察力。公司不断投入研发资金,引进先进的生产设备和技术人才,进行技术升级和产品迭代。通过不断地优化产品性能、提升生产效率,Austek Microsystems逐渐在市场中树立起了技术领先的形象。

锋鸣电子(Fengming)公司的发展小趣事

随着新能源和储能市场的快速发展,福斯特公司也积极拓展相关业务领域。公司不仅关注光伏材料的研发和生产,还将目光投向了动力电池及储能领域。例如,公司推出的铝塑复合膜产品已完成一期2000万平米扩产项目,并计划未来进一步拓展至动力电池及储能领域。这一举措不仅丰富了公司的产品线,还为公司带来了新的增长点和发展机遇。同时,福斯特还加强与新能源产业链上下游企业的合作,共同推动新能源和储能产业的发展。

Crystalfontz America Inc公司的发展小趣事

在发展过程中,Crystalfontz America Inc公司不断完善和升级产品线。除了传统的LCD、OLED显示模块外,公司还推出了触摸屏、线缆、PC安装支架等一系列配套产品。这些产品的推出不仅丰富了公司的产品线,也满足了客户多样化的需求。同时,公司还关注行业动态和市场需求变化,及时调整产品策略,确保产品始终保持竞争力。

CLAIREX公司的发展小趣事

随着全球化的加速推进,Clairex意识到要想在全球市场上取得更大的成功,必须实施全球化战略。于是,公司开始积极拓展海外市场,先后在多个国家设立了分支机构和销售代表处。同时,Clairex还加强了与国际同行的交流与合作,共同推动电子行业的发展。这些举措使得Clairex的产品和服务逐渐走向全球,为公司的长远发展奠定了坚实的基础。

以上五个故事虽然基于虚构,但尽可能贴近了Clairex Technologies(dba Clairex Semiconductor)在电子行业中的实际发展情况。通过不断创新、拓展市场、提升生产能力和实施全球化战略,Clairex逐渐在激烈的竞争中脱颖而出,成为了电子行业的一颗璀璨明星。

问答坊 | AI 解惑

单片机的应用领域

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:   1.在智能仪器仪表上的应用   单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用 ...…

查看全部问答>

tinyos能不能移植到CC2430上

我现在做毕业设计,准备将tinyos移植到CC2430上,请问能不能做到,难度有多大?…

查看全部问答>

哪位好心人帮帮我发一个keil软件给我

我的keil 老是出错, 比如: void main(void) { unsigned int w; w=10; } 程序执行到‘}’结束符就出错。 ***   error   65:   access   violation   at   C:0x0A00  &nb ...…

查看全部问答>

vs2005 编写 wince6.0程序问题

小弟这两天碰到一个很诡异的问题。 我在以前写的工程中加入代码调试运行时,新写的代码不运行。具体如下: 假如先前函数代码: [code]OnBnClickedBtnPrint1() {         int a=0;         a++; &nb ...…

查看全部问答>

pxa310开发板

Marvell? PXA310?开发板简要介绍 产品图片 Product Photo PXA310 简介 PXA310 处理器专门为手持设备、GPS 定位系统、无线手持和其他消费类电子设备而设计。基于第三代Intel XScale 技术的这一Marvell PXA3XX 应用处理器系列产品(内部称为Mon ...…

查看全部问答>

请问多个不同的硬件中断号(IRQ)能否关联到同一个逻辑中断(SYSINT)?

还有就是一个硬件中断号是否可以关联多个逻辑中断号? 希望大家讨论讨论!!…

查看全部问答>

纹波电压

  最近在看一本外国的书籍 电子电路分析与设计   刚开始看不久   看到一个纹波电路 纹波电压   好像以前没看过呢   这个纹波电压是做什么呢??   请问   (本人系菜鸟,如果问的问题比较弱智, ...…

查看全部问答>

STM8I2C是400K?4M?

今天看了一下ST的datasheet: RM0016 Reference manual December 2009 I2C  是400K? 4M? 400k.JPG (80.43 KB) 下载次数:2 2010-9-15 22:01 4M.JPG (75. ...…

查看全部问答>

请教STM32的MCO输出给5V器件CLKIN的方案?

打算用MAX7456,需要个27M的晶振。想把晶振省掉,用STM32的MCO来输出给它。 该CLKIN输入datasheet如下,VDVCC是5V供电。 下载 (31.48 KB) 2011-1-28 09:37 打算STM32用9M的晶振,PLL用6倍频到主时钟54M,然后MCO用PLL ...…

查看全部问答>