网站首页  词典首页

请输入您要查询的论文:

 

标题 基于嵌入式媒体播放器的设计与开发
范文

    王栋财+梁隆恺+韩改宁+王凡+王炀

    摘 要:在嵌入式系统中,多媒体的应用变得越来越广泛,因此,开发一款功能齐全、便于跨平台使用的媒体播放器得非常迫切。本文以嵌入式ARM9开发平台为基础,利用开源Linux系统和跨平台Qt开发工具。在音频开发中采用Qt提供的Phonon多媒体框架,让应用程序更易于开发了;在视频开发中利用MPlayer作为其后端程序,加快了对媒体的处理速度。该播发器是以一个集音频,视频播放于一体的一款多媒体影音娱乐软件。该软件可以移植在汽车、飞机以及个人手持设备上使用。

    关键词:嵌入式;媒体播放器;ARM9;Linux;Qt

    中图分类号:TP311 文献标识码:A

    The Research and Development of Media Player Based on Embedded System

    WANG Dongcai,LIANG Longkai,HAN Gaining,WANG Fan,WANG Yang

    (Information Engineering Department Xianyang Normal Universty,Xianyang 712000,China)

    Abstract:In embedded systems,the application of multimedia is becoming more and more widely,therefore,developing a complete function,easy to use cross-platform media player is very urgent.In this paper,based on embedded ARM9 development platform,using open source Linux system and Qt cross-platform development tools.In audio development program,using Phonon multimedia framework,in order to make applications easier to develop,and using MPlayer,in the video development,to accelerate the processing speed of the media.This is a collection of audio,video play in the integration of a multimedia entertainment software.The software can be transplanted in cars,planes,handheld devices,and personal to use.

    Keywords:embedded;media player;ARM9;Linux;Qt

    1 引言(Introduction)

    随着计算机技术、媒体编码技术和嵌入式技术的不断发展,用户对媒体娱乐终端需求的不断提高,嵌入式设备的不断功能强大和逐渐成熟的市场,嵌入式软件的开发与设计越来越受到专业技术人员的重视。随着MP4、数字网络电视、3G、4G通讯等相关技术的成熟,许多嵌入式产品中都包含媒体播放器,在未来几年内都将会得到快速发展。因此,基于嵌入式媒体播放器的开发具有一定的实用价值。

    2 系统设计(System design)

    本设计基于ARM9的S3C2410处理器为核心,采用LCD显示技术及触摸屏技术,利用Qt作为GUI来提供强大的用户界面,实现嵌入式媒体播放器的设计与开发。

    2.1 软硬件平台

    根据对嵌入式视频播放的分析,为了实现图像显示和音频系统的功能,硬件选择ARM9处理器,LCD显示屏及常用的接口电路。

    嵌入式音视频系统开发,基于嵌入式Linux系统,利用Qt/Embedded用户界面,调用Qt/Embedded提供的类库进行开发,该软件功能包括音视频文件的打开、删除、显示等信息,并提供播放列表和播放控制窗口等。另外,利用帧缓冲数据进行输出,取消对硬件架构的依赖,保证系统的可移植性。该媒体播放器属于嵌入式系统上层应用程序开发,占用Linux用户空间区域,为应用程序移植奠定基础,结构框图如图1所示。

    图1 嵌入式软硬件系统结构

    Fig.1 Embedded hardware and software system structure

    2.2 音频接口模块设计

    该模块主要利用Qt提供的Phonon多媒体框架,Phonon多媒体库是由KDE的开发人员建立的,其让多媒体应用程序更易于编写。Phonon有两个窗口部件,通用多媒体API的前端和API提供实际多媒体服务的后端[1]。对于使用该模块开发项目来说,必须在.pro文件加上QT+=phonon才能正常使用该Phonon库。

    Phonon模块不支持对媒体流中的数据进行操作,但它能够提供一种间接的方法来操作音频流,即效果处理器。这些处理器属于Phonon::Effect类,它们能被加载到源和汇点之间的路径上,在此之间传输数据,可用的效果依赖于Phonon的后端,通过onon::BackendCapabilities::availableAudioEffects()函数获得,效果大致包括放大,立体全景图中的媒体流定位,均衡补偿和重采样。

    创建一个新的Phonon::Effect实例,假设取得Phonon::createPath()方法返回Phonon::Path指针,下来就可以使用它调用Phonon::Path::insertEffect(),并把刚刚创建的Phonon::Effect实例传给它。数据的传递通过汇点节点,它是数据最终传递的物理设备,比如声卡、耳机或视频设备,由Phonon::AudioOutput媒体节点或者Phonon::VideoPlayer以及类似媒体节点的Phonon::VideoWidget窗口部件来表示,如图2所示。

    图2 媒体物理流结构

    Fig.2 Media flow physical structure

    2.3 视频接口模块设计

    本模块使用利用一个开源的视频播放器MPlayer作为其后端程序[2]。MPlayer具有良好的移植性,可以移植到许多非X86平台上,MPlayer软件包中含有针对ARM架构的优化代码,这些代码利用ARM的特性加快了对媒体的处理速度[3]。

    在liunx系统下,利用Qt做一个应用界面,包括:播放、停止、快进、快退、上/下一曲等功能模块;并通过交叉编译器编译应用程序,然后移植到ARM平台上。具体操作如下:使用popen()来打开Mplayer播放文件;利用process->write(“pause”)实现会暂停功能;最后利用connect()函数连接信号与槽函数,实现视频模块设计。

    3 嵌入式媒体播放器系统实现( Embedded media

    player system)

    对于嵌入式开发,最终都要将做好的应用程序下载到开发板,然后再开发板上运行应用程序,这样就实现了整个开发的流程。

    (1)开发板环境配置

    以博创科技UP-TECH 2410经典平台为基础,移植LINUX 2.6.24系统具体过程如下:移植LINUX操作系统需要移植四个文件vivi、kernek、root和fs,这四个文件分别是:

    Vivi—linux操作系统启动的bootloader;

    ZImage—linux操作系统内核;

    root.cramfs—根文件系统;

    yaffs.tar.bz2—应用程序压缩包;

    具体移植操作可见文献[4,5]。

    (2)在上位机上编译好可执行文件,通过Qmake和make工具,本系统最终编译的程序为project。

    (3)通过NFS服务或者U盘将生成的文件移植到开发板上,当然,开发板上的环境已经搭建好了,里面有所需要的库文件。NFS服务这种方式比较慢,而用U盘的方式很快的。

    (4)查看开发板上环境变量的设置,环境变量设置非常重要,如果这个设置不正确,则应用程序不能再开发板上运行。通过命令:Vi/etc/profile

    (5)运行该程序:./ project -qws

    运行界面如图3和图4所示。

    图3 视频模块 图4 音频模块

    Fig.3 Video module Fig.4 Audio module

    4 结论(Conclusion)

    本设计以嵌入式Linux为操作系统,基于ARM9的平台开发,利用Qt进行图形界面设计,再通过相关环境配置及LCD和触摸屏的驱动开发设计,使得开发应用程序运行在ARM9开发板。该系统开发为嵌入式系统应用开发提供一定的思路,而且应用程序移植性好,可广泛应用各类嵌入式音视频系统中。

    参考文献(References)

    [1] 王建民,张宏壮.基于Qt的嵌入式媒体播放器的设计与实现

    [J].微计算机信息,2009,(4):8-9.

    [2] Kim J,et al.Efficient Metadata Management for Flash File

    Systems.11th IEEE International Symposium on Object

    Oriented Real- Time Distributed Computing,2008:535-540.

    [3] 任亚飞,唐涛.基于嵌入式Linux的列控系统人机界面的实现

    [J].铁路计算机应用,2005,(4):23-26.

    [4] 陈云鹤,徐晶.基于QT/Embedded的媒体播放器的设计与实

    现[J].微型电脑应用,2006,8(22):33-34;52.

    [5] 马勇,等.嵌入式多媒体播放器的系统设计与实现[J].杭州电

    子科技大学学报,2006,2(26):60-63.

    作者简介:

    王栋财(1990-),男,学士.研究领域:计算机应用.

    梁隆恺(1991-),男,学士,研究领域:计算机应用.

    韩改宁(1977-),女,硕士,讲师.研究领域:嵌入式系统应用,

    智能机器人.

    王 凡(1989-),男,学士.研究领域:软件开发.

    王 炀(1990-),男,学士.研究领域:计算机应用.

    图2 媒体物理流结构

    Fig.2 Media flow physical structure

    2.3 视频接口模块设计

    本模块使用利用一个开源的视频播放器MPlayer作为其后端程序[2]。MPlayer具有良好的移植性,可以移植到许多非X86平台上,MPlayer软件包中含有针对ARM架构的优化代码,这些代码利用ARM的特性加快了对媒体的处理速度[3]。

    在liunx系统下,利用Qt做一个应用界面,包括:播放、停止、快进、快退、上/下一曲等功能模块;并通过交叉编译器编译应用程序,然后移植到ARM平台上。具体操作如下:使用popen()来打开Mplayer播放文件;利用process->write(“pause”)实现会暂停功能;最后利用connect()函数连接信号与槽函数,实现视频模块设计。

    3 嵌入式媒体播放器系统实现( Embedded media

    player system)

    对于嵌入式开发,最终都要将做好的应用程序下载到开发板,然后再开发板上运行应用程序,这样就实现了整个开发的流程。

    (1)开发板环境配置

    以博创科技UP-TECH 2410经典平台为基础,移植LINUX 2.6.24系统具体过程如下:移植LINUX操作系统需要移植四个文件vivi、kernek、root和fs,这四个文件分别是:

    Vivi—linux操作系统启动的bootloader;

    ZImage—linux操作系统内核;

    root.cramfs—根文件系统;

    yaffs.tar.bz2—应用程序压缩包;

    具体移植操作可见文献[4,5]。

    (2)在上位机上编译好可执行文件,通过Qmake和make工具,本系统最终编译的程序为project。

    (3)通过NFS服务或者U盘将生成的文件移植到开发板上,当然,开发板上的环境已经搭建好了,里面有所需要的库文件。NFS服务这种方式比较慢,而用U盘的方式很快的。

    (4)查看开发板上环境变量的设置,环境变量设置非常重要,如果这个设置不正确,则应用程序不能再开发板上运行。通过命令:Vi/etc/profile

    (5)运行该程序:./ project -qws

    运行界面如图3和图4所示。

    图3 视频模块 图4 音频模块

    Fig.3 Video module Fig.4 Audio module

    4 结论(Conclusion)

    本设计以嵌入式Linux为操作系统,基于ARM9的平台开发,利用Qt进行图形界面设计,再通过相关环境配置及LCD和触摸屏的驱动开发设计,使得开发应用程序运行在ARM9开发板。该系统开发为嵌入式系统应用开发提供一定的思路,而且应用程序移植性好,可广泛应用各类嵌入式音视频系统中。

    参考文献(References)

    [1] 王建民,张宏壮.基于Qt的嵌入式媒体播放器的设计与实现

    [J].微计算机信息,2009,(4):8-9.

    [2] Kim J,et al.Efficient Metadata Management for Flash File

    Systems.11th IEEE International Symposium on Object

    Oriented Real- Time Distributed Computing,2008:535-540.

    [3] 任亚飞,唐涛.基于嵌入式Linux的列控系统人机界面的实现

    [J].铁路计算机应用,2005,(4):23-26.

    [4] 陈云鹤,徐晶.基于QT/Embedded的媒体播放器的设计与实

    现[J].微型电脑应用,2006,8(22):33-34;52.

    [5] 马勇,等.嵌入式多媒体播放器的系统设计与实现[J].杭州电

    子科技大学学报,2006,2(26):60-63.

    作者简介:

    王栋财(1990-),男,学士.研究领域:计算机应用.

    梁隆恺(1991-),男,学士,研究领域:计算机应用.

    韩改宁(1977-),女,硕士,讲师.研究领域:嵌入式系统应用,

    智能机器人.

    王 凡(1989-),男,学士.研究领域:软件开发.

    王 炀(1990-),男,学士.研究领域:计算机应用.

    图2 媒体物理流结构

    Fig.2 Media flow physical structure

    2.3 视频接口模块设计

    本模块使用利用一个开源的视频播放器MPlayer作为其后端程序[2]。MPlayer具有良好的移植性,可以移植到许多非X86平台上,MPlayer软件包中含有针对ARM架构的优化代码,这些代码利用ARM的特性加快了对媒体的处理速度[3]。

    在liunx系统下,利用Qt做一个应用界面,包括:播放、停止、快进、快退、上/下一曲等功能模块;并通过交叉编译器编译应用程序,然后移植到ARM平台上。具体操作如下:使用popen()来打开Mplayer播放文件;利用process->write(“pause”)实现会暂停功能;最后利用connect()函数连接信号与槽函数,实现视频模块设计。

    3 嵌入式媒体播放器系统实现( Embedded media

    player system)

    对于嵌入式开发,最终都要将做好的应用程序下载到开发板,然后再开发板上运行应用程序,这样就实现了整个开发的流程。

    (1)开发板环境配置

    以博创科技UP-TECH 2410经典平台为基础,移植LINUX 2.6.24系统具体过程如下:移植LINUX操作系统需要移植四个文件vivi、kernek、root和fs,这四个文件分别是:

    Vivi—linux操作系统启动的bootloader;

    ZImage—linux操作系统内核;

    root.cramfs—根文件系统;

    yaffs.tar.bz2—应用程序压缩包;

    具体移植操作可见文献[4,5]。

    (2)在上位机上编译好可执行文件,通过Qmake和make工具,本系统最终编译的程序为project。

    (3)通过NFS服务或者U盘将生成的文件移植到开发板上,当然,开发板上的环境已经搭建好了,里面有所需要的库文件。NFS服务这种方式比较慢,而用U盘的方式很快的。

    (4)查看开发板上环境变量的设置,环境变量设置非常重要,如果这个设置不正确,则应用程序不能再开发板上运行。通过命令:Vi/etc/profile

    (5)运行该程序:./ project -qws

    运行界面如图3和图4所示。

    图3 视频模块 图4 音频模块

    Fig.3 Video module Fig.4 Audio module

    4 结论(Conclusion)

    本设计以嵌入式Linux为操作系统,基于ARM9的平台开发,利用Qt进行图形界面设计,再通过相关环境配置及LCD和触摸屏的驱动开发设计,使得开发应用程序运行在ARM9开发板。该系统开发为嵌入式系统应用开发提供一定的思路,而且应用程序移植性好,可广泛应用各类嵌入式音视频系统中。

    参考文献(References)

    [1] 王建民,张宏壮.基于Qt的嵌入式媒体播放器的设计与实现

    [J].微计算机信息,2009,(4):8-9.

    [2] Kim J,et al.Efficient Metadata Management for Flash File

    Systems.11th IEEE International Symposium on Object

    Oriented Real- Time Distributed Computing,2008:535-540.

    [3] 任亚飞,唐涛.基于嵌入式Linux的列控系统人机界面的实现

    [J].铁路计算机应用,2005,(4):23-26.

    [4] 陈云鹤,徐晶.基于QT/Embedded的媒体播放器的设计与实

    现[J].微型电脑应用,2006,8(22):33-34;52.

    [5] 马勇,等.嵌入式多媒体播放器的系统设计与实现[J].杭州电

    子科技大学学报,2006,2(26):60-63.

    作者简介:

    王栋财(1990-),男,学士.研究领域:计算机应用.

    梁隆恺(1991-),男,学士,研究领域:计算机应用.

    韩改宁(1977-),女,硕士,讲师.研究领域:嵌入式系统应用,

    智能机器人.

    王 凡(1989-),男,学士.研究领域:软件开发.

    王 炀(1990-),男,学士.研究领域:计算机应用.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/11 4:15:03