自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

handy周

纸上得来终觉浅,绝知此事要躬行。

原创 android中基于plt/got的hook实现原理

目录 native-hook示例开始 got全局符号表hook 远程注入hook操作 inline hook原理 native内存泄漏检测常用方式 概述 由于android系统是基于linux内核开发的,因此我们日常编写的so文件,实际上也是一个ELF文件,类似于Windows下的PE文件,在...

2020-01-05 21:46:54 592 0

原创 android平台下基于cmake编译链接ffmpeg-3.4.x的32位和64位(armeabi-v7a和arm64-v8a)静态库

android平台下基于cmake编译链接ffmpeg-3.4.x的32位和64位(armeabi-v7a和arm64-v8a)静态库

2019-06-30 23:47:25 1145 1

原创 android平台下OpenGL ES 3.0给图片添加黑白滤镜

android平台下OpenGL ES 3.0给图片添加黑白滤镜

2019-04-06 15:34:33 637 1

原创 android平台下基于OpenSL ES实现音频录制功能

我们日常在处理音频录制的时候,大部分情况下都是使用AudioRecord录制原始的PCM数据,但是音频相关的处理通常都是在native层进行的,今天笔者要记录一下在native层通过OpenSL ES来完成音频的录制。

2019-01-31 23:38:09 1006 0

原创 androd平台下基于ffmpeg对AudioRecord录制的PCM音频数据编码为AAC文件

之前的博客写了关于使用Android SDK自带的MediaRecorder和AudioRecord录制音频数据,本次内容,主要是基于之前的内容,使用AudioRecord得到原始的PCM音频数据后用ffmpeg来完成编码工作

2018-12-03 12:16:55 464 2

原创 android平台下基于MediaRecorder和AudioRecord实现录制AAC、PCM音频数据

在`android sdk`中提供了两种方式来实现音频的采集:`MediaRecorder`和`AudioRecord`,其中的`MediaRecorder`处于更上层,它可以对音频录制的数据编码成`AMR`,`MP3`等格式,并存储为文件,而`AudioRecord`则更灵活,因为它可以录制最原...

2018-12-03 12:09:34 1303 0

原创 android平台下基于ffmpeg的swscale模块实现对YUV和RGB数据进行转换

https://blog.csdn.net/leixiaohua1020/article/details/14215391

2018-12-01 21:20:08 329 0

原创 android平台下基于ffmpeg实现对相机预览截图的功能(NV21数据编码为JPEG文件)

android平台下基于ffmpeg编码YUV数据为JPEG文件

2018-12-01 20:47:19 532 0

原创 android平台下基于ffmpeg和ANativeWindow实现简单的视频播放器

android平台下基于ffmpeg和ANativeWindow实现简单的视频播放器

2018-12-01 14:24:34 575 0

原创 android平台下基于ffmpeg采集Camera数据编码成H.264推流到RTMP服务器

音视频实践学习 android全平台编译ffmpeg以及x264与fdk-aac实践 ubuntu下使用nginx和nginx-rtmp-module配置直播推流服务器 android全平台编译ffmpeg合并为单个库实践 android-studio使用cmake编译ffmpeg实践...

2018-11-29 22:36:11 958 0

原创 android平台下基于ffmpeg对相机采集的NV21数据编码为MP4视频文件

首先使用av_register_all()函数注册所有的编码器和复用器(理解为格式封装器)。该步骤必须放在所有ffmpeg代码前第一个执行 2、avformat_alloc_output_context2():初始化包含有输出码流(AVStream)和解复用器(AVInputForm...

2018-11-27 13:31:39 1186 0

原创 android全平台编译libyuv库实现YUV和RGB的转换

libyuv是Google开源的实现各种YUV与RGB之间相互转换、旋转、缩放的库。它是跨平台的,可在Windows、Linux、Mac、Android等操作系统,x86、x64、arm架构上进行编译运行,支持SSE、AVX、NEON等SIMD指令加速。

2018-11-25 12:57:46 3550 3

原创 YUV420P、YUV420SP、NV12、NV21和RGB互相转换并存储为JPEG以及PNG图片

YUV420和RGB转换存储为BMP和JPG以及PNG图片

2018-11-24 22:50:36 7777 1

原创 android全平台编译libpng并基于ANativeWindow加载PNG图片

http://blog.sina.com.cn/s/blog_85882089010135ta.html

2018-11-23 11:24:23 560 1

原创 android全平台编译libjpeg-turbo并基于ANativeWindow加载JPEG图片

https://github.com/libjpeg-turbo/libjpeg-turbo/blob/master/BUILDING.md # Set these variables to suit your needs NDK_PATH=/media/byhook/backup/andro...

2018-11-22 14:28:53 818 0

原创 图解RGB565、RGB555、RGB16、RGB24、RGB32、ARGB32等格式的区别

常见的RGB格式有RGB1、RGB4、RGB8、RGB565、RGB555、RGB24、RGB32、ARGB32等

2018-11-22 11:03:35 17372 6

原创 图解YU12、I420、YV12、NV12、NV21、YUV420P、YUV420SP、YUV422P、YUV444P的区别

android平台下基于Camera详解NV21(YUV420P)、NV12(YUV420SP)和RGBA、RGB、BGRA、BGR 概述 NV21 参考: https://blog.csdn.net/leixiaohua1020/article/details/50534150 htt...

2018-11-20 12:30:19 14668 1

原创 android平台下OpenGL ES 3.0使用TextureView对相机Camera预览实时处理

android平台下OpenGL ES 3.0使用TextureView对相机Camera预览实时处理 实现一个基本的相机处理类:CameraV1Pick,用来处理相机采集的相关操作 下面是几个比较关键的类: public class CameraV1Pick implements Text...

2018-11-12 22:32:02 1821 0

原创 android平台下OpenGL ES 3.0使用GLSurfaceView对相机Camera预览实时处理

android平台下OpenGL ES 3.0对相机Camera预览实时处理 摄像头的预览 配置好摄像头之后,剩下的事情就是配置摄像头采集每一帧图像的回调,并且获取到图像之后将图像渲染到屏幕上。本书的第4章已经讲解过了如何通过OpenGL ES来渲染图像,这里先来回顾一下:首先把图像解码为RG...

2018-11-11 14:02:55 3190 1

原创 android平台下OpenGL ES 3.0实现2D纹理贴图显示bitmap

OpenGL ES 3.0学习实践 android平台下OpenGL ES 3.0从零开始 android平台下OpenGL ES 3.0绘制纯色背景 android平台下OpenGL ES 3.0绘制圆点、直线和三角形 android平台下OpenGL ES 3.0绘制彩色三角形 androi...

2018-11-10 17:44:35 1697 0

原创 android平台下OpenGL ES 3.0绘制立方体的几种方式

绘制图元 OpenGL ES中有5个绘制图元的API调用: glDrawArrays、gIDrawElements、glDrawRangeHonents、 glDrawArraysInstanced和glDrawElementsInstanced。 glDrawArrays用元素索引为fir...

2018-11-09 13:42:18 1564 0

原创 android平台下OpenGL ES 3.0实例详解顶点缓冲区对象(VBO)和顶点数组对象(VAO)

顶点缓冲区对象 顶点缓冲区对象(Vertex Buffer Object),简称VBO。如果不使用顶点缓冲区对象(VBO)则是将顶点、颜色、纹理坐标等数据存放在内存(客户内存)当中,在每次进行glDrawArxays或者gIDrawElements等绘图调用时,必须从客户内存复制到图形内存。而顶...

2018-11-08 14:58:28 883 0

原创 android平台下OpenGL ES 3.0实例详解顶点属性、顶点数组

顶点属性 顶点数据也称作顶点属性,指定每个顶点的数据。如果你想要绘制固定颜色的三角形,可以指定一个常量值,用于三角形的全部3个顶点。但是,组成三角形的3个顶点的位置不同,所以我们指定一个顶点数组来存储3个位置值。 顶点属性数据可以用一个顶点数组对每个顶点指定,也可以将一个常量值用于一个图元的所...

2018-11-08 12:48:57 874 0

原创 android平台下OpenGL ES 3.0从矩形中看矩阵和正交投影

绘制矩形 新建一个矩形渲染器: public class RectangleRenderer implements GLSurfaceView.Renderer 先定义顶点着色器: #version 300 es layout (location = 0) in vec4 vPosi...

2018-11-06 12:03:37 1050 0

原创 android平台下OpenGL ES 3.0绘制彩色三角形

本例基于android平台下OpenGLES3.0绘制圆点、直线和三角形 目录 顶点着色器 片段着色器 颜色配置 基于sdk绘制彩色三角形 基于ndk绘制彩色三角形 顶点着色器 #version 300 es layout (location = 0) in vec4 v...

2018-11-05 12:19:38 1165 0

原创 android平台下OpenGL ES 3.0绘制圆点、直线和三角形

目录 新建PointLineRenderer 定义圆点坐标 分配本地内存 顶点着色器 片段着色器 编译和加载着色器 设置视口 清除颜色缓冲区 绘制圆点 绘制直线 新建PointLineRenderer public class PointLineRenderer i...

2018-11-04 21:36:40 3098 0

原创 android平台下OpenGL ES 3.0绘制纯色背景

目录 新建工程 基于SDK实现渲染器 基于NDK实现渲染器 实现效果 新建工程 RendererActivity文件 public class RendererActivity extends AbsBaseActivity { private GLSurf...

2018-11-04 16:46:42 3275 2

原创 android平台下OpenGL ES 3.0从零开始

目录 OpenGL ES对Android平台的支持情况 OpenGL ES 3.0概述 OpenGL ES 3.0图形管线图 顶点着色器 片段着色器 图元装配 光栅化 逐片段操作 虚拟机和OpenGL ES 3.0的数据传输 OpenGL ES对Android平台的支持...

2018-11-04 15:33:48 5424 0

原创 android全平台基于ffmpeg解码本地MP4视频推流到RTMP服务器

ffmpeg实践学习 android全平台编译ffmpeg以及x264与fdk-aac实践 ubuntu下使用nginx和nginx-rtmp-module配置直播推流服务-器 android全平台编译ffmpeg合并为单个库实践 android-studio使用cmake编译ffmp...

2018-10-31 22:46:33 1989 0

原创 android全平台编译ffmpeg支持命令行实践

本例基于 android全平台编译ffmpeg合并为单个库实践 进行的 目录 环境准备 新建cmd工程 修改源文件 运行输出 环境准备 操作系统 ubuntu 16.05 编译准备好libffmpeg库和需要include头文件,我们还需要抽取ffmpeg-3.3.8中的部分头文件和源文件 笔...

2018-10-31 13:40:13 512 0

原创 android全平台下基于ffmpeg解码MP4视频文件为YUV文件

目录 配置环境 新建decode工程 配置环境 操作系统: ubuntu 16.05 注意: ffmpeg库的编译使用的是android-ndk-r10e版本,使用高版本编译会报错 而android-studio工程中配合cmake使用的版本则是android-ndk-r16b版本 新建工程...

2018-10-31 13:03:44 693 0

原创 android-studio使用cmake编译ffmpeg实践

本例使用的是合并的libffmpeg库,可参考之前的实践操作 android全平台编译ffmpeg合并为单个库实践 目录 配置环境 新建hello工程 配置环境 操作系统: ubuntu 16.05 注意: ffmpeg库的编译使用的是android-ndk-r10e版本,使用高版本编译会报错...

2018-10-31 12:17:37 849 0

原创 android全平台编译ffmpeg合并为单个库实践

目录 编译环境 配置config.sh脚本 配置合并脚本build_ffmpeg_merge.sh 脚本地址 编译环境 操作系统:ubuntu 16.05 android-ndk-r10e 注意 这里如果使用高版本比如android-ndk-r16b 编译会报错 ffmp...

2018-10-31 10:30:01 1176 0

原创 ubuntu下使用nginx和nginx-rtmp-module配置直播推流服务器

本来准备在centos服务器上搭建的,因为笔者工作系统是ubuntu,因此直接在本机上搭建,更方便快捷,配置过程比较简单,记录一下。 目录 配置环境 安装obs-studio开始第一次推流 安装vlc播放器开始拉流 配置环境 配置环境 配置环境 操作系统:ubuntu 16...

2018-10-31 08:29:27 1822 1

原创 android全平台编译ffmpeg以及x264与fdk-aac实践

之前一篇移植的博客。 Android平台移植FFmpeg和x264 编译环境 ubuntu 16.04 android-ndk-r10e ffmpeg-3.3.8版本 fdk-aac-0.1.6版本 开始编译x264库 先获取最新的x264库 git clone http://g...

2018-10-28 23:07:02 2166 17

原创 关于Android中多module使用fat-aar合并的坑

逛掘金很久了,之前注册过邮箱账号,但是现在每次登录,都要求重置密码,改了也没用,很绝望,重新注册了一个账号。 今天第一次在掘金上分享,废话不多说,直接开始正题。 概述 简单介绍一下项目情况,笔者做这个项目快两年了,之所以有这篇文章,源于项目的需求,因为项目除了公司内部使用,还需要抽取sd...

2018-06-20 21:59:24 4805 2

原创 Android系统源代码的下载与编译

简书地址 http://www.jianshu.com/p/aeaceda41798目录 1.简介 2.官方同步源代码 3.镜像同步源代码 4.已有源代码更新 5.编译源代码 5.1编译Android 4.1.2 5.2编译Android 5.1.1 6.参考 1.简介之前二次开发Launch...

2016-08-22 01:28:27 24450 4

原创 ubuntu移植libcurl到Android平台

简书排版 http://www.jianshu.com/p/332011ebd6e5最近移植了很多C++平台的库,很多都是后台开发的库,因为NDK开发,以后很可能会使用,提前预研一下。 libcurl这个库很有名,用的人比较多,下载源码,直接就可以编译使用,以前在Windows平台下开发网...

2016-08-11 23:41:16 1702 1

原创 ubuntu移植crypto++到Android平台

简书排版 http://www.jianshu.com/p/eaeeed899251ubuntu移植crypto++到Android平台 官方Wiki http://www.cryptopp.com/wiki/Android_(Command_Line) 这个移植比较简单,官方直接就有文档...

2016-08-11 23:40:00 1818 0

原创 android平台下OpenCV之灰度图转换

android平台下OpenCV之灰度图转换

2019-03-14 21:43:43 256 0

提示
确定要删除当前文章?
取消 删除