![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 多媒体
文章平均质量分 64
Android系统攻城狮
《Android系统多媒体进阶实战》一书作者 - 专注Android/Linux系统多媒体技术,与广大开发者一起日益精进。
展开
-
视频中的帧、行、场概念
其中D1 和D2标准是我们一般模拟电视的最高标准,并不能称的上高清晰,D3的1080i标准是高清晰电视的基本标准,它可以兼容720p格式,而D5的1080P只是专业上的标准,并不是民用级别的,上面所给出的60Hz只是理想状态下的场频,而它的行频为67.5KHz,目前还没有如此高行频的电视问世,实际在专业领域里1080p的场频只有24Hz,25Hz和30Hz。1965年制定的电视制,主要应用于中国,香港、中东地区和欧洲一带,每秒25帧画面,还有一种是SECAM制式德国地区采用的制式。转载 2023-02-17 19:50:07 · 2799 阅读 · 0 评论 -
MediaCodec使用基本套路
MediaCodec使用基本套路。转载 2022-09-20 17:39:18 · 886 阅读 · 0 评论 -
Android Camera曝光
1、概述曝光三要素:光圈大小、快门速度、感光度(ISO)。简单介绍下,光圈值曝光瞬间开孔大小;快门速度指快门开启时间;感光度指图像传感器对光线的敏感程度。2、光圈光圈F值 = 镜头焦距/镜头光圈直径光圈值系列:F1.0,F1.4,F2.0,F2.8,F4.0,F5.6,F8.0,F11,F16,F22,F32,F44,F64光圈F值越小,光圈越大,进光量越多,反之相反。在夜拍或暗光环境下,大光圈的成像优势就更显着。3、快门时间以秒为单位,常见为:16,8,4,2,1,1/2,转载 2021-01-19 21:49:50 · 1553 阅读 · 0 评论 -
音视频通话:小议音频处理与压缩技术
在视频或者音频通话过程中,一方面为了减小原始声音数据的传输码率,需要进行音频压缩,另一方面为了得到更高质量的音质,需要进行音频处理。那么,如何处理好这两方面,保证声音传播的高真性?音频处理的方法主要包括:音频降噪、自动增益控制、回声抑制、静音检测和生成舒适噪声,主要的应用场景是视频或者音频通话领域。音频压缩包括各种音频编码标准,涵盖ITU制定的电信领域音频压缩标准(G.7xx系列)和微软、Go...转载 2020-04-06 11:19:19 · 590 阅读 · 0 评论 -
音视频基础-01
本文将给大家进行音视频基础的常规知识点的梳理。当然,短短的一篇文章并不能让大家立即变成音视频领域的专家,但这些知识点已经基本涵盖了音视频的入门知识。我们将按照下面的内容给大家音视频的基本概念 音视频播放的流程 音视频编解码 音视频封装格式 音视频常见的传输协议1.1 音视频基本概念首先,我们需要先主了解下一些音视频常见的技术概念以及简单的原理。1.1.1 采样率采...转载 2020-04-05 23:48:23 · 3441 阅读 · 0 评论 -
写给小白的实时音视频技术入门提纲
1、前言这是由一篇我的演讲稿整理出来的文章,目标读者是对实时音视频开发感兴趣但是又不知道如何下手的初学者们,希望把我的经验分享出来,对大家有所帮助。学习交流:- 即时通讯开发交流3群:185926912[推荐]- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》(本文同步发布于:http://www.52im.net/thread-1620-1-1.html)...转载 2020-03-25 13:08:23 · 903 阅读 · 0 评论 -
Android software R&D engineer能力模型
原址本能力模型来源于网络,深感其总结得深入(当然也并不是适用于所有从事Android行业的各位XDJM),故贴于此。也给自己指明2011年的前进方向。转载 2018-03-19 10:58:27 · 431 阅读 · 0 评论 -
Android Camera架构浅析
原址1、Camera成像原理介绍Camera工作流程图Camera的成像原理可以简单概括如下:景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过IO接口传输到CPU中处理,通过DISPLAY就可以看到图像了。电荷耦合器件(CCD)或互补金属氧化物...转载 2018-03-19 11:14:37 · 377 阅读 · 0 评论 -
Android NuPlayer播放框架
原址0 NuPlayer简介Android2.3时引入流媒体框架,而流媒体框架的核心是NuPlayer。在之前的版本中一般认为Local Playback就用Stagefrightplayer+Awesomeplayer,流媒体用NuPlayer。Android4.0之后HttpLive和RTSP协议开始使用NuPlayer播放器,Android5.0(L版本)之后本地播放也开始使用NuPlaye...转载 2018-03-19 14:43:23 · 1198 阅读 · 0 评论 -
Android4.4 多媒体开发(五)----OpenMax简介
原址android中的 AwesomePlayer就是用OpenMax来做(codec)编解码的,上一篇最后一步初始化解码器我们只是初窥了一下,以后会仔细分析。本节就主要科普一下OpenMax和它在Android系统中扮演的角色。OpenMax系统的结构OpenMax总体层次结构 OpenMax是一个多媒体应用程序的框架标准,由NVIDIA公司和Khronos在2006年推出。 ...转载 2018-03-19 16:50:32 · 2081 阅读 · 0 评论 -
AVC与H264 区别
AVC 实际上是 H.264 协议的别名。但自从H.264协议中增加了SVC的部分之后,人们习惯将不包含SVC的H.264协议那一部分称为 AVC,而将SVC这一部分单独称为SVC。...原创 2018-03-26 17:38:09 · 21971 阅读 · 0 评论 -
Android多媒体框架图
原址 MediaPlayer框架图 Camera框架图 SoundRecorder框架图 VideoCamera框架图 OpenCore与Skia ALSA Audio框架图 Video Overlay框架图 Camera HAL演化图原址转载 2018-03-19 10:38:16 · 926 阅读 · 0 评论 -
Android TextureView 与 SurfaceView用法区别
SurfaceView和TextureView均继承于android.view.View,与其它View不同的是,两者都能在独立的线程中绘制和渲染,在专用的GPU线程中大大提高渲染的性能。一、SurfaceView专门提供了嵌入视图层级的绘制界面,开发者可以控制该界面像Size等的形式,能保证界面在屏幕上的正确位置。但也有局限:由于是独立的一层View,更像是独立的一个Window转载 2017-02-04 10:47:20 · 15949 阅读 · 0 评论 -
Android Multimedia框架总结(二十四)MediaMuxer实现手机屏幕录制成gif图
原址:http://blog.csdn.net/hejjunlin/article/details/53866405前言:上篇中,介绍是用MediaMuxer与MediaExtractor进入音视频的裁剪,今天用MediaMuxer与AudioRecord与MediaCodec及Surface进行屏幕录制成gif。看下Agenda:效果图主体思路转gif两种方案MediaM转载 2016-12-27 18:20:28 · 668 阅读 · 0 评论 -
Android HWUI硬件加速模块浅析
原址什么是硬件加速(What)传统软件的UI绘制是依靠CPU来完成的,硬件加速就是将绘制任务交由GPU来执行。Android系统负责硬件加速的模块主要是HWUI,如下图所示:为什么要硬件加速(Why)Android HWUI硬件加速的底层实现是基于OpenGL ES接口向GPU提交指令来完成绘制的。硬件加速的优势在于:在高屏幕分辨率环境下(尤其对于4K高清电视而言),GPU UI绘制的帧率要高于C...转载 2018-04-27 10:40:01 · 7166 阅读 · 0 评论 -
Android SurfaceFlinger与OpenMax流程(好文)
原址原创 2018-05-08 18:45:50 · 617 阅读 · 0 评论 -
Android Audio BSP工程师 需要清楚的基本知识点
原址【前言】 这是我根据自己的工作经验所总结,有一定代表性,但可能不齐全。这只是个提纲。【知识点】 按照在操作系统中的层次划分,从上到下依次为:1、Android系统分层模型。知道 APP、JNI、Frameworks、HAL、Driver 的划分以及 用户空间、内核空间 的概念。2、Android Audio模块的启动、加载 及 放音/录音 流程。起码应该了解 AudioServer...转载 2018-05-30 16:18:11 · 1339 阅读 · 0 评论 -
Android视频录制-MediaRecorder流程
MediaRecorder流程如下:当使用CameraSource的时候MediaCodecSource会从CameraSource中取数据。当使用Surface的时候不用CameraSource。实际实现都是生产者消费者模型,由camera生产数据,由codec消费数据。只是具体实现过程不一样,camerasource录制使用的是puller,surface录制使用的是Bu...转载 2019-06-25 17:40:00 · 3060 阅读 · 0 评论 -
为什么是VSYNC
From单缓冲区显示器刷新的频率决定了人肉眼可感受的流畅度,刷新频率太低会导致出现PPT效果,刷新频率太高又没有太高的必要,所以显示器一般的刷新频率为60Hz,人眼可感知的最低限度,即1秒刷新60帧,也就是显示器会1秒从显卡中读取66帧的数据显示到屏幕上,那么这些数据是从哪里来的呢?答案是CPU/GPU产生的,也就是CPU/GPU作为帧的生产者,显示器作为帧的消费者CPU/GPU除了要...转载 2019-04-01 11:39:20 · 761 阅读 · 0 评论 -
Stagefright&&Opencore(好文)
原址转载 2018-09-03 16:56:55 · 289 阅读 · 0 评论 -
Android多媒体开发-- android中OpenMax的实现整体框架
原址1.android中用openmax来干啥?android中的 AwesomePlayer就 是用openmax来做(code)编解码,其实在openmax接口设计中,他不光能用来当编解码。通过他的组件可以组成一个完整的播放器,包括 sourc、demux、decode、output。但是为什么android只用他来做code呢?我认为有以下几方面:1.在整个播放器中,解码器不得不...转载 2018-09-03 16:50:55 · 914 阅读 · 0 评论 -
Android6.0之前版本(AwesomePlayer)OMXCodec执行流程细节
原址.创建实例(AwesomePlayer调用SetDataSource()) .调用OMXCodec:Create() .findMatchingCodecs() .InstantiateSoftwareDecoder() .omx->allocateNode() ...转载 2018-09-03 16:43:55 · 565 阅读 · 0 评论 -
low latency playback、deep buffer playback、compressed offload playback的区别
原址1,音频播放Android系统audio框架中主要有三种播放模式:low latency playback、deep buffer playback和compressed offload playback。a)low latency playback:用于按键音、游戏背景音等对时延要求高的声音输出。音频文件是在AP侧解码成PCM数据,然后再经由Audio DSP送给codec芯片播...转载 2018-09-05 16:34:01 · 9887 阅读 · 0 评论 -
1. OpenMAX系列 —— ACodec和OMX的联系
原址1. OpenMAX系列 —— ACodec和OMX的联系本文作为openmax系列的开篇博文(注:N版本),记录了个人对openmax的一些理解。可能会出现部分误解,望理解并欢迎指正。MediaCodec调用ACodec的initiateAllocateComponent接口进编解码组件的创建(这里以创建解码组件来分析),ACodec就给自己发送了个msg: kWhatAlloc...转载 2018-09-01 15:15:00 · 707 阅读 · 0 评论 -
Android Multimedia框架总结(二十八)NuPlayer到OMX过程
原址NuPlayer是谷歌新研发的。 AwesomePlayer存在BUG,谷歌早已在android m 版本中弃用。sp<MediaPlayerBase> MediaPlayerService::Client::createPlayer(player_type playerType){ // determine if we have the right play...转载 2018-08-31 16:34:24 · 820 阅读 · 0 评论 -
[RK3288][Android6.0] StageFright解码流程小结
原址Platform: RK3288OS: Android 6.0Kernel: 3.10.92以Gallery播放视频为例(只关注MediaPlayer相关部分):rk用的是ffplayer,但是没有开源,所以这里就以stagefright为例了解解码流程.创建:onCreate -> MovieActivity.java mPlayer = new ...转载 2018-08-28 18:05:32 · 744 阅读 · 0 评论 -
Android系统框架总结(好文)
原址通用概念Android框架图Android应用程序框架UI基本开发Fragment安全策略在Android中,安全涵盖了应用程序的部署和执行.对于部署来 说,Android应用程序必须被赋予一个数字证书才允许被安装到某个设备中.对 于运行来说,每个应用程序都在一个独立的应用程序中执行,每个进程都有一 个唯一的永久的用户ID(在安装的时候分配的).注册应用程序...转载 2018-08-15 15:47:06 · 19003 阅读 · 2 评论 -
Android4.1MediaPlayer无缝播放
原址摘要:在Android4.1中,MediaPlayer实现两个完全独立的MediaPlayer类上执行无缝播放,这里介绍一下Android是如何实现无缝播放的。 一、使用方法 在第一个MediaPlayer类执行结束前的任何时间调用setNextMediaPlayer(MediaPlayer next)这个方法,该方法的参数是第二个文件创建的MediaPlayer实例。然后And...转载 2018-08-09 16:37:25 · 1072 阅读 · 0 评论 -
android多媒体框架学习 详解
原址一:多媒体框架概述 jellybean 的多媒体跟以前的版本,通过对比没啥变化,最大的变化是google终于舍得给multimedia建个独立的git了(framework/av),等你好久了!也体现了media 在整个android系统中的重要性!framework/av下都是些C/C++代码(libmedia,libmediaplayerservice,libstagefr...转载 2018-07-31 17:21:27 · 2924 阅读 · 0 评论 -
【Android多媒体】Android5.0 NuPlayer多媒体框架【1】
原址Android流媒体框架在Gingerbread Android2.3版本的时候加入的,其中实现的核心就是NuPlayer。在之前的版本中一般认为Local Playback就用Stagefrightplayer+Awesomeplayer,流媒体用NuPlayer。从现在来看,NuPlayer大有替换掉StagefrightPlayer+AwesomePlayer的趋势,现在NuPlay...转载 2018-07-27 13:35:49 · 314 阅读 · 0 评论 -
android 多媒体 notifyListener_l 函数分析
原址转载 2018-08-15 16:32:03 · 649 阅读 · 0 评论 -
RTMP/RSTP/HTTP区别
1.共同点:1.RTSP RTMP HTTP都是在应用应用层2.理论上RTSP RTMPHTTP都可以做直播和点播,但一般做直播用RTSP RTMP,做点播用HTTP。 做视频会议的时候原来用SIP协议,现在基本上被RTMP协议取代了。不同点:1.HTTP:(Real Time Streaming Protocol):实时流传输协议,HTTP将所有的数据作为文件做处理。http协议不...原创 2018-06-17 15:15:01 · 1566 阅读 · 0 评论 -
Android-7.0-Nuplayer流程图
原址Nuplayer简介Android2.3时引入流媒体框架,而流媒体框架的核心是NuPlayer。Android4.0之后HttpLive和RTSP协议开始使用NuPlayer播放器,Android5.0(L版本)之后本地播放也开始使用NuPlayer播放器。MediaPlayer基本使用方式MediaPlayer mp = new MediaPlayer();mp.setD...转载 2018-07-27 13:29:53 · 1847 阅读 · 0 评论 -
Android Media Framework(1): 总纲
转自:http://www.jianshu.com/users/5ba48666a89d/latest_articlesAndroid系统整体架构:我们先看一下多媒体框架在整个Android系统所处的位置Android多媒体框架opencore和stagefright分析从框架图可以看出Media Framework处于Libraries这一转载 2016-09-22 14:36:59 · 932 阅读 · 0 评论 -
android媒体--stagefright概述
最近杂七杂八的忙碌着,前几天看了下这部分主要是stagefright模块的,所以更改下名字做了挺长时间的Android平台的媒体开发,对之前的分析进行一个阶段性的总结。 一、android结构图(上下文关系) 二、android目录结构自从android4.2版本之后,媒体的相关代码都放到framework/av/的目录中,俗转载 2016-10-14 16:47:56 · 563 阅读 · 0 评论 -
[Android6.0] StageFright解码流程小结
Platform: RK3288OS: Android 6.0Kernel: 3.10.92以Gallery播放视频为例(只关注MediaPlayer相关部分):rk用的是ffplayer,但是没有开源,所以这里就以stagefright为例了解解码流程.创建:onCreate -> MovieActivity.java mPlayer =转载 2016-10-14 17:21:05 · 1754 阅读 · 0 评论 -
StageFright框架流程解读
1、 StageFright介绍 Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,并没有完全抛弃opencore,主要是做了一个OMX层,仅仅是对 opencore的omx-component部分做了引用。stagefright是在MediaPlayerService这一层加入的,和转载 2016-09-29 18:16:12 · 524 阅读 · 0 评论 -
Android OMX介绍(总括)
一、OpenMax简介(缩写为:OMX) OpenMAX是一个多媒体应用程序的标准。由NVIDIA公司和Khronos™在2006年推出。 它是无授权费的、跨平台的C语言程序接口序列,这些接口对音频、视频、静态图片的常用操作进行封装。 它包括三层,分别是应用层(AI)、集成层(IL)和开发层(DL)。其中IL层已经成为了事实上的多媒体框架标准。嵌入式处理器或者多媒体编转载 2016-09-29 19:17:04 · 15935 阅读 · 0 评论 -
Android4.2之Camera系统HAL调用流程
一、重要结构体1.模块hardware/libhardware/include/hardware/camera_common.h[cpp] view plain copy typedef struct camera_module { hw_module_t common; int (*get_number_of转载 2016-11-03 00:10:01 · 412 阅读 · 0 评论 -
Android之Camera拍照
一、看看调用时序图1.拍照命令时序图2.拍照数据回调时序图二、看看源码分析hardware/amlogic/camera/CameraHal.cpp[cpp] view plain copy status_t CameraHal::takePicture( ){ ret = mCameraAdapter-转载 2016-11-03 00:13:09 · 582 阅读 · 0 评论