让IjkPlayer支持插入自定义的GPU滤镜

最近因为工作的原因,需要提供一个将我们的AiyaEffectsSDK插入到IjkPlayer中的示例,就不得不好好看了下IjkPlayer的代码。在IjkPlayer中并没有提供设置自定义GPU滤镜的接口,所以最后只能自己动手,以求丰衣足食了。不得不说,Bilibili开源的这个IjkPlayer播放器的确非常强大,代码设计的非常清晰,仔细看看,能学到不少东西。IjkPlayer源码获取及编译方法源...
阅读(321) 评论(2)

打油诗——和代码的青春七年

车马停啸禁鸣笛,惊觉高考正当期。遥记七载前尘里,朝朝起舞在闻鸡。 寒窗苦读五千日,无谓旰食又宵衣。常叹双亲辛劳苦,学富五车累何惜。 命途波澜起二度,百万同台争高低。汗流浃背心忐忑,唯恐临考遇宕机。 有幸求学进江理,辞别湖广入江西。军训完毕见教授,始信至此上大一。 初识编程坠云雾,雾里看花亦着迷。程序惊艳贪吃蛇,项目驱动五子棋。 白日尽归实验室,夜来关门入微机。三周入门C语言,月旬画虎会画皮...
阅读(2097) 评论(35)

GLSurfaceView的简单分析及巧妙借用

学习在Android中使用OpenGLES,就不得不提到一个控件:GLSurfaceView。本篇博客将介绍GLSurfaceView的基本使用、GLSurfaceView的源码的简单分析,以及使用GLSurfaceView渲染图像到SurfaceView/TextureView或者PBuffer上等。关于GLSurfaceViewGLSurfaceView继承了SurfaceView,实现了Sur...
阅读(545) 评论(1)

CMake入门笔记

什么是CMakeCMake CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makef...
阅读(169) 评论(0)

和代码的青春七年

前两天,看到CSDN官方博客上的征文《从高考到程序员》。一瞬间,从高考到现在,七年的光景涌现在心头。从离家进入江西理工,到现在流落深圳。从对编程一无所知,到现在成为一个“资深”老码农。也从一个学生,成为一个社会工作者。无论身份还是心态,都发生巨大的变化。七年后的今天,没变的,可能就是一如既往的贫穷。这个贫穷,不仅是说物质,更多的是于知识。  是的,在程序猿的道路上越走越远,学到的东西越多。可是正是因...
阅读(1543) 评论(16)

类似FaceU贴纸功能的快速实现:AiyaEffects项目求Star

自去年Faceu火爆朋友圈,QQ在拍照、视频聊天中加入了动态贴纸的功能之后,妹子们拍照已经不满足于仅仅瘦脸、磨皮、大眼等对图片的处理。于是一个不能加猫耳朵卖萌的手机相机软件,都不好意思说自己是个相机了。那么如何快速让自己的相机快速拥有这种加猫耳朵类似的功能呢?AiyaEffectsSDK会是一个非常不错的选择。先上几张图: 关于 AiyaEffectsSDKAiyaEffectsSDK是由深圳哎吖...
阅读(1293) 评论(5)

Android OpenGLES2.0(十七)——球形天空盒VR效果实现

在3D游戏中通常都会用到天空盒,在3D引擎中也一般会存在天空盒组件,让开发者可以直接使用。那么天空盒是什么?天空盒又是如何实现的呢?本篇博客主要介绍如何在Android中利用OpenGLES绘制一个天空盒,并实现VR效果。天空盒、天空穹、天空球和VR虽然大多数人知道这些东西是啥,但是我觉得我还是有必要把他们的定义“搬”过来,万一有人不知道呢。 天空盒(Sky Box)是放到场景中的一个立方体,经常是...
阅读(5640) 评论(15)

Android FFMpeg(三)——使用FFMpeg解码h264、aac

前面博客记录了FFMpeg的编译,编译后我们可以拿到FFMpeg的动态库和静态库,拿到这些库文件后,通常我们需要做个简单的封装才能在Android上层愉快的使用。本篇博客的是从拿到FFMpeg静态库到使用FFMpeg解码视频的过程,记录尽可能的详尽,可能会让博客的篇幅略长。准备工作库文件本篇博客的示例是利用FFMPeg静态库进行解码的,所以首先我们需要得到FFMpeg的静态库,编译可以参照之前的两篇...
阅读(846) 评论(3)

Win10&Linux下Apache2+PHP7+Mysql安装以及创建Laravel项目

Win10开启开发者选项,可以安装Linux子系统,系统为:Ubuntu 14.04.5 LTS。进入cmd命令行,输入bash命令,可进入Linux bash(第一次需要安装)。进入bash后,和在真正的Ubuntu 14.04.5系统的bash中就基本没什么区别了。安装步骤更新源sudo apt-get update sudo apt-get upgrade安装Apache2sudo apt-g...
阅读(498) 评论(0)

Android Camera API/Camera2 API 相机预览及滤镜、贴纸等处理

Android Lollipop 增加了Camera2 API,并将原来的Camera API标记为废弃了。相对原来的Camera API来说,Camera2是重新定义的相机 API,也重构了相机 API 的架构。初看之下,可能会感觉Camera2使用起来比Camera要复杂,然而使用过后,你也许就会喜欢上使用Camera2了。无论是Camera还是Camera2,让相机遇到OpenGL就比较好玩...
阅读(2690) 评论(16)

Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)

在Android OpenGLES2.0(十四)——Obj格式3D模型加载中实现了Obj格式的3D模型的加载,加载的是一个没有贴图,没有光照处理的帽子,为了呈现出立体效果,“手动”加了光照,拥有贴图的纹理及光照又该怎么加载呢?模型文件本篇博客例子中加载的是一个卡通形象皮卡丘,资源是在网上随便找的一个。加载出来如图所示: obj内容格式如下:# Wavefront OBJ file # Expor...
阅读(851) 评论(1)

Android OpenGLES2.0(十五)——利用EGL后台处理图像

在Android OpenGLES2.0(十二)——FBO离屏渲染中,记录了采用FBO进行离屏渲染的方式来进行后台处理图像,但是在使用时,示例中还是用到了GLSurfaceView控件来提供GL环境。怎样完全抛开GLSurfaceView来进行图像处理呢?OpenGLES和EGL OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的...
阅读(1019) 评论(2)

Android FFMPeg(二)——FFMpeg+libx264编译

前面博客Android FFMpeg(一)——编译FFmpeg中记录了在windows中利用MinGW和Msys编译FFMpeg的步骤。FFMpeg中带有264的解码,没有264的编码,需要编码功能的话,可以使用x264这个库。准备编译环境win10 中内置了Linux子系统,使用win10的话,可以开启linux子系统的功能,就不需要去安装MinGW和Msys之类的软件了。开启方法也很简单:第一步...
阅读(483) 评论(2)

Android视频编码——RGBA、RGB、BGRA、BGR转YUV420P、YUV420SP

做视频处理一般都会涉及到RGBA与YUV颜色格式的相互转换,理论知识就不多说了,直接贴出转换公式来: Y’= 0.299*R’ + 0.587*G’ + 0.114*B’ U’= -0.147*R’ - 0.289*G’ + 0.436*B’ = 0.492*(B’- Y’) V’= 0.615*R’ - 0.515*G’ - 0.100*B’ = 0.877*(R’- Y’)...
阅读(1267) 评论(11)

Android OpenGLES2.0(十四)——Obj格式3D模型加载

在博主《OpenGLES系列》文章中,最开始的几篇讲的就是OpenGL世界中各种形体的构建,但是那些形体都是规则的简单形体,遇到复杂的形体,比如说一个人、一朵花,怎么办呢?自然是通过其他工具类似于Maya、3DMax等3D建模工具,做好模型导出来,然后用OpenGLES加载导出的模型文件。模型的加载大同小异,本篇博客是以Obj格式的3D模型为例。 模型文件 本篇博客例子中加载的是一个帽子,...
阅读(2035) 评论(9)
44条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:87112次
    • 积分:1500
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:0篇
    • 译文:0篇
    • 评论:253条
    微信或支付宝打赏
      
    QQ或微信交流
      
    博客专栏
    最新评论