音视频相关文章总目录
音视频相关文章总目录
为了方便各位观看,本文置顶,以目录形式汇集我写过的大部分音视频专题文章。之后文章更新,本目录也会同步更新。写得不好和零零散散的文章就不放在这里了😅 :
=================================================================
音视频入门基础:像素格式专题系列文章:
=================================================================
=================================================================
音视频入门基础:H.264专题系列文章:
通过本系列,可以对AnnexB和avcC包装的H.264格式有一个基本了解,学会如何阅读H.264官方文档,以及如何通过SPS中的属性得到视频信息:
=================================================================
=================================================================
音视频入门基础:PCM专题系列文章:
=================================================================
=================================================================
音视频入门基础:WAV专题系列文章:
FFmpeg这个库很大很重,所以很多同学会选择不依赖任何第三方库自己写解析媒体文件头的代码,可是自己写的解析demo真的比第三方库做得更好吗?比如WAV这种文件格式,它的文件头结构非常简单,但还存在可能包含扩展块和可选区块的情况;它可能遵守RIFF格式的规则,也可能遵守RIFX格式的规则;ACT音频格式可能会包含一个标准的WAV文件头所以要防止误判的情况;然后还有WAVE 64位扩展格式Wave64……自己写解析代码真的考虑清楚所有的情况了吗?所以在不完全了解清楚一种文件格式之前,参考FFmpeg等第三方库的解析部分是一个比较好的选择,本系列以WAV音频文件为例介绍如何对媒体文件的文件头进行解析:
=================================================================
=================================================================
音视频入门基础:AAC专题系列文章:
=================================================================
=================================================================
音视频入门基础:FLV专题系列文章:
=================================================================
=================================================================
音视频入门基础:MPEG2-TS专题系列文章:
=================================================================
=================================================================
音视频入门基础:MPEG2-PS专题系列文章:
=================================================================
=================================================================
FFmpeg内存管理相关的源码分析:
FFmpeg内存管理使用了C语言的设计艺术,比如AVBufferRef和AVBuffer结构体模仿了C++,使用了引用计数来解决使用浅拷贝可能造成的资源重复释放问题,通过引入引用计数:增加一个变量(比如AVBuffer中的refcount),记录资源使用的次数,控制资源的释放:
=================================================================
=================================================================
AVPacket结构体和其相关的函数分析:
=================================================================
=================================================================
AVIOContext结构体和其相关的函数分析:
=================================================================
=================================================================
AVRational结构体和其相关的函数分析:
=================================================================
=================================================================
FFmpeg基本函数分析:
FFmpeg源码是由一个个基本函数组成的,了解了其基本函数,才能更好地理解FFmpeg源码:
=================================================================
=================================================================
FFmpeg宏定义分析:
=================================================================