基于DirectFB的嵌入式播放器设计

分享到:

1 概述

随着嵌入式的普及和发展,嵌入式设备的功能越来越强大,用户对嵌入式设备的要求也越来越高。各种多媒体应用程序被移植到了嵌入式系统中,是否能够播放音视频是人们衡量和购买嵌入式设备的基本要求之一。本文提出了一种基于DirectFB嵌入式播放器解决方案,有效地降低嵌入式系统的资源消耗,适用于CPU频率小于400MHz的中低端嵌入式系统。DirectFB是一个轻量级的GUI开发库,它通过Framebuffer以及回调函数,实现了对硬件设备的完全抽象,加速和简化了图形操作。

本文首先对DirectFB进行了详细的介绍,接着提出了一种宽松的、可分解的嵌入式播放器设计方案。该方案资源消耗少、可移植性强、系统各个模块间依赖度小,使得用户能够根据自己的系统需求快速设计满足自己要求的播放器。

2 DirectFB简介

2.1 DirectFB的整体框架

DirectFB必须通过Linux下Framebuffer驱动来访问硬件设备,它在Framebuffer的基础上提供了图形设备的加速、输入设备处理提取、透明窗口和多重显示层的功能。另外DirectFB设计之初就充分考虑了嵌入式系统的固有特性,体积小巧,资源消耗低。作为嵌入式系统中强大的图形处理库,DirectFB成为Linux下一代处理的一个新标准(CELF AVG1.0标准)。图1是DirectFB的整体框架。

 

2.2 DirectFB接口描述

DirectFB提供了一套C接口来方便用户进行界面开发,例如IDirectFBSurface接口提供了对于文本、BILT、画线以及画矩形的操作。IDir ectFBFont接口提供了对字体的操作,而IDirectFBVideo接口提供了对多媒体进行播放控制的操作。表1对DirectFB接口进行了详细的描述。

 

3 播放器的框架

嵌入式播放器的架构如图2所示。采用DirectFB开发的Lite作为图形界面,与用户进行直接交互;调用DirectFB的Video实现了音视频的插件接口和解码器模块。该接口将FFmpeg、xine、libmpeg3等多媒体库封装成统一接口,具备很强的扩展性;基于Framebuffer的输出,消除了对于特定架构的依赖,有效地增强了系统的可移植性。

 

 

图形界面是以Lite为基础开发的。Lite是基于DirectFB开发的以box为基类的对话框。通过调用Lite可以编写各种暂停、播放、音量等控件,用户使用这些控件与播放器进行直接交互。DirectFB本身并不提供窗口以及对话框管理功能,因而DirectFB更多地被用作底层图形库。参考文献中选择以DirectFB为后端的Cairo图形库进行2D图形开发;参考文献中选择基于GTK+on DirectFB进行嵌入式开发。如今,上层API支持DirectFB的有XDirectFB、DirectFBGL、DFBTerm、DFBSee、DFBPoint、QT on DireelFB、SDL等。采用Lite进行开发的目的,主要是因为它直接使用DirectFB开发对话框,而且源代码只有5 MB左右,具有很快的响应速度,能够有效降低嵌入式设备资源的消耗。

插件接口将对解码器的操作放到了Video统一的开发式接口中,该接口实现了分离音视频、解码音视频、播放、暂停、调节音量、调整播放速度等各种功能。通过该接口,播放器的扩展性得到了很大的提高,因此该接口是媒体播放器的核心。

3.1 插件接口以及编解码

DirectFB通过对FFmpeg进行封装,形成一组统一接口方便用户调用。插件接口通过以下方法来控制解码器:

①Probe函数。通过检查文件扩展名来确定播放器是否支持播放该文件,可以识别的扩展名有wav、au、snd、mp2、mp3、m2a、swf、wma、rm等。用户可以通过添加新的解码器来支持更多新的文件格式。

②Construct函数。通过调用FFmpeg的一些库函数,首先将输入的视频文件头信息读取出来,接着把视频文件分离成音频和视频流,并申请音频和视频流的缓冲区,然后识别出音视频解码器。该函数同时会将用户写的一些非标准函数指针赋给标准API函数,方便用户的调用。

继续阅读
嵌入式计算机在配网可视化管控系统中的应用

随着电力物联网建设工作的逐步展开,以大数据、物联网和计算机等先进技术为基础的配网可视化管控系统飞速发展,它将设备和用户连接起来,可实现用电集中监控和配网数据信息共享,为智能电网发展蓄力。

对基于NFC的嵌入式系统进行检测

今天,电子产品堪称无处不在,不管是汽车、白色家电,还是娱乐设备、可穿戴设备,都已融入我们生活的方方方面。电子系统的快速普及应用,归功于大规模集成电子器件的出现,例如,非常复杂的计算密集型微控制器和SoC(系统芯片)。

恩智浦和微软共同展示用于预测性维护的云到端机器学习解决方案

华盛顿州西雅图——2019年5月7日——恩智浦半导体公司今天与微软宣布合作推出基于人工智能 (AI) 和机器学习 (ML) 的Azure IoT异常检测功能。通过将恩智浦的离线机器学习能力和嵌入式处理专长与微软的云专业知识优势互补,联合演示了一个全新的Azure IoT异常检测解决方案。

物联网发展遭遇越来越多的瓶颈问题,OTP NVM发展因此迎来重大机遇

根据思科 (Cisco) 的分析预测,2020 年将有超过 500 亿台的装置与设备连接到互联网,智能手机的流量将超过个人电脑的流量,宽带速度将在 2021 年增加将近ㄧ倍。而在 2022 年,我们周遭的世界将嵌入ㄧ兆个网络传感器。虽然专家们对实际数字的预测略有不同,但可以确定的是,物联网将会呈现指数性增长。这物联网成长趋势不仅仅将为传统高容量的 NVM 带来更大商机,也为一次性可编程非易失性存储器 (One Time Programmable Non-Volatile Memory,以下以 OTP NV

QNX与Linux未来有望淘汰众多操作系统实现两家独大

车载电子操作系统是汽车智能化的核心,能够有效分配车机的硬件资源,对车内各种任务功能进行协同管理,并控制各项任务优先级别。常见的车载电子操作系统有:QNX、Linux(Android,AaliOS)、Windows CE、iOS等,此外还有一些非主流操作系统如Wind River和micro-ITRON 等。

精彩活动