Created
August 23, 2017 12:47
-
-
Save canaanyjn/7f8b5c6f523f275f904fa07d8ec5a374 to your computer and use it in GitHub Desktop.
Video Map
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Main Project | |
---- | |
Grafika | |
https://github.com/google/grafika | |
MediaCodec API Demo | |
http://bigflake.com/mediacodec/ | |
OpenGL ES | |
RoadMap | |
---- | |
grafika 主要是搭建 OpenGL ES 环境 ,接受来自 Camera、Decoder 的输入,然后构建 Shader 进行渲染。渲染到 Android 的 Surface 上。 | |
主要包括输出到 Surface/SurfaceTexture, TextureView, GLSurfaceView, Encoder | |
1. OpenGL ES 的基础知识,如何建立上下文,简单的 Shader 知识 | |
http://wiki.jikexueyuan.com/project/opengl-es-guide | |
https://github.com/CyberAgent/android-gpuimage | |
其中要搞清楚 texture, texture_oes_external, frame buffer 等等, | |
2. 然后完成把 Bitmap 转成 Texture,并且在 OpenGL ES 上渲染,再输出成bitmap,或者输出到 GLSurfaceView 上 | |
3. 完成实时渲染后,再开始学习 bigflack 的 MediaCodec 教程,把实时渲染的 Camera 或者 MediaPlayer 的图像编码,一遍录制一遍编码成 h264 | |
4. 完成在线渲染就可以搞离线渲染了。离线渲染就是在后台把一个视频加滤镜,剪裁。grafka 和 android-gpuimage 上面的 demo 挺多的,可以参照着一步步来 | |
5. 下一步就是你得考虑如何踩坑和多线程优化了,比如引入多线程和阻塞队列来优化编解码 | |
6. 然后就可以自己去写个 渲染引擎了,写一个修图 APP 或者视频编辑器 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment