自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

音视频开发进阶

Android 应用开发、Camera、NDK、图形图像、FFmpeg 等音视频相关开发经验与积累,公众号【音视频开发进阶】

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

转载 Android OpenGL ES 实现 3D 阿凡达效果

3D 效果的壁纸本文实现的效果偶然间,看到技术交流群里的一位同学在做类似于上图所示的 3D 效果壁纸,乍一看效果确实挺惊艳的。当时看到素材之后,马上就萌生了一个想法:利用 OpenGL ...

2020-05-30 09:00:00 911

转载 如何理解图片采样,这应该算是基础知识吧?

前言最近线上有用户反馈在App使用过程中遇到大图的时,App异常的卡顿,甚至会出现崩溃的情况。后来排查了一番,发现一个同事在处理图片时,直接原图加载没有做任何“压缩”。这个case的出现...

2020-05-29 08:32:00 1065

转载 错误终结者:Fragment在ViewPager中的正确应用

前言创作过程:2020年5月22下午4点左右开始写,晚上9点55写下尾声。晚上11点-12点补充第五、第六部分。有段时间没写文章了,这次不是因为懒...而是的确很忙,最近在重构项目里的一...

2020-05-28 08:30:00 332

转载 【数字视频技术介绍】| 编码中的时间冗余和空间冗余

公众号回复:666,领取学习资源大礼包这是一份循序渐进的视频技术的介绍,来自 Github 仓库:https://github.com/leandromoreira/digital_vi...

2020-05-28 08:30:00 4934 1

转载 【数字视频技术介绍】| 视频帧类型(I 帧、P 帧、B 帧)

公众号回复:666,领取学习资源大礼包这是一份循序渐进的视频技术的介绍,来自 Github 仓库:https://github.com/leandromoreira/digital_vi...

2020-05-27 08:23:00 2295

转载 Unity手游实战:从0开始SLG——客户端技术选型

项目背景所谓选型,我认为就是为了实现某(些)个需求或者解决某(些)个问题所使用的解决方案。它可能是一个技术方案,也可能是一个管理方案,也可以是一个软件、工具或者是流程规范。这篇的主题是技...

2020-05-27 08:23:00 659

转载 没想到,快手成了“生产力”

浅友们大家好~我是史中,我的日常生活是开撩五湖四海的科技大牛,我会尝试各种姿势,把他们的无边脑洞和温情故事讲给你听。如果你特别想听到谁的故事,不妨加微信(微信号:shizhongmini...

2020-05-26 08:22:00 1884

转载 libyuv的编译与使用

libyuv是Google开源的实现YUV数据格式转换,旋转,缩放和镜像等操作的库。编译使用cmake+ndk来编译.so文件在新建的AS工程中建一个module--libyuv,该mo...

2020-05-25 08:31:00 2311 1

转载 【数字视频技术介绍】| 消除冗余 之 颜色模型

公众号回复:666,领取学习资源大礼包这是一份循序渐进的视频技术的介绍,来自 Github 仓库:https://github.com/leandromoreira/digital_vi...

2020-05-25 08:31:00 814

转载 数字视频技术介绍 之 基本术语

公众号回复:666,领取学习资源大礼包这是一份循序渐进的视频技术的介绍,来自 Github 仓库:https://github.com/leandromoreira/digital_vi...

2020-05-24 09:00:00 1237

转载 从Bitmap中获取YUV数据的两种方式

从Bitmap中我们能获取到的是RGB颜色分量,当需要获取YUV数据的时候,则需要先提取R,G,B分量的值,然后将RGB转化为YUV(根据具体的YUV的排列格式做相应的Y,U,V分量的排...

2020-05-23 09:00:00 1557

转载 一加8 Pro如何优化120Hz屏幕

前言今天同事买了一台一加8Pro,当然话不多说,先拿来给我们研究一下,看看一加是如何优化120Hz屏幕的。一、1加7 Pro上90hz的优化方案首先我们先来看看90hz上如何优化的,采用...

2020-05-23 09:00:00 1916

转载 OpenGL ES 实现实时音频的可视化

旧文中我们利用 OpenGL 给小姐姐实现了瘦身、大长腿、瘦脸大眼、大头小头以及摇头效果,小姐姐颇为满意。可视化实时音频1音视频数据的采集OpenGL 实现可视化实时音频的思路比较清晰,...

2020-05-22 08:27:00 944

转载 UC浏览器视频播放缓存以及视频下载分析

PC时代,浏览器几乎是上网的唯一入口,那时候,得浏览器得天下,大家都想守住这个流量入口,为自家的服务导流。移动互联网时代,繁多的App分割了浏览器的流量,浏览器失去了平台流量的入口地位,...

2020-05-21 08:27:00 9396 1

转载 基于本地代理的边下边播技术分析

1.边下边播技术介绍我们熟知的边下边播技术,是迅雷提供的,还有之前的快播、快车等工具,它们使用的技术基本上都是P2P下载技术。P2P下载技术,本质上它并不是C-S的架构,P2P----&...

2020-05-21 08:27:00 1726

原创 Shader 优化 | OpenGL 绘制网格效果

公众号回复:666,领取学习资源大礼包前几天发布了这样一篇文章:KodeLife | Shader 实时编辑预览的强大工具使用实践除了介绍 KodeLife 的使用之外,还附带了一个 S...

2020-05-20 09:50:22 3491

转载 或许是迄今为止第一篇讲解 fps 计算原理的文章吧

前言fps,是 frames per second 的简称,也就是我们常说的“帧率”。在游戏领域中,fps 作为衡量游戏性能的基础指标,对于游戏开发和手机 vendor 厂商都是非常重要...

2020-05-20 09:50:22 3499 2

转载 抓紧!! 花 85 买 200 的书,520 薅当当羊毛了!!

薅当当羊毛的机会又!双!!叒!!!叕!!!来了520书粉节当当网百万自营图书>> 每满100减50 <<满200减100以为只有这样?秉持绝不让大家多花一分钱...

2020-05-19 08:30:00 349

转载 Bug是怎么产生的?

1、老板:我要修个房子,最快要多久?程序员:怎么也得一个月吧,打地基、准备材料,搭框架、装修…老板:太慢了!地基不要了,你1个人要1个月是吧,我再给你找29个人,明天能修完吗?程序员:基...

2020-05-18 09:30:00 176

转载 HashMap原理&技术知识整理

HashMap涉及的技术点非常多,典型的数据结构和算法有机结合,JDK对HashMap优化变化中不断权衡时间复杂和空间复杂度。一. 存储结构1.JDK1.8之前 HashMap = 数组...

2020-05-17 09:30:00 146

原创 KodeLife | Shader 实时编辑预览的强大工具使用实践

公众号回复:666,领取学习资源大礼包经常有朋友在群里面问想学习 Shader 有什么工具可以推荐?今天它来了~~~推荐一款强大的 Shader 实时编辑预览的工具 —— KodeLif...

2020-05-17 09:30:00 1911

转载 【温故知新】你对 Context 还了解多少呢 ?

公众号回复:666,领取学习资源大礼包作者:Geekholt链接:https://www.jianshu.com/p/492ec35ea552目录前言在Android应用进程的创建 — ...

2020-05-16 09:30:00 284

转载 锦囊篇|一文深入Handler

前言在日常开发中,我们势必会使用到子线程和UI线程的通信,而起着桥梁作用的就是我们常用的Handler。但是他的内部是怎么运作的?运作的过程中存在什么问题?需要我们注意,本文将会详细讲解...

2020-05-16 09:30:00 248

转载 小姐姐说,我头都被你气大了,怎么办?

旧文中我们利用 OpenGL 给小姐姐实现了瘦身、大长腿效果以及瘦脸大眼效果,小姐姐苦笑道:我头都被你气大了,怎么办?怎么办?对于一个直男癌晚期的码农来说,这都不是事儿。1大头小头效果大...

2020-05-15 08:17:00 402

转载 面试中的HashMap、Hashtable和ConcurrentHashMap,你知道多少?

前言学过数据结构的读者们想必其实也都学过HashMap,面试官问你的时候,想来你都是很清楚的知道HashMap是怎样的一个构成?确实很简单,就是数组加链表嘛。那再问你Hashtable和...

2020-05-15 08:17:00 320

转载 颜色滤镜

我们手机上有很多照片处理软件,图片滤镜是里面不可或缺的一部分,我们可以先尝试一些很简单的滤镜的算法,管中窥豹地去认识一下色彩的处理demo实现思路先来看一下比较常用的褐色、老照片效果,它...

2020-05-14 08:30:00 256

转载 Glide都在用的LruCache,你学会了吗?

什么是LRU?在了解我们的LRUCache之前自然是需要知道什么是LRU了。先来一段百度百科的“科学”解释:LRU是Least Recently Used的缩写,即最近最少使用,是一种常...

2020-05-14 08:30:00 618

转载 Android小知识-如何加载外部dex文件中的类

想要了解插件化,首先得知道如何加载外部的dex文件,这里的插件APK会存放在主APP的assets目录中,用于模拟服务器下载插件。第一步:创建主项目和插件项目先创建我们的主项目,并在项目...

2020-05-13 08:24:00 381

原创 开通专辑 | 细数那些年写过的技术文章专辑

公众号回复:666,领取学习资源大礼包昨天,公众号后台显示有了专辑功能,终于也被微信灰度测试到了。这专辑功能还是挺不错的,可以把之前写过的系列原创文章都放在一起了。写系列文章的一个好处就...

2020-05-13 08:24:00 237

转载 五分钟了解浏览器工作原理

Web 浏览器无疑是用户访问互联网最常见的入口。浏览器凭借其免安装和跨平台等优势,逐渐取代了很多传统的富客户端。Web 浏览器通过向 URL 发送网络请求来访问 Web 服务器资源,并以...

2020-05-12 08:06:00 991

转载 Hi 小姐姐,这是你要的瘦身大长腿效果?

首先这可能是一个送命题,小姐姐需要瘦身大长腿效果吗?恩,小姐姐都是自带瘦身大长腿的,有没有?OpenGL ES 实现瘦身大长腿效果瘦身大长腿实现原理OpenGL ES 实现瘦身和大长腿效...

2020-05-12 08:06:00 505 1

转载 【音视频连载-011】第二季 FFmpeg 一层一层获取文件信息

公众号回复:666,领取学习资源大礼包本篇文章主要是讲解如何通过 FFmpeg 代码来获取文件信息。首先准备一个文件,用命令行来查看它的基本信息。文件地址如下:https://githu...

2020-05-11 08:20:00 325

转载 还不会十大排序,是准备家里蹲吗!?

动图转载地址:十大经典排序算法动画与解析,看我就够了!(配代码完全版)[1]交换排序冒泡排序对应代码void sort() { // 修剪枝叶的优化方法 // 基于原理:...

2020-05-11 08:20:00 197

转载 视频图像处理中的错帧同步是怎么实现的?

1什么是错帧同步?一般 Android 系统相机的最高帧率在 30 FPS 左右,当帧率低于 20 FPS 时,用户可以明显感觉到相机画面卡顿和延迟。我们在做相机预览和视频流处理时,对每...

2020-05-09 08:16:00 552

转载 移动端技术交流喊你入群啦~~~

最近很多朋友加了我微信,很高兴能够和大家做技术交流讨论。但是由于时间和精力有限,并不能一一与各位深入探讨,只好采取群聊的方式了。早期创建了 OpenGL ES 技术交流群,经历了这么多日...

2020-05-09 08:16:00 450

转载 视频无缝续播的一些解决方案

前言首先题图是前段时间老家刷屏的日晕图...公号已经很久没有更新了,突然想起之前一段时间更新频繁的时候,有粉丝在后台问我这么闲是不是自由工作者的问题。事实上我并不是自由工作者,我也是众多...

2020-05-08 09:39:38 3977

转载 详解Handler中消息队列的入队逻辑

1、源码分析具体分析请见代码注释:/** * 消息队列是以执行时间为序的优先级队列 * * @param msg * @param when * @return */boo...

2020-05-08 09:39:38 394

转载 详解Handler机制中消息队列的出队逻辑

源码解析源码解析请直接见代码注释:@UnsupportedAppUsageMessage next() { // 如果消息循环已经退出并已被释放,则返回此处。 // R...

2020-05-08 09:39:38 319

转载 Android使用OpenGL渲染ffmpeg解码的YUV数据

在《安卓使用SurfaceView绘制ffmpeg解码的视频数据》虽然我们成功地实现了视频的渲染,但是在YUV转换成RGB的时候,我们调用了ffmpeg内部的转换函数,这里面包含大量的计...

2020-05-07 08:28:00 340

转载 【Jetpack更新之Fragment】1.3.0-alpha04 来袭,Fragment 间通信的新姿势

前言fragment 1.3.0-alpha04 发布了,其中有很多变动,其中提供了 fragment 间传递数据的新方式1.3.0-alpha04 更新API 更改首先我们介绍一下 A...

2020-05-07 08:28:00 441

DroidPlugin Android 插件化的实现原理以及在 360 手机助手中的应用

学习了解安卓插件化必备的资源文档。 学习安卓插件化的必要性在于以下几点: 1. 模块化和解耦:插件化允许将应用程序拆分为多个独立的模块,每个模块可以作为独立的插件进行开发和维护。这种模块化的设计可以提高代码的可维护性和可重用性,使开发人员能够更好地解耦应用程序的各个功能模块。 2. 动态更新和灵活性:通过插件化,应用程序可以支持动态加载和更新插件,而无需重新编译和发布整个应用程序。这为应用程序的功能扩展和迭代提供了更大的灵活性,可以快速响应市场需求和用户反馈。 3. 安全性和隔离性:插件化可以提供一定程度的安全性和隔离性。通过将敏感的核心功能放在主应用中,将非核心或可信任的功能放在插件中,可以降低插件对主应用的影响,减少潜在的风险和攻击面。 4. 多团队协作:在大型项目中,不同团队可以独立开发和维护各自的插件,通过定义良好的接口和约定,实现团队间的协作和集成。这种方式可以提高开发效率,同时降低团队之间的耦合度。 5. 功能扩展和定制化:插件化允许应用程序在不修改核心代码的情况下,通过添加、替换或升级插件来扩展和定制功能。这对于提供个性化的用户体验、满足特定需求以及实现各种业

2024-03-17

iOS AudioUnit 教程

iOS AudioUnit 的学习课件和教程

2024-03-15

空空如也

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

TA关注的人

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