关于Grafika的RecordFboActivity
来源:互联网 发布:超级sql注入工具教程 编辑:程序博客网 时间:2024/06/06 07:19
这个是为了展示通过FBO录制视频的三种方式,先总结一下,
采用SurfaceView加单个EGLContext,两个Surface,一个是Display Surface,另一个是Video Surface。
三种方式如下:
一、多次绘制,即先切到Display Surface绘制,然后再切到Video Surface绘制,绘制完后swapBuffer推送生效。
二、BlitFrameBuffer,先绘制到Display Surface上,然后切换到Video Surface,将其Read端置为Display Surface,Draw端为Video的Input Surface。再通过BlitFrameBuffer将Display Surface的数据拷到Video Surface。这里没有看到显式地分配FrameBuffer,其实用的是默认的FrameBuffer。
每个EGLSurface都有一个默认的FrameBuffer,挂载着两个Surface,一个负责读,一个负责写。当某个EGLSurface makeCurrent后,接下来的BlitFrameBuffer就是从其Read Surface拷数据写到其Draw Surface。
三,分配FrameBuffer,挂载一个Texture,先绘制到这个纹理上,然后再将这个纹理分别绘制到Display Surface和Video Surface的FrameBuffer上。
此外,还有一种方式,可以分开两个线程,一个渲染Display Surface,一个渲染Video Surface。如果需要共享Texture,则要两个EGLContext是共享的。也可以将Camera的Preview Frame数据分发给两个渲染线程分别绘制,这样就无需共享EGLContext。
- 关于Grafika的RecordFboActivity
- Android之grafika源码阅读
- 引入第三方类库grafika-master
- grafika视频录制详细流程分析
- 关于的关于
- 关于关于_WIN32_WINNT的说明
- 关于动漫 关于不醒的梦
- 关于我,关于本博客的说明
- 关于2010,关于我们的未来
- 关于过去,关于Java的点滴
- 关于MorphiaQuery中关于in的查询
- vxworks中关于关于RTP的工程
- 关于关于ActiveMQ的配置及优化
- 关于github上一个关于lytro的代码
- iOS关于关于动态函数的操作
- 关于nginx服务器关于https的配置文件
- 研二瞎吐槽:关于学习,关于生活,关于未来的工作...
- 关于错误信息的显示
- 栈的基本操作及应用
- python 网络框架twisted基础学习及详细讲解
- 听课笔记(17-8-16)
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- Android非常好用的自定义dialog
- 关于Grafika的RecordFboActivity
- 反向传导算法笔记
- 之字形二叉树
- c++ 中 pair 的 使用方法
- BZOJ 2565 Manacher 解题报告
- LSTM 网络,易理解
- struts2(培训笔记)
- hihocoder 1369: 网络流一·Ford-Fulkerson算法
- mac下xampp+thinkphp运行htdocs文件夹下所建项目index.php报错的解决方案