# Android Camera Demos
**本项目主要有以下几点内容:**
**一、围绕Android相机的各种Demo,包括预览,RGB转换,视频录制和播放,滤镜等,每种Demo都会给出若干种解决方案**
**二、围绕Android相机及图像音频架构和原理做深入分析**
------
## **一、相机预览**
|序号|项目名称|内容简介|状态|
|--- |-------|-------|------|
|1|GLSurfacePreview|GLSurfaceView + OpenGL相机预览,直接绘制到Display Surface|Done|
|2|GLSurfacePreview2|GLSurfaceView + OpenGL相机预览,先绘制到FBO的Texture上,再处理后(变红)绘制到Display Surface|Done|
|3|GLSurfacePreview3|GLSurfaceView + OpenGL相机预览,直接从相机的输出SurfaceTexture上复制数据到Display Surface|Pending|
|4|SurfacePreview|SurfaceView + OpenGL + EGL相机预览,直接绘制到Display Surface|Done|
|5|SurfacePreview2|SurfaceView + OpenGL + EGL相机预览,先绘制到PBuffer,再Blit到Display Surface|Done|
|6|MultiSurfacePreview|相机预览到两个SurfaceView,共享EglContext,先绘制到Texture,再将Texture处理后Draw到另一个Surface|Done|
## **二、RGB转换**
利用GPU将相机帧(NV21)转成RGB并传至CPU,帧为1920 * 1080,RGBA
另开一个线程做RGB转换,不然如果和相机共用上下文,渲染时需要来回切换,且可能阻塞相机渲染,对性能不利。
|序号|模块名称|内容简介|状态|
|--- |-------|-------|-----|
|1|RgbConverter1|从Display Surface直接readPixels,性能很差,~550ms|done|
|2|RgbConverter2|从Pbuffer调readPixels,性能有较大提升,~30ms|done|
|3|RgbConverter3|从FBO调readPixels,性能比PBuffer稍好一点,~27ms|done|
|4|RgbConverter4|从FBO读到PBO,readPixels阻塞, glMapBuffer阻塞,~11ms|done|
|5|RgbConverter5|从Pbuffer读到PBO,readPixels异步, glMapBuffer阻塞,~6ms|done|
|6|RgbConverter6|Transform Feedback|pending|
这里方式4和5的结果差别的原因暂时没搞清楚,方式5是从Pbuffer的默认FBO读到PBO,方式4是另开的一个FBO读到PBO,这两种应该没太大区别,而结果表明方式5比较理想,glReadPixels应该是异步,阻塞只在glMapBuffer。
## **三,视频录制**
|序号|项目名称|内容简介|状态|
|--- |-------|-------|----|
|1|recorder1|GLSurfaceView + MediaMuxer,不共享EglContext,只能录制相机预览|Done|
|2|recorder2|SurfaceView + MediaMuxer,共享EglContext,可以录制整个Surface|Done|
## **四,视频播放**
|序号|项目名称|内容简介|状态|
|--- |-------|-------|----|
|1|video1|SurfaceView播放原始视频|Pending|
|2|video2|视频裁剪播放,并增加一层遮罩|Pending|
------
有问题或建议可以给我邮件
Email: dingjikerbo@gmail.com
没有合适的资源?快使用搜索试试~ 我知道了~
Android-Camera-master.zip_android camera_camera_camera record
共343个文件
png:110个
java:102个
xml:67个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 134 浏览量
2022-09-23
19:11:12
上传
评论
收藏 1.02MB ZIP 举报
温馨提示
这是一个实现相机录制的源码,其中使用了record,来进行录制
资源推荐
资源详情
资源评论
收起资源包目录
Android-Camera-master.zip_android camera_camera_camera record (343个子文件)
gradlew.bat 2KB
copy.cpp 3KB
camera.cpp 2KB
.DS_Store 8KB
.gitignore 125B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
yuv_fragment.glsl 472B
tex_fragment.glsl 400B
filter_tex_fragment.glsl 328B
filter_tex_fragment.glsl 328B
yuv_vertex.glsl 235B
tex_vertex.glsl 196B
filter_tex_vertex.glsl 196B
rect_vertex.glsl 178B
rect_fragment.glsl 92B
build.gradle 1KB
build.gradle 1KB
build.gradle 998B
build.gradle 994B
build.gradle 993B
build.gradle 993B
build.gradle 992B
build.gradle 989B
build.gradle 945B
build.gradle 924B
build.gradle 924B
build.gradle 880B
build.gradle 499B
settings.gradle 213B
gradlew 5KB
gradle-wrapper.jar 52KB
EglCore.java 13KB
BaseMovieEncoder.java 11KB
CameraSurfaceView.java 8KB
CameraHelper.java 8KB
CameraSurfaceView.java 7KB
GlUtil.java 7KB
YUVProgram.java 7KB
EglSurfaceBase.java 6KB
CameraSurfaceRender.java 6KB
ShaderHelper.java 5KB
MediaEncoderCore.java 5KB
BaseSurfaceView.java 5KB
AudioEncoderCore.java 5KB
RgbConverter4.java 4KB
CameraSurfaceView.java 4KB
VideoEncoderCore.java 4KB
CameraSurfaceView.java 4KB
CameraSurfaceRender.java 4KB
CameraSurfaceView.java 4KB
WindowSurface.java 3KB
RgbConverter.java 3KB
CameraSurfaceRender.java 3KB
MainActivity.java 3KB
EventDispatcher.java 3KB
CameraSurfaceRender.java 3KB
RgbConverter3.java 3KB
MiniSurfaceView.java 3KB
SingleRgbConverter.java 3KB
RgbConverter5.java 3KB
TextureProgram.java 3KB
FilterTextureProgram.java 3KB
CameraSurfaceRender.java 2KB
DataCopy.java 2KB
MainActivity.java 2KB
AndroidMuxer.java 2KB
FaceRender.java 2KB
MainActivity.java 2KB
Rect.java 2KB
LaunchActivity.java 2KB
MainActivity.java 1KB
BaseApplication.java 1KB
NativeCopy.java 1KB
MainActivity.java 1KB
MovieEncoder1.java 1KB
LaunchActivity.java 1KB
ResourceUtils.java 1KB
OffscreenSurface.java 1KB
LogUtils.java 1KB
ShapeProgram.java 1KB
VertexArray.java 1KB
RgbConverter2.java 1KB
BaseActivity.java 1021B
ShaderProgram.java 1004B
MainActivity.java 880B
MainActivity.java 867B
MainActivity.java 866B
MovieEncoder2.java 802B
ExampleInstrumentedTest.java 786B
共 343 条
- 1
- 2
- 3
- 4
资源评论
我虽横行却不霸道
- 粉丝: 73
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功