自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Android通过PBO读取像素信息并根据实际情况决定是否启用PBO

在OpenGL ES 3.0之后也就是在Android7.0之后支持了PBO,PBO允许异步地将数据从CPU传输到GPU或从GPU传输到CPU,以提高性能并减少数据传输的延迟,但是在一些设备使用PBO后copy像素的耗时较长,并不能提速。结论:经过Pixels,VIVO,SAMSUNG,XIAOMI,OPPO多设备,多机型测FBO的方案更加耗时,而且需要升级到OpenGLES 3 因此建议直接采用原始glReadPixels的方式读取像素。

2024-03-27 15:51:46 296

原创 优雅的处理LiveData数据倒灌并解决内存泄露的问题

网上给的防止数据倒灌的很多都有内存泄露风险,原因在于Observer对象变了,在removeObservers的时候就无法把Observer移除掉,在多次调用observe之后就会出现内存泄露问题。

2024-03-20 14:10:08 206

原创 Android打包cannot find symbol import androidx.annotation.NonNull

不知道从什么时候开始 implementation(“androidx.annotation:annotation:1.1.0@jar”)会导致打包失败,需要改成。这样就能解决Android打包类似下面的问题。

2024-03-08 11:27:54 739 1

原创 音视频开发实战03-FFmpeg命令行工具移植

作为一个音视频开发者,在日常工作中经常会使用ffmpeg 命令来做很多事比如转码等等,一个简单的命令就可以解决很多事情,如果通过执行一些命令就能完成日常开发工作,那么能极大的提升我们的开发效率,但是这些命令只能在PC上使用,在移动端是无法直接使用的,这也就引出了这篇文章的所要讲的内容–FFmpeg命令行工具编译。

2023-07-13 17:01:09 1199

原创 Android音视频开发实战02-Jni

Android JNI实战教程

2023-06-16 21:30:31 2711 3

原创 Android音视频开发实战01-环境搭建

基于FFmpeg6.0编译之后,搭建了Android FFmpeg开发环境

2023-06-16 21:07:57 1828

原创 如何从视频中分离音频/提取音频/提取视频

如何从视频中分离音频/提取音频/提取视频

2022-07-10 10:55:46 1400 1

原创 如何专业查看视频/音频/图片信息

该方法几乎支持所有视频格式如:MP4,RM,AVI,MOV,和音频格式如:MP3,m4a,AAC,以及常见的图片格式如:jpeg,GIF,jpg,png

2022-07-03 16:31:50 3194

原创 wordpress 功能小组件去掉/项目feed/评论feed/WordPress.org

WordPress装好以后一个很烦人的问题,就是他的功能小组件有很多不是我们想要的,如图:我们只是想要登录注册功能,其它的删除掉,话不多说开干。我的WordPress是5.6的,系统是Ubantu,安装路径是/var/www/html/wordpress,供大家参考。我们要修改是class-wp-widget-meta.php文件,在/wordpress/wp-includes/widgets目录下面,选中的就是我们要删除的内容:删除后如图:现在我们刷新一下网页就舒坦了:...

2020-12-10 15:33:20 1114

原创 Android给视频添加背景音乐的解决方案

源码地址:https://www.bzblog.online/wordpress/index.php/2020/07/24/addbgmusic/在处理视频背景音乐的时候一般有两种方案:在视频原声的基础上添加背景音乐用背景音乐替换掉视频原声方案一,在视频原声的基础上添加背景音乐,同时支持调整视频原声与背景音乐声音的大小:思路用FFmpeg调用命令行的方式来做就好了,但是需要区分视频是否有音频,这个需要分开处理,这种对输入的背景音乐格式没有严格的要求,取决于FFmpeg编译的时候选择支持的音频格

2020-07-24 17:05:00 1530 2

原创 开源一个Android 音视频库,包含了视频录制,编解码,以及编辑,和常见的OpenGL,FFmpeg操作

BZMedia 是一个Android 音视频库,包含视频录制,视频编解码,视频编辑,常见的OpenGL操作项目介绍:这套音视频库包含了常见的音视频处理技术,服务于用户量高达到8亿的APP,里面使用的技术在市场上深度验证过,现在逐步整理出来然后开源,共大家学习交流源码地址:https://www.bzblog.online/wordpress/index.php/2020/07/11/bzmedia/版本更新记录:V1.0.3 支持的主要功能是视频录制:支持的采集源有YUVI420,YV12,

2020-07-11 21:43:56 1488

原创 Android裁剪/切割/分离YUV同时支持Camera1 Camera2

在Android中使用Camera避免不了操作YUV,但是我们经常会遇到在不同手机上Camera出来的尺寸不是我们想要的,这个时候就需要裁剪了,最优办法当然是从源头YUV进行处理,一是YUV相对来说数据量较小,二是在源头上处理了,可以为后续流程节省CPU算力开销。如果你们在整个工程中用的是Texture,我也有解决方案,稍后放出来。源码地址与Demo:https://www.bzblog.online/wordpress/index.php/2020/07/08/yuvcrop/首先我们要知道And.

2020-07-08 17:52:12 927

原创 Android FFmpeg命令行工具支持进度回调

本工程是基于FFmpeg4.2.3,在工程里面也有一个3.3.2的版本,有需要的可以自己去Git库里面checkout,工程17年就做好了,一直没有开源,原谅我懒,哈哈哈源码地址:https://www.bzblog.online/wordpress/index.php/2020/06/29/bzcmdffmpeg/工程支持进度回调,移动端常用的的功能都支持,如果需要支持更多的功能需要重新编译FFmpeg,请参考我之前的编译工程:https://www.bzblog.online/wordpress.

2020-06-29 10:07:23 639

原创 使用paddlehub/paddlepaddle/飞桨做人像分离/并替换背景

paddlehub是基于百度paddlepaddle/飞桨的深度学习模型开发工具,paddlepaddle地址:https://www.paddlepaddle.org.cn 上面有很多模型,也有很多学习资料,建议去看看今天要分享的是用paddlehub做人像分离,但是我测试结果表明用paddlehub做人像分离效果还是可以,但是要达到PS那种连头发丝都都扣出来还是有不小的差距。环境安装1.首先你得安装Python32.然后安装paddlepaddle去这个地址选择你要安装的..

2020-06-23 10:27:14 886

原创 ijkplayer使用AndroidStudio/CMake编译

工程地址:https://www.bzblog.online/wordpress/index.php/2020/06/17/bzijkplayer/ijkPlayer是一款基于FFmpeg下很优秀的视频播放器,是值得我们去看看源码学习一些,但是原先的代码组织方式不方便查看源码以及不方便debug于是我就在Android下面使用CMakeLists.txt把工程改写了一下,现在可以很方便的看到代码调用流程以及debug,并且没有改动任何源码,最后改写后的CMakeLists.txt如下:# For mor

2020-06-17 09:15:45 834 16

原创 Android让VideoView填充满屏幕/父布局并保证不变形

在Android中简单的播放一下视频选用VideoView是一个不错的选择,各个厂商在出厂的时候一般都会测试视频播放,这个兼容性一般都能得到保证,而且使用VideoView播放会自动的纠正视频角度,但是有一个问题VideoView在使用过程中总是有一些空白区域留出来,很多时候我们想让他填充满屏幕,或者说父布局,于是就有了今天的议题(当然也可以通过OpenGL来自己画视频,想显示成什么样子就显示成什么样子,只不过这个相对来说麻烦一点)。首先VideoView在使用的时候有一个坑,就是在初始化的时候一定要.

2020-06-05 17:57:30 2919

原创 Android音视频开发-01 FFmpeg 在Android下的编译/FFmpeg building for Android

x264下载地址https//www.videolan.org/developers/x264.html需要注意的是x264的开源协议是GPL的,在使用的过程中请遵守开源协议,或者不使用x264进行编码。做音视频开发怎么都绕不过FFmpeg,FFmpeg是一个非常优秀的音视频C语言库,我们见到的有关音视频软件都是基于FFmpeg开发的,因此做Android音视频开发的第一步就是需要编译FFmpeg。FFMpeg下载地址http//ffmpeg.org/download.html。.........

2020-05-26 14:26:35 409

原创 Android YUV转换,支持Camera1,Camera2

之前基于RenderScript写了一个YUV转RGBA的工程,地址:https://www.bzblog.online/wordpress/index.php/2020/01/19/yuvrenderscript/ 喜欢的可以去看看,比Android原生的ScriptIntrinsicYuvToRGB要强大很多,但是近期在使用的过程中发现RenderScript比Google的libyuv速度要慢很多,于是我又基于libyuv写了一个YUV转换的工程,同时支持Camera1,Camera2输出的YUV转换

2020-05-25 14:57:44 608

原创 libyuv在Android下的编译

libyuv是Google开源的一款处理YUV的底层库,下载地址:https://chromium.googlesource.com/libyuv/libyuv 可惜这个地址被墙了,我下载下来了,放到我服务器上了,地址:https://www.bzblog.online/public/libyuv.zip 好了接下来就是编译了,首先我们新建一个文件夹叫libyuvbuild,让后把libyuv目录拖进去,并重命名为jni(这么做事为了方便ndk-build),如图所示:然后就是修改Android.mk

2020-05-13 18:17:35 1065

原创 OpenCV下载/OpenCV国内镜像/opencv_contrib下载

最近用了一些OpenCV的东西,但是OpenCV不管是从官网下载还是从GitHub下载都是超级慢,体验烂透了,于是我就搭了梯子从3.0.0开始全部下载下来了,放到了我的服务器上,方便后来者下载,自身的服务器带宽有限,单用户下载速度100多kb, 但是也快很多了下载地址:https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvd......

2020-03-09 15:41:03 143639 318

原创 史上最强的YUV转换RenderScript,支持转换成RGBA,BGRA,并且同时支持旋转,翻转,YUV数据格式支持NV21, YV12, YUV420_888, 分别对应Android Camer

史上最强的YUV转换RenderScript,支持转换成RGBA,BGRA,并且同时支持旋转,翻转,YUV数据格式支持NV21, YV12, YUV420_888, 分别对应Android Camera1API 以及Camera2 API 的YUV处理​ 这段时间在做一些Android Camera数据处理的相关工作,涉及到YUV转RGBA的事情,由于对性能要求极高我先后采用了多种方案,最开...

2020-01-19 18:19:27 2280 3

原创 Dlib 在Android的编译

Dlib 在Android的编译1.首先下载最新的Dlib源码,地址:http://dlib.net,代码依赖一个模型,下载地址:http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz22.新建一个Native C++的工程,如图所示:3.把第一步下载的文件全部copy到cpp下面,如图所示:4.如下修改CMakeL...

2019-12-31 11:53:53 966

原创 Failed resolution of: Lcom/growingio/android/sdk/agent/VdsAgent;解决方案

Failed resolution of: Lcom/growingio/android/sdk/agent/VdsAgent;

2017-06-12 11:31:17 3101 5

原创 Unable to start activity com.unionpay.uppay.PayActivity

Unable to start activity com.unionpay.uppay.PayActivity这个异常是由于银联更新了支付API,导入新的就好了,具体集成请看附件

2015-10-27 23:21:44 2114

原创 android隐藏View动画的注意事项

android动画有一个特性就是View在隐藏的时候执行动画,View会显示出来,不管这个View是invisible还是gone掉了.我们公司现在有这样一个需求,现在有一个圆盘,要在圆盘外面有一个一个按下的动画(就是出现一个白色的180度圆弧,但是为了节省内存,只准使用一段圆弧图片,其他的就自己去做动画旋转来使用,很操蛋的....),通过按键位置来判断动画旋转的角度这个是中学问题了,这里就不说了...

2015-03-30 22:27:21 1119

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除