基于嵌入式Linux流媒体播放器系统软硬件解决方案

最新更新时间:2013-05-25来源: 互联网关键字:嵌入式  Linux  流媒体播放器 手机看文章 扫描二维码
随时随地手机看文章

摘要:本系统选用TQ2440 开发板作为硬件平台,采用嵌入式Linux 操作系统给出流媒体播放器系统具体的软硬件解决方案,设计了一款基于嵌入式Linux 的机顶盒媒体播放器。完成了其与网络接口的实现,通过TS 流的解析实现,提供了对主流的MPEG- 2、MPEG- 4、H.264 等格式文件的支持。该系统具有良好的可移植性和可扩展性,能够满足不断变化的市场需求。

  1 引言

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

  2 系统硬件设计

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

  S3C2440AL 是控制核心,负责控制所有辅助设备。存储器采用SDRAM 和Flash 两种类型,能满足系统运行和调试的需要。基本端口包括以太网接口、USB 接口、两个RS232 的串口。A/D 和D/A 模块主要用于现场数据的采集与控制信号的输出。DC/DC 模块主要负责整个系统的供电。

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

  3 系统的软件设计

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

  3.1 嵌入式操作系统的选择及移植

  本系统采用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 所示。

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

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

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

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

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

  图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 包长。

  图3 TS 包的结构

  图3 TS 包的结构

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

  PSI 表包括以下四个表:

  (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 包,最终解出音频流和视频流。

  图4 TS 流解析流程

  图4 TS 流解析流程

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

  图5 界面程序流程图

  图5 界面程序流程图

  4 结语

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

关键字:嵌入式  Linux  流媒体播放器 编辑:神话 引用地址:基于嵌入式Linux流媒体播放器系统软硬件解决方案

上一篇:浅析电容式触摸技术
下一篇:RAID内存:回写技术和热插拔容量技术

推荐阅读最新更新时间:2023-10-12 20:46

ARM Linux 更新启动画面
启动画面(Splash Screen)是指在Linux启动时候显示的图片,通常默认情况下Linux只是输出一些传统的小企鹅图标和启动Console命令行,但嵌入式设备都需要定制自己开机画面,这里就以 Toradex ARM计算机模块 及其发布 Linux 为例对ARM Linux更新启动画面做说明。 1). 配置 开发主机:Ubuntu 14.04 X86_64 目标板:Toradex ARM 计算机模块及自带的Embedded Linux 2). 准备 下载Toradex Embedded Linux 源码包 请按 这里 说明如何下载及编译Kernel内核 安装相关软件包 --
[单片机]
面向嵌入式视频处理平台的Linux移植
   0引言   嵌入式系统开发已经进入32位时代,在当前数字信息技术和网络技术高速发展的后PC时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术等各个方面。   嵌入式系统通常由硬件和软件两个大部分组成。其硬件部分的核心部件就是各类嵌入式微处理器,并配置存储器、I/O设备、通信模块等必要的外设。目前市场上主流销售的32位嵌入式处理器有MOTOROLA、MIPS、ARM等系列,其中ARM以其体积小、成本低、功耗低、性能高等特点成为嵌入式系统设计的首选。   软件部分一般由嵌入式操作系统和应用软件组成。嵌入式操作系统是一种支持嵌入式应用的操作系统软件,它负责全部软硬件资源的分配和调度、控制协调等活动。从20世纪
[嵌入式]
凌华科技金牌赞助第六届中国PICMG技术年会
       展示网络通信和嵌入式领域最新技术和产品方案 2007年10月29日,北京讯 产业计算机应用平台供货商-凌华科技于10月24日至25日以金牌商赞助身份亮相第六届中国PICMG技术年会,与GE Fanuc、Motorola等国内外知名平台提供商、板卡厂商、系统集成商共聚一堂,展示网络通信和嵌入式领域最新技术和产品方案。 凌华科技工业计算机产品事业部副总经理黄怡暾先生发表精彩演讲 本届年会分为两个论坛,在第一天的网络通信论坛上,凌华科技工业计算机产品事业部副总经理黄怡暾先生发表“下一代通信平台——AdvancedTCA”的精彩演讲,与现场观众探讨AdvancedTCA标准,分享AdvancedTCA商业价
[焦点新闻]
基于ARM9处理器的嵌入式音频系统设计
1引言 随着Internet技术和多媒体技术的快速发展,语音通信技术的应用越来越广泛,也越来越受到重视 。如今的嵌人式设备日益复杂化,功能比以前更加丰富,性能也越来越高。在多种嵌人式终端产品中,音频处理功能已成为不可缺少的重要组成部分,高质量的音效是当前发展的重要趋势。 本文利用ATMEL公司的AT91RM9200型微处理器和Philips公司的UDA1341型立体声音频编解码器设计了一种嵌入式音频系统。该嵌入式音频系统硬件部分采用基于IIS总线的音频系统体系结构,其主要硬件电路后文作了详细的介绍。软件上,笔者以嵌入式Linux操作系统作为平台,重点介绍该音频系统在此平台下的驱动程序的实现。 2AT91RM920
[单片机]
基于ARM9处理器的<font color='red'>嵌入式</font>音频系统设计
uCOS-II的嵌入式串口通信模块设计
在嵌入式应用中,使用RTOS的主要原因是为了提高系统的可靠性,其次是提高开发效率、缩短开发周期。uCOS-II是一个占先式实时多任务内核,使用对象是嵌入式系统,对源代码适当裁减,很容易移植到8~32位不同框架的微处理器上。但uCOS-II仅是一个实时内核,它不像其他实时操作系统(如嵌入式Linux)那样提供给用户一些API函数接口。在uCOS-II实时内核下,对外设的访问接口没有统一完善,有很多工作需要用户自己去完成。串口通信是单片机测控系统的重要组成部分,异步串行口是一个比较简单又很具代表性的中断驱动外设。本文以单片机中的串口为例,介绍uCOS II下编写中断服务程序以及外设驱动程序的一般思路。 1 uCOS-II的中
[单片机]
uCOS-II的<font color='red'>嵌入式</font>串口通信模块设计
基于SX52BD单片机的嵌入式远程电网监测系统构建
  介绍应用UBICOM公司的 SX52BD 单片机构建用于远程电网监测的嵌入式系统的具体方案,使基于单片机的测控设备可以方便地连接到以太网,实行电网参数的远程网络监控。   为了保证电网的安全运行,了解电网运行状况,需要对电网的各种运行参数(如三相电压、电流、有功功率、无功功率等)进行实时监测。嵌入式远程电网监测系统将现代计算机、通信、网络及自动化技术融为一体,对配电网进行远程监测、协调和控制,从而优化配电网络。利用以太网的丰富资源及UBICOM公司高速单片机SX52BD构建分布式以太网嵌入测控系统是一种低成本、高可靠且快捷的技术方案。   1 系统结构   系统结构如图1所示。监控中心工作人员可通过以太网
[单片机]
基于SX52BD单片机的<font color='red'>嵌入式</font>远程电网监测系统构建
基于嵌入式系统的GPRS设计
嵌入式系统就是一个具有特定功能或用途的计算机软硬件结合体,或指装入另一个设备并且控制该设备的专用计算机系统。嵌入式系统的最大特点是其具有目的性和针对性,即每一套嵌入式系统的开发都有其特殊的应用场合与特定功能。嵌入式系统包含硬件和软件两部分:硬件架构以嵌入式处理器为中心,配置存储器、I/O设备、通信模块等;软件部分以软件开发平台为核心,向上提供应用编程接口API,向下屏蔽具体硬件特性的板级支持包BSP。嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能。   GPRS是General Packet Radio Service的简称,即通用无线分组业务。它是基于现在运行的GSM基础上发展的数据业务,类似于固定
[工业控制]
基于<font color='red'>嵌入式</font>系统的GPRS设计
基于嵌入式STM32的智能手表设计实现
一、前言 本文的OLED多级菜单UI为一个综合性的STM32小项目,使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换,搭配DHT11,RTC,LED,KEY等器件实现高度智能化一体化操作。 后期自己打板设计结构,可以衍生为智能手表等小玩意。目前,项目属于裸机状态(CPU占用率100%),后期可能会加上RTOS系统。 二、硬件实物图 温度计: 游戏机: 三、硬件引脚图 OLED模块: VCC -- 3.3V GND -- GND SCL -- PB10
[单片机]
基于<font color='red'>嵌入式</font>STM32的智能手表设计实现
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved