Skip to content
Android Camera, OpenGL, Graphics
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea fd Nov 30, 2018
app adjust code Nov 27, 2018
doc fd Nov 30, 2018
glsurfacepreview fd Nov 28, 2018
glsurfacepreview2 fd Nov 28, 2018
glsurfacepreview3 adjust code Nov 27, 2018
gradle/wrapper 全新版本 Aug 16, 2017
library fd Nov 30, 2018
multisurfacepreview add doc Nov 27, 2018
recorder1 fd Nov 30, 2018
recorder2 fd Nov 30, 2018
rgbconverter fd Nov 27, 2018
surfacepreview add doc Nov 27, 2018
surfacepreview2 add doc Nov 27, 2018
.DS_Store fd Nov 27, 2018
.gitignore fd Mar 4, 2018
README.md
Todo.txt 两个窗口显示预览 Aug 19, 2017
build.gradle fd Nov 27, 2018
gradle.properties add some new feature Aug 22, 2017
gradlew 全新版本 Aug 16, 2017
gradlew.bat 全新版本 Aug 16, 2017
settings.gradle fd Nov 26, 2018

README.md

Android Camera Demos


一、相机预览

序号 项目名称 内容简介
1 GLSurfacePreview 拿到相机帧数据,直接绘制到屏幕
2 GLSurfacePreview2 拿到相机帧数据,先绘制到FBO,离线处理后(变红)绘制到屏幕
3 GLSurfacePreview3 直接给相机的预览纹理绘制到屏幕
4 SurfacePreview 拿到相机帧数据,直接绘制到屏幕
5 SurfacePreview2 拿到相机帧数据,先绘制到PBuffer,再绘制到屏幕
6 MultiSurfacePreview 拿到相机帧数据,先转成纹理,再分别绘制到两个SurfaceView

二、RGB转换

利用GPU将相机帧(NV21)转成RGB并传至CPU,分辨率为1920 * 1080,RGBA

另开一个线程做RGB转换,不然如果和相机共用上下文,渲染时需要来回切换,且可能阻塞相机渲染,对性能不利。

序号 模块名称 内容简介
1 RgbConverter1 直接readPixels,~30ms
2 RgbConverter2 从Pbuffer调readPixels,性能有较大提升,~30ms
3 RgbConverter3 从FBO调readPixels,性能比PBuffer稍好一点,~27ms
4 RgbConverter4 从FBO读到PBO,readPixels阻塞, glMapBuffer阻塞,~11ms
5 RgbConverter5 从Pbuffer读到PBO,readPixels异步, glMapBuffer阻塞,~6ms

三,视频录制

序号 项目名称 内容简介
1 recorder1 录制相机预览以及音频
2 recorder2 录制纹理以及音频

四,视频播放

序号 项目名称 内容简介 状态
1 video1 SurfaceView播放原始视频 Pending
2 video2 视频裁剪播放,并增加一层遮罩 Pending

相关文档


有问题或建议可以给我邮件

Email: dingjikerbo@gmail.com

You can’t perform that action at this time.