android摄像头采集和预览-小结介绍

简述

在移动流媒体行业入坑三年出头了,虽然服务端和移动端都有做过,感觉更擅长的还是移动端,能在这个行业走这么长时间,还要多谢各位大神的博客。
我要向各位大神学习,也慢慢的开始写博客,整理整理零散的技术。
如有错误之处,请多多指教

几种方法介绍

1. SurfaceView + setPreviewDisplay + setPreviewCallbackWithBuffer

这种之前用的比较多的方式,也是我认为比较原始的方式
使用 setPreviewDisplay 将图像渲染到 SurfaceView 上,然后setPreviewCallbackWithBuffer获取图像数据

2. GLSurfaceView + setPreviewTexture + opengl-es

这种方式现在比较常用了
在GLSurfaceView的onSurfaceCreated函数中创建SurfaceTexture,然后摄像头通过setPreviewTexture将图像渲染到SurfaceTexture,有图像更新时会触发onFrameAvailable回调,将图像填充到与SurfaceTexture关联的纹理id上,
使用opengl-es将纹理渲染到屏幕上完成预览。

3. SurfaceView + setPreviewTexture + opengl-es + egl

与第2中方法差不多,区别是使用SurfaceView而没有使用GLSurfaceView
有了纹理id,只需要通过egl的方式将纹理渲染到SurfaceView上就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值