-
Android多媒体浅析
2012-12-29 19:29:11发现Android影音系统超复杂的,个人水平有限,关注以下几个问题: 1. 系统如何选择多媒体引擎 2. 引擎如何选择编解码器 ...多媒体系统自上而下可分为三类, 上层应用软件,就是在Android市场里下载的发现Android影音系统超复杂的,个人水平有限,关注以下几个问题:
1. 系统如何选择多媒体引擎
2. 引擎如何选择编解码器
3. 分离器如何分离音视频
4. 视频解码播放过程如何使用OMX IL
5. 音频解码播放过程与ALSA的关系
1. 系统如何选择多媒体引擎多媒体系统自上而下可分为三类,
- 上层应用软件,就是在Android市场里下载的到的多媒体播放软件如Mobo player, Rock player等。
- 系统级多媒体引擎,Android 2.3默认的是Stagefright,取代了之前繁琐的Opencore。
- 系统级多媒体插件OMX IL层,用于音视频编解码。
Android系统启动时开启本地服务MediaPlayerService,全权负责多媒体控制。
上层调用setDataSource(),根据音视频文件的路径名称url选择合适的播放引擎。
getPlayerType()选择引擎的依据主要有两个:
1)url的开头名称如rtsp://, http://
2) property_get()读取init.rc脚本相关信息。
选择成功后创建,本文讨论Android2.3默认的多媒体引擎Stagefright,它把具体任务全部交由AwesomePlayer实现。
2. 引擎如何选择编解码器
上层调用prepareAsync(),自上而下一直到AwesomePlayer开启一个准备音视频的事件,这个事件完成媒体播放前两大工作-即音视频分离和编解码配置。
先说编解码配置,通过findMatchingCodecs()找到合适的解码器,依据仍然是音视频文件的路径名称url。
具体地,在OMXCodec.cpp里有一个数据结构CodecInfo,
struct CodecInfo {
const char *mime; // 通过url得到的音视频信息
const char *codec; // 该多媒体引擎支持的编解码器
};
比如有一个音频文件jay.mp3存放于U盘根目录下,即url: /mnt/extsd/jay.mp3,
- 首先通过url得到mine: audio/mpeg,
- 然后通过mine找到匹配的codec: MP3Decoder,即MP3解码器。
- 找到解码器后,将其作为OMX的节点创建和配置。
3. 分离器如何分离音视频
finishSetDataSource_l()分离音视频轨道。
1)通过url得到数据源dataSource。
2)根据dataSource选择合适的分离器。
3) 将分离的音频源和视频源放入相应的全局变量里,以便播放时使用。
4. 视频解码播放过程如何使用OMX IL
视频播放部分参考博文 http://www.cublog.cn/u1/57901/showart_2423206.html
整个流程概括起来,就是把分离的视频源放入onVideoEvent事件,经OMX解码处理并转换成RGB格式后输出屏幕。
上层播放音视频调用start()即可,殊不知引擎在其中完成了巨大的工作量,先说视频,
drainInputBuffer()和fillOutputBuffer调用了OMX IL层进行视频解码,这里OMX节点mNode就是先前提到的解码器建立的。
mOMX->emptyBuffer和mOMX->fillBuffer是两个核心的回调函数,其实质如下图。
5. 音频解码播放过程与ALSA的关系
AwesomePlayer把音频播放的任务交给AudioPlayer,AudioPlayer创建AudioTrack,AudioTrack线程与AudioFlinger服务线程通过类似管道的机制进行数据通信,AudioFlinger调用抽象层进入ALSA架构,openOutputStream()输出音频数据流。
关于音频播放系统参考博文 http://blog.csdn.net/DroidPhone/article/details/5941344
-
万韬多媒体在线计算机上机考试系统
2011-07-01 09:37:46灵活的帐户管理功能, 系统帐户分为三类,系统管理员、考试管理员和考试用户,其中系统管理员拥有最高权限,可建立考试管理员帐户,考试管理员拥有建立的参考帐户和试题的权限,拥有建立考试用户、题库集、题库、... -
多媒体教室
2013-06-14 08:10:31若此时教师未进行任何操作,可分为如下三种情况: 在班级模型空白区点右键可弹出如下菜单: 在单个学生机图标处点右键可弹出如下菜单: 如选择多个学生机图标点右键可弹出如下菜单: 如此时教师已经进行了操作,则... -
操作系统的概念
2017-05-24 14:33:55软件部分又可分为3部分: 系统软件:操作系统,编译程序 支撑软件:数据库,网络,多媒体 应用软件:文字处理,图像处理 2.什么是操作系统 操作系统是计算机系统中的系统软件,是能有效地组织和管理计算机系统中的...1.计算机系统的组成
计算机系统分为硬件和软件部分。软件部分又可分为3部分:系统软件:操作系统,编译程序支撑软件:数据库,网络,多媒体应用软件:文字处理,图像处理2.什么是操作系统
操作系统是计算机系统中的系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能。3.操作系统的目标
方便性:容易使用有效性:使处理机和I/O设备保持正常工作状态而且得到有效的利用,节省存储空间。可扩充性:有利于增加新的功能和删除旧的功能开放性:4.无操作系统
(1)人工操作
程序员将将事先穿孔的纸袋装入纸袋输入机,通过纸袋输入机将程序和数据输入计算机,然后启动计算机运行。当程序运行完毕并取走计算结果后,才让下一个用户上机。(2)脱机I/O方式
事先将装有用户程序和数据的纸袋装入纸袋输入机,在外围机的控制下把纸袋上的数据输入到磁带上。当处理机需要这些程序和数据时再从磁带上高速的调入内存。5.单道批处理系统
(1)处理过程
由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业的处理完成时又把控制权交还给监督程序,然后由监督程序将磁带上的第二个作业调入内存。直到磁带上的作业全部完成。(2)特征
自动性,顺序性,单道性6.多道批处理操作系统
(1)处理过程
用户所提交的作业都被先存放在外存并排成一个队列;然后,由作业调度程序按一定的算法从后备队列中选择若干作业调入内存。(2)特征
多道性,无序性,调度性(作业调度,进程调度)(3)优点
资源利用率大,系统吞吐量大(4)缺点
平均周转时间长,无交互能力7.分时系统
(1)概念
一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机的资源,每个用户都可通过自己的终端已交互方式使用计算机的系统(2)实现(通过时间片实现)
单道分时系统:具有前台和后台的分时系统:多道分时系统:(3)特征
多路性,独立性,及时性,交互性。8.实时系统
(1)概念
能够及时相应外部事件的请求,在规定的时间内完成该事件的处理9.分时系统与实时系统的比较
分时 实时 多路性 按分时原则为多个终端服务 对多路的现场信息进行采集和对多个对象进行控制 独立性 服务互不干扰 信息采集和对象控制互不干扰 及时性 人们所接受的时间 开始截止时间和完成截止时间确定 交互性 能向终端用户提供数据处理,资源共享等服务 仅限于访问系统中的某些专用服务程序 可靠性 要求可靠 要求更高 -
【软件测试】操作系统篇:第二章 作业管理
2011-02-26 01:21:00操作命令和系统调用(一维空间)2)第二代用户界面:图形界面(二维空间)3)第三代用户界面:虚拟现实的界面元素(三维空间)3、界面管理的功能1)实现高效的人机通信2)改善计算机的可用性、可学性和有效性3)支持...第二章 作业管理
1、基本概念
1)作业(Job)是让计算机完成一件事或任务,可大可小,可多可少。
2)作业步(Job steps) :作业顺序执行的工作单元。
3)作业流(Job Stream) :作业步的控制流程。
4)作业类别分为终端型作业和批量型作业。
2、三代用户界面
1)第一代用户界面:操作命令和系统调用(一维空间)
2)第二代用户界面:图形界面(二维空间)
3)第三代用户界面:虚拟现实的界面元素(三维空间)
3、界面管理的功能
1)实现高效的人机通信
2)改善计算机的可用性、可学性和有效性
3)支持三维及多媒体技术
4)为广大用户提供适应不同应用的众多界面构造工具及语言
4、作业调度
1)作业调度功能
(1)采用JCB(作业控制块)表格,记录各作业状况;
(2)按选定的算法,从后备作业队列中选出一部分(多道)或一个作业投入运行;
(3)为被选中的作业做好运行前的准备工作,例如建立相应的执行进程和分配系统资源;
(4)作业运行结束的善后处理工作。
2)作业调度算法
(1)先来先服务(FCFS)
作业平均周转时间=å(作业完成时刻i-作业提交时刻i)/n个作业
(2)最短作业优先:在作业内容参差很不均衡时有合理性
(3)最高响应比优先
响应比(系数)=作业响应时间(等待+运行)/作业运行时间
(4)定时轮转法:按时间片分为固定时间片和不固定时间片
(5)优先数法:急事先办的原则
(6)事件驱动法:MS-Windows采用此算法
5、Shell命令解释和控制语言
Shell是用户与操作系统交互作用的界面。作为命令解释程序它接收用户输入的命令,进行分析,创建子进程实现命令的功能,等子进程终止工作后,发出提示符。此外,Shell还是一种高级程序设计语言,有变量、关键字、各种控制语句,支持函数模块,有自己的语法结构。
6、例题解析
【例1】下表给出作业l,2,3的提交时间和运行时间。采用先来先服务调度算法和短作业优先调度算法,试问平均周转时间各为多少?(时间单位:小时,以十进制进行计算 。)
作业号
提交时间
运行时间
1
2
3
0.0
0.4
1.0
8.0
4.0
1.0
分析 解这样的题关键是要根据系统采用的调度算法,弄清系统中各道作业随时间的推进情况。我们用一个作业执行时间图来形象地表示作业的执行情况,帮助我们理解此题。
采用先来先服务调度算法,是按照作业提交的先后次序挑选作业,先进入的作业优先被挑选。然后按照“排队买票”的办法,依次选择作业。其作业执行时间图如下:
采用短作业优先调度算法,作业调度时根据作业的运行时间,优先选择计算时间短且资源能得满足的作业。其作业执行时间图如下:
由于作业1,2,3是依次到来的,所以当开始时系统中只有作业1,于是作业1先被选中。在8.0时刻,作业1运行完成,这时系统中有两道作业在等待调度,作业2和作业3,按照短作业优先调度算法,作业3只要运行1个时间单位,而作业2要运行4个时间单位,于是作业3被优先选中,所以作业3先运行。待作业3运行完毕,最后运行作业2。作业调度的次序是1,3,2。
另外,要记住以下公式:
作业i的周转时间Ti=作业完成时间-作业提交时间
系统中n个作业的平均周转时间
,其中Ti为作业i的周转时间。
解:
采用先来先服务调度策略,则调度顺序为l、2、3。
作业号 提交时间 运行时间 开始时间 完成时间 周转时间
1 0.0 8.0 0.0 8.0 8.0
2 0.4 4.0 8.0 12.0 11.6
3 1.0 1.0 12.0 13.0 12.0
平均周转时间T=(8+11.6+12)/3=10.53
采用短作业优先调度策略,则调度顺序为l、3、2。
作业号 提交时间 运行时间 开始时间 完成时间 周转时间
1 0.0 8.0 0.0 8.0 8.0
3 1.0 1.0 8.0 9.0 8.0
2 0.4 4.0 9.0 13.0 12.6
平均周转时间T=(8+8+12.6)/3=9.53
【例2】在一个单道的程序设计系统中,有3个作业J1、J2、J3,它们到达输入井的时间分别为8:50、9:00、9:30,它们需要执行的时间分别为1.5小时、0.4小时、1小时。系统在10:00按响应比高者优先算法对它们进行调度,请回答:
(1)作业被选中执行的次序是什么?
(2)三个作业被选中时的响应比分别是多少?
分析 响应比=作业周转时间/作业运行时间
=1+作业等待时间/作业运行时间
系统在10:00,计算作业的响应比:
以J1为例,它的作业计算时间是1.5小时,即90分钟;J1从8:50到达输入井,在10:00时刻,J1的等待时间为70分钟,因此作业J1的响应比为:1+70分钟/90分钟=1.77
同理,J2:1+60分钟/24分钟=3.5 J3:1+30分钟/60分钟=1.5
因此按照响应比高者优先算法,优先调度J2。
在10:24,J2完成。这时计算J1、J3的响应比:
J1:1+(70+24)分钟/90分钟=2.04 J3:1+(30+24)分钟/60分钟=1.9
按照响应比高者优先算法,优先调度J1。
在11:54,J1完成,系统调度J3,J3的响应比为1+(30+24+90)分钟/60分钟=3.4 因此,作业被选中执行的次序是J2、J1、J3。
三个作业被选中时的响应比分别是:J1,2.04;J2,3.5;J3,3.4。
解:
(1)作业被选中执行的次序是J2、J1、J3。
(2)三个作业被选中时的响应比分别是:J1,1.04;J2,2.5;J3,2.4。
【例3】设有进程A、B、C、D依次进入就绪队列(相隔一个时间单位),它们的优先级(优先数大的优先级较高)如下表所示:
进程
CPU时间
优先数
A
20
3
B
15
1
C
8
4
D
10
3
试问采用“先来先服务”、“静态优先数法”调度算法(注:优先数大的优先级高),选中进程的执行次序。
解:采用先来先服务调度算法,按照进程进入就绪队列的先后次序占有CPU,其执行次序是A-B-C-D。
采用静态优先数法,进程A最先就绪,在0时刻先占有CPU运行,随后1时刻进程B进入就绪队列,2时刻进程C进入就绪队列,3时刻进程D进入就绪队列。由于采用静态优先数法,不容许随时间的推移改变进程的优先级,所以当进程A运行结束时,系统的就绪队列中有B、C、D三个进程,而进程C优先级最高,于是选中C;这样分析下去,进程的执行次序是A-C-D-B。
-
信息发布系统及技术架构图
2013-09-02 15:51:31信息发布系统软件及技术架构图.多媒体信息发布系统,实现信息发布,并可支持触摸功能。系统主要分为三个部分:管理平台、服务器、信息发布客户端。 -
嵌入式系统/ARM技术中的基于Android平台的智能导游系统设计方案
2020-10-21 10:22:42该软件功能模块主要分为游客信息管理、多媒体应用、电子地图,并对各个模块的功能和界面的实现进行了详细地分析和设计。测试结果表明该系统操作简便,界面友好,并具有良好的可扩展性和维护性。 0 引言 随着... -
基于Android平台的智能导游系统设计方案
2021-01-19 17:46:07该软件功能模块主要分为游客信息管理、多媒体应用、电子地图,并对各个模块的功能和界面的实现进行了详细地分析和设计。测试结果表明该系统操作简便,界面友好,并具有良好的可扩展性和维护性。 0 引言 随着... -
软件设计师考试同步辅导 考点串讲、真题详解与强化训练
2018-07-10 14:22:36全书分为13章,内容包括:计算机网络基础知识、程序语言基础知识、操作系统知识、系统开发和运行、网络基础知识、多媒体基础知识、数据库技术、数据结构、算法设计和分析、面向对象技术、标准化和软件知识产权基础... -
五大典型系统集成商 你是哪一类?
2017-07-05 14:21:00设备系统集成 也可称为硬件系统集成、在大多数场合简称系统集成,或称为弱电系统集成,以区分于机电设备安装类的强电集成。它指以搭建组织机构内的信息化 管理支持平台为目的,利用...设备系统集成也可分为智能建...设备系统集成
也可称为硬件系统集成、在大多数场合简称系统集成,或称为弱电系统集成,以区分于机电设备安装类的强电集成。它指以搭建组织机构内的信息化 管理支持平台为目的,利用综合布线技术、楼宇自控技术、通信技术、网络互联技术、多媒体应用技术、安全防范技术、网络安全技术等将相关设备、软件进行集成设计、安装调试、界面定制开发和应用支持。设备系统集成也可分为智能建筑系统集成、计算机网络系统集成、安防系统集成。
智能建筑系统集成
英文 Intelligent Building System Integration,指以搭建建筑主体内的建筑智能化管理系统为目的,利用综合布线技术、楼宇自控技术、通信技术、网络互联技术、多媒体应用技术、安全防范技术等将相关设备、软件进行集成设计、安装调试、界面定制开发和应用支持。智能建筑系统集成实施的子系统包括:综合布线、楼宇自控、电话交换机、机房工程、监控系统、防盗报警、公共广播、门禁系统、楼宇对讲、一卡通、停车管理、消防系统、多媒体显示系统、远程会议系统。对于功能近似、统一管理的多幢住宅楼的智能建筑系统集成,又称为智能小区系统集成。
计算机网络系统集成
英文 Computer Network System Integration. 指通过结构化的综合布线系统和计算机网络技术,将各个分离的设备(如个人电脑)、功能和信息等集成到相互关联的、统一和协调的系统之中,使资源达到充分共 享,实现集中、高效、便利的管理。系统集成应采用功能集成、网络集成、软件界面集成等多种集成技术。系统集成实现的关键在于解决系统之间的互连和互操作性问题,它是一个多厂商、多协议和面向各种应用的体系结构。这需要解决各类设备、子系统间的接口、协议、系统平台、应用软件等与子系统、建筑环境、施工配 合、组织管理和人员配备相关的一切面向集成的问题。
安防系统集成
英文 Security System Integration. 指以搭建组织机构内的安全防范管理平台为目的,利用综合布线技术、通信技术、网络互联技术、多媒体应用技术、安全防范技术、网络安全技术等将相关设备,软件进行集成设计、安装调试、界面定制开发和应用支持。安防系统集成实施的子系统包括门禁系统、楼宇对讲系统、监控系统、防盗报警、一卡通、停车管理、消防系统、多媒体显示系统、远程会议系统。安防系统集成既可作为一个独立的系统集成项目,也可作为一个子系统包含在智能建筑系统集成中。
应用系统集成
英文Application System Integration,即为用户提供一个全面的系统解决方案。应用系统集成已经深入到用户具体业务和应用层面,在大多数场合,应用系统集成又称为行业信息化解决方案集成。应用系统集成可以说是系统集成的高级阶段,独立的应用软件供应商将成为核心。
本文转自d1net(转载)
-
WinRAR压缩软件官方最新正版
2012-06-30 13:15:39WinRAR 在 DOS 时代就一直具备这种优势,经过多次试验证明,WinRAR 的 RAR 格式一般要比其他的 ZIP 格式高出 10%~30% 的压缩率,尤其是它还提供了可选择的、针对多媒体数据的压缩算法。 对多媒体文件有独特的高压... -
数据库系统基础:高级篇(第5版)(讲述数据库系统原理的经典教材)--详细书签版
2013-04-05 14:33:11全书分为4部分。第一部分讲述事务处理的概念、并发控制技术和数据库恢复技术;第二部分讲述面向数据库的概念、语言、设计及对象-关系和扩展-关系系统;第三部分主要描述了数据库安全和客户-服务器体系结构;第四部分... -
数据库系统基础:初级篇(第5版)(讲述数据库系统原理的经典教材)--详细书签版
2013-04-05 13:45:321.4.4 系统分析员和应用程序员(软件工程师) 11 1.5 幕后工作者 11 1.6 使用DBMS方法的优势 12 1.6.1 控制冗余 12 1.6.2 限制非授权的访问 12 1.6.3 为程序对象提供持久性存储 13 1.6.4 ... -
DSP中的浅析TMS320C67x DSP Library在程序开发中的应用
2020-10-22 01:05:24DSP在占据嵌入式通信终端和基础设施市场的主导地位之后,现在其触角也已广泛地拓展到了更多的嵌入式数字多媒体应用领域,同时更以其完全软件可编程的灵活性,在众多的数字信息产品解决方案中发挥着越来越大的作用。... -
二级C语言历年真题及答案(05-09)
2010-08-07 10:56:04光盘根据基制造材料和记录信息的方式不同,一般可分为 A)CD、VCD B)CD、VCD、DVD、MP3 C)只读光盘、可一次性写入光盘、可擦写光盘 D)数据盘、音频信息盘、视频信息盘 在计算机系统中,可执行程序是 A)源代码B)... -
基于ARM11的智能家居设计与实现
2018-09-09 20:52:00第5章分析了智能家居系统软件开发环境的搭建,包括Bootloader的选型及移植、操作系统内核配置及移植、根文件系统选型及制作。开发实战篇包括第6~13章。第6章介绍智能家居系统初始化及用户业务工作流程;第7~10章... -
关于我们
2008-11-20 11:20:00可为网络多媒体(KTV、监控等)、汽车多媒体行业提供模块和具体的应用方案,我们主攻方向的核心产品分为硬件产品和软件产品两部分,根据不同的应用组合成不同的应用系统以提供不同的解决方案...... 硬件产品包括... -
基于STM32的无线视频监控智能小车设计
2018-12-20 11:10:15系统总体设计思想可分为软件设计与硬件设计:软件设计主要是在一定的开发平台上编写程序、设计界面按钮、实现系统的各种控制,分别设计了PC上位机以及两种不同系统手机作为整个系统的控制端;硬件设计主要是系统的... -
云南省初中信息技术会考复习
2013-07-31 14:50:0716、存储器是计算机存放数据的部件,可分为内存储器(简称内存)和外存储器(简称外存)。 17、内存还分ROM(只读存储器)和RAM(随机存储器)。ROM的信息可读不可写,RAM中的信息随时可读写。关机断电后,ROM中的... -
《计算机网络(第4版)》答案
2009-03-14 13:31:12答:计算机网络的发展可分为以下四个阶段。 (1)面向终端的计算机通信网:其特点是计算机是网络的中心和控制者,终端围绕中心计算机分布在各处,呈分层星型结构,各终端通过通信线路共享主机的硬件和软件资源,... -
基于单片机的IPTV机顶盒的设计
2021-01-19 20:54:38器件: EM8620L 基于数字媒体处理器芯片EM8620L的IP机顶盒的电路,外围电路简单,实用性强,可实现各种高质量的视频、音频输出,并通过网络支持视频点播。...另外一类机顶盒内部包含操作系统和互联网浏览软件,通过电话 -
消费电子中的基于单片机的IPTV机顶盒的设计
2020-12-10 02:14:16核心器件: EM8620L 基于数字媒体处理器芯片EM8620L的IP机顶盒的电路,外围电路简单,实用性强,可实现各种高质量的视频、音频输出,并通过网络支持视频点播。...另外一类机顶盒内部包含操作系统和互联网浏览软件,通过 -
Visual C++程序开发范例宝典 光盘
2013-04-25 15:21:27全书分为 16章,分别是窗体与界面设计,控件应用,图形技术,多媒体技术,文件系统,操作系统与Windows相关程序,注册表,数据库技术,SQL查询相关技术,打印与报表技术,图表技术,硬件相关开发技术,网络开发技术... -
WinRAR v5.71 Beta2 官方版.exe
2019-07-12 05:25:42WinRAR 在 DOS 时代就一直具备这种优势,经过多次试验证明,WinRAR 的 RAR 格式一般要比其他的 ZIP 格式高出 10%~30% 的压缩率,尤其是它还提供了可选择的、针对多媒体数据的压缩算法。 对多媒体文件有独特的高压... -
会计理论考试题
2012-03-07 21:04:40A、计算机病毒通常是一段可运行的程序 B、反病毒软件可清除所有病毒 C、加装防病毒卡的微机不会感染病毒 D、病毒不会通过网络传染 14.在Windows98中,如果删除了软盘上的文件,则该文件在Windows98中___A____。 A、... -
捉虫记—大容量Web应用性能测试与·LoadRunner实战(施迎)高清PDF扫描版
2018-12-23 20:09:34本书共17章,分为5篇。第1篇介绍软件测试的定义、方法和过程等内容;第2篇介绍Web应用、Web性能测试的分类、基本硬件知识、Web应用服务器选型、各操作系统性能计数器的获取等内容;第3篇介绍如何使用LoadRunner进行... -
Windows编程循序渐进(清晰完整版)4
2010-03-22 16:48:30第9章,多媒体技术:介绍几种多媒体控件的使用方式和屏幕截图、录像的实现。 第10章,数据库技术:介绍MFC ODBC和DAO基本使用方法。 第11章,综合实例开发:实现多个具有趣味性的实例。 Windows系统程序设计篇 ...