FFmpeg.so 编译总结

此前项目一直使用的 FFmpeg.so 是我从其他团队项目中直接复制过来的,但原来的项目团队不再维护这个库,其中 x264 模块由于一些版权问题需要剔除,所以需要自己重新编译。在编译的过程中踩了很多坑,以及编译 congfigure 有太多的配置,如何减少整体编译出来的大小也是需要花点精力的,本文主要记录编译流程以及相关配置介绍。

阅读全文

3D LUT 滤镜 shader 源码分析

最近在做滤镜相关的渲染学习,目前大部分 LUT 滤镜代码实现都是参考由 GPUImage 提供的 LookupFilter 的逻辑,整个代码实现不多。参考网上的博文也有各种解释,参考了大量博文之后终于理解了,所以自己重新整理了一份,方便以后阅读理解,对整体代码的实现过程结合LUT的原理进行一个简单整理。

阅读全文

Unity 实现利用 Andorid 能力进行视频渲染播放

在 Unity 中使用 Android 侧提供的视频渲染相关的能力,有两种方案可选:

第一种是将渲染播放页单独做一个页面,在 Unity事件交互的时候打开对应 Activity 页面,或者获取到 Unity 创建的 Acitivity 动态添加 View。

第二种是只借助 Android 的渲染能力,将数据渲染到 Unity 的控件上。

阅读全文

我写了一个场所码小工具(上海实用)

随着新冠疫情的常态化,以上海为例,出示健康码、扫码场所码已经成了每天进出地铁、公司必备操作。对于上班工作,每天的场所码都是同一个地点,对应的场所码图片也不会发生变化,每次扫场所码的时候要不就是前面有很多人一起挤着,或者遇到下雨天不方便等情况。对于我自己而言,我会把场所码保存下来,方便下一次“扫场所码”,但由于存在图库,每次依然需要打开支付宝或者微信选择对应的图片进行扫描,所以就做了个工具,实现:一键打开健康码、自动保存场所码、一键打开存储的场所码。

阅读全文

FFmpeg之AVFrame转Android Bitmap

此前很多工作都设计到使用 FFmpeg 对视频帧进行获取,在 FFmpeg 解码视频文件获取到帧数据结构是 AVFrame, 对于应用层我们没有办法直接拿到进行数据处理,需要转换为 Android 平台特有的处理结构。而我是需要对应的帧图片数据,那么在 Android 侧需要将其转化为 Bitmap ,之前整理的过程中发现了这篇《Android音视频开发】从AVFrame到MediaFrame数组(二)》博客文章 ,觉得写得很不错,非常精简,适合我的需求,于是对齐进行整理,并标注一下自己在过程中遇到的一些坑点。

阅读全文