![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android音视频
文章平均质量分 94
Poney.Ma
Android研发工程师
展开
-
Android音视频 - MediaCodec编解码音视频
前情提要MediaCodec原创 2021-01-14 15:06:46 · 1094 阅读 · 1 评论 -
Android音视频 - 学习路线概览
我们上一个系列 - OpenGL ES 暂告一段落,如果你对相机滤镜感兴趣,可以参看之前的文章,原创 2020-12-14 17:43:18 · 1711 阅读 · 0 评论 -
Andorid音视频 - OpenGL ES的实战项目InstagramXFilter
PS之前我用过Instagram的拍照功能,对他的滤镜可是垂涎已久啊,所以这次根据网上的资料有了一个开源项目有兴趣的可以看看InstagramXFilterInstagramXFilter参考了MagicCamera 以及 GPUImage,目前有几十种滤镜可供选择读者可以下载Demo运行一下,看看是不是你想要的,InstagramXFilter 1.0.1项目准备如果读者也对开发一款这样的应用感兴趣的话,那么我前面几篇的博客也许对你有帮助详情请查看我的CSDN专栏OpenGL这些博客将.原创 2020-12-08 11:06:58 · 168 阅读 · 0 评论 -
Android音视频 - EGL源码解析以及C++实现
PS我们在前面的文章中就说过关于EGL的出现原因以及其作用OpenGL 是一个跨平台的API,而不同的操作系统(Windows,Android,IOS)各有自己的屏幕渲染实现。所以OpenGL定义了一个中间接口层EGL(Embedded Graphics Library)标准,具体实现交给各个操作系统本身EGL简单来说EGL是一个中间接口层,是一个规范,由于OpenGL的跨平台性,所以说这个规范显得尤其重要,不管各个操作系统如何蹦跶,都不能脱离我所定义的规范。EGL的一些基础知识EGLDi.原创 2020-12-08 10:47:52 · 372 阅读 · 0 评论 -
Android音视频 - OpenGL 卷积
PS上一篇我们说了一些简单的滤镜,明度、对比度、曝光度等等那么本篇我们来说一下稍微复杂一点的卷积,理解卷积对图片处理还是十分重要的卷积从数学上讲,卷积就是一种运算,与减加乘除没有本质的区别的一种运算。就像我们可以通过A+B的运算来计算A与B的和一样,简单的加减乘除运算符可以看成混合运算符两边元素的信息,我们可以认为卷积运算也是一种混合信息的手段图像卷积我们刚才说了卷积可以看成一种混合信息的手段,我们来看一下图像卷积假如我们有下面一幅图像这幅图像不太清晰,存在很多噪点。PS噪点又.原创 2020-12-08 09:29:26 · 245 阅读 · 0 评论 -
Android音视频 - OpenGL 滤镜
经过前几篇的博客,我们应该队OpenGL有了基础的认识,那么我们就该来点实践了,它来了,它来了,真正的滤镜它来了先放效果图滤镜的学习是个循序渐进的过程,我们本章先说一下简单的滤镜,也让读者揭开一角相机滤镜神秘面纱OpenGL ES - 简单滤镜经过前几篇的博客,我们应该能实现如上图中的原图的滤镜了吧,我对前面的工程也做了一些代码重构,类图如下所示,完整代码请查看文末链接。我们后面的滤镜代码将只关注于核心的Shader Code部分,因为GL环境部分我们前面几篇博客已经做了非常详细的讲解了。.原创 2020-12-07 11:38:04 · 419 阅读 · 0 评论 -
Android音视频 - OpenGL GLSL高级
我们之前说了一下GLSL的基础知识,详情可参见Android OpenGL ES - GLSL基础篇上一张呢我们也了解了一下纹理,实现了我们的OpenGL 的第一张图片,不过可能我们对gl_Position,gl_Fragcolor,texture2D ( uTexture, vCoordinate)等一些GLSL语法不是特别熟悉,本篇博客呢,是对GLSL的一些补充,也是为后面的博客打下基础。PS:无特殊说明,文中的 GLSL 均指 OpenGL ES 2.0 的着色语言。GLSL 高级篇in原创 2020-12-04 16:09:33 · 218 阅读 · 0 评论 -
Android音视频 - OpenGL纹理
上一篇我们我们要对GLSL语言有了基础的了解,我们现在应该对于GLSL Shader脚本起码能理解其中的语法含义,不过这显然是不够的。对于前面几个章节都可以说是对Android OpenGL ES的入门,本篇呢就说一下在我们的实际工作中遇到的场景下(诸如相机滤镜是怎么实现的、视频如何使用OpenGL 渲染等等实际性问题)来介绍纹理纹理通过前面的内容我们已经了解到,我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。但是,如果想让图形看起来更真实,我们就必须有足够多的顶点,从而指定足够多的颜原创 2020-12-05 15:49:37 · 562 阅读 · 1 评论 -
Android音视频 - OpenGL GLSL基础
上节在绘制三角形的时候,简单讲解了一些着色器,GLSL 的相关概念,可能看的云里雾里的。不要担心,在本节中,我将详细讲解着色语言 GL Shader Language(GLSL)的一些基本的概念。PS:无特殊说明,文中的 GLSL 均指 OpenGL ES 2.0 的着色语言。GLSL (GL Shader Language)在上一节中,我们提到了GLSL 的语法与 C 语言很类似,也看到了一个非常简单的着色器,如下:VertexShader"attribute vec4 aPosition原创 2020-12-04 16:06:17 · 652 阅读 · 0 评论 -
Android音视频 - OpenGL ES 坐标系与三角形
上一篇我们已经建立了OpenGL ES Android 环境并用C/C++实现了一个简单的三角形,我们还知道了用GLSL语言所写的Vertex Shader和Fragment Shader的使用流程,简单地说,我们通过操作顶点着色器来描述图的形状,通过片段着色器来描述图上每个像素点的颜色。本篇文章呢,我们来解释上一篇遗留下来的问题。坐标系我们从前面的总结知道,使用OpenGL引擎的第一个程序入口就是从编写顶点着色器开始的。既然要去描述图形的坐标信息,我们就有必要知道如何去构建坐标系给OpenGL,如何转原创 2020-12-04 15:02:25 · 240 阅读 · 0 评论 -
Android音视频 - OpenGL ES 环境搭建与简单三角形的绘制
OpenGL ES Android 环境搭建EGLOpenGL 是一个跨平台的API,而不同的操作系统(Windows,Android,IOS)各有自己的屏幕渲染实现。所以OpenGL定义了一个中间接口层EGL(Embedded Graphics Library)标准,具体实现交给各个操作系统本身。关于EGL我们后面会仔细介绍,现在先有个概念。基于EGL的GLSurfaceViewAndroid 框架中有如下两个基本类,用于通过 OpenGL ES API 来创建和操控图形:[GLSurfaceVi原创 2020-12-04 14:50:33 · 188 阅读 · 0 评论 -
Android音视频 - OpenGL简介
OpenGL ES简介OpenGL 是一种跨平台的图形 API,用于为 3D 图形处理硬件指定标准的软件接口。OpenGL ES 是 OpenGL 规范的一种形式,适用于嵌入式设备。Android 支持多版 OpenGL ES API:OpenGL ES 1.0 和 1.1 - 此 API 规范受 Android 1.0 及更高版本的支持。OpenGL ES 2.0 - 此 API 规范受 Android 2.2(API 级别 8)及更高版本的支持。OpenGL ES 3.0 - 此 API 规范原创 2020-12-04 14:39:55 · 340 阅读 · 0 评论 -
Android音视频 - EGL C++实现
PS本篇继续上一篇的内容,我们来对Native EGL环境实现的各个步骤进行详细解析#EGL Native层的实现上一篇文章Android OpenGL ES - EGL源码解析以及C++实现我们还是先来回顾一下流程图以及代码 //(1) 将线程附加到虚拟机,并获取env if (that->m_jvm_for_thread->AttachCurrentThread(&env, NULL) != JNI_OK) { LOGE(that-.原创 2020-12-08 10:50:51 · 248 阅读 · 0 评论