前言 最近一直在整理草稿箱,发现两年前记载过Coil图片加载框架的笔记以及部分源码分析,相比于似乎是上个时代的Fresco,Coil似乎是新时代产物:轻量,易拓展,优雅,完全...
前言 最近一直在整理草稿箱,发现两年前记载过Coil图片加载框架的笔记以及部分源码分析,相比于似乎是上个时代的Fresco,Coil似乎是新时代产物:轻量,易拓展,优雅,完全...
前言 我们在前面的几篇文章中介绍了MP4的视频文件格式,以及MP4文件内封装的AAC音频数据格式和H.264视频码流。 FFmpeg开发——深入理解MP4文件格式[https...
前言 前文我们分析了MP4文件封装格式,以及MP4文件中的AAC音频的数据格式,接下来我们需要了解一下MP4文件中的视频数据经常采用的h.264编解码方法以及其中涉及到的一些...
前言 前一篇文章我们分析了MP4文件的文件格式,接下来我们深入文件内,分析它的数据格式,今天我们主要主要分析的是音频格式AAC。AAC全称Advanced Audio Cod...
前言 上上篇文章我们实现了一个小demo:通过ffmpeg读取视频,然后截取一帧或几帧视频帧,转换色彩空间YUV为RGB,然后保存为图片。展示了ffmpeg开发的基本方法,当...
前言 前面我们通过介绍音视频的基本概念,ffmpeg基本工作框架,以及使用一个小demo来实践我们的知识,可以说算是对ffmpeg有了一个基本的认识。 接下来想要在目前的基础...
前言 书接上回,我们比较详细的介绍了ffmpeg开发过程中会接触到的主要结构体,当然,其实还有AVFilter模块,但是对于初学者而言,忽略掉过滤器部分也无伤大雅,并不影响对...
前言 书接上回,我们介绍了ffmpeg的一些基础知识,使用方法,接下来介绍如何使用ffmpeg进行开发,所谓使用ffmpeg进行开发,就是依赖它的基础库,调用它的API来实现...
关于ffmpeg 关于ffmpeg,我们首先需要知道它是什么,ffmpeg官网对ffmpeg进行了定义: 一个针对音视频的录制/转换/串流传输的跨平台解决方案。 当然,在ab...
前言 前文讲到Android音视频开发框架中的上半段:音视频的创建,编码,保存,这个属于音视频资源生产端的过程。在消费端,还需要经历读取,解码,播放这三个节点。 音视频读取 ...
前言 音频或者视频,是今天互联网上被使用得最广泛也最受欢迎的信息媒介,可以肯定这个趋势为未来很长一段时间都不会改变,因此对于开发者而言,深入的了解这块内容是很有必要的。 音视...
前言 对于操作系统而言,图形显示部分是非常重要的一个模块,用来承载用户交互与内容展示,因此本文其实无法对Android的显示系统做非常详尽的分析,因为如果那样的话可能需要一个...
颜色编码 视频,本质上就是一连串的静态图片的播放过程。因此我们对于视频的的讨论都可以回到图片中去。 对于图片而言,可以分为两种颜色编码方法来表示图片:RGB和YUV。 RGB...
在音频开发过程中,总会面对很多音频领域的一些专业名词,如果不能理解这些名词,可能会对开发领过程造成极大的困扰,在进入一些新领域时,熟悉这个领域常用的概念是很有必要的,可以极大...
在上一篇文章中,我们解释了操作系统的虚拟内存的概念和实现原理,以及基于此的native hook的实现原理,接下来我们要讲的就是native hook的一种实现:plt/go...
前言 根据前面两篇文章所介绍的ELF文件的结构。如何实现native hook已经初具雏形,但是如果你仔细思考会发现一个盲点,那就是我们分析ELF文件时,是存盘存储的格式,但...
前言 上一篇文章我们介绍了ELF文件的整体结构,可以说操作系统就是ELF Header,SHT,PHT来获得可执行程序的操作说明书的。但是对于ELF文件内部的具体细节仍然值得...
前言 我们常说CPU只认识0和1,操作系统运行程序的过程就是在读取程序包中的机器码并执行的过程。可执行程序的文件确实主要由机器码组成,但是这些保存在磁盘中的的0、1机器码并不...
在之前的文章中,我们熟悉了JNI的代码实现,并尝试手写了一个JNI的demo,实现了Java与cpp层的沟通。但是如果仔细思考还是会有一些困惑,Java和cpp最开始究竟是如...
前言 我们都知道Google当初为了让Java开发者能快速介入到Android开发,把linux操作系统中c/c++实现的各种系统能力利用Java封装起来,此举确实吸引了大量...