前言:
这周直播也把雷神写的Ffmpeg推流器讲解完了,而一同时,一转眼间,2023年已经过半,正式进入了下半年:
因为上半年已经开始在做解析Ffmpeg 最新版本的源码,所以下半年,我会继续坚持讲解Ffmpeg的源码,这个是下半年的重点学习方向!
我相信大家做过安防监控的朋友,对于编解码或多或多少都有了解,但是从我自己的经历来看,对这块的开发,远远不够,原因无他,工作当中接触的比较浅。所以下半年趁着周末空闲时间,坚持深入学习Ffmpeg 源码!
下半年详细规划:
在之前的一段时间里面,我已经把常见的结构体已经讲解完了:
为什么讲解这些结构体,主要原因是,你开发的时候,脑袋里面至少要有印象,我要开发这个功能,需要用到哪些模块相关的结构体,以及结构体里面对应的成员;这些东西不要死记硬背,大脑里面有印象就行,等你真正在开发过程中,用的多了,写的多了,自然熟能生巧了,也就记住了!
然后对于一些常见接口,比如:
avformat_open_input()
avformat_find_stream_info()
av_log_set_level()
avformat_write_header()
avcodec_alloc_context3
avcodec_receive_frame()
avio_open2()
上面这些是我简单归纳的一些接口;我想说的是,这些接口源码实现解析,也是下半年会专门去讲解的,原因无他,一个是学习那些大神前辈如何写的优秀代码和思想,一个是加深印象,也就是对这个接口的传参和作用要有非常深的印象就行!
ok,接下来,最为重要的一个部分,就是播放器这块,我会专门讲解ffplay.c这块的源码:
播放器毫无疑问,在做音视频开发过程,非常重要,这其中就涉及到编码和解码以及如何设计优秀的代码,而且之前常说的,音视频不同步问题,我们可以一起来学习ffplay.c是如何设计的!
不过在讲解这个之前,我会最新来讲解libavcodec模块:
先把编解码的东西详解讲解一下,再去讲解ffplay就会很轻松!
最后,这个就是下半年的一个规划:
1、接口源码讲解
2、libavcodec模块讲解
3、ffplay.c播放器源码讲解
下面是最新讲解的推流器视频讲解,当然大家感兴趣的话,可以关注我的视频号,每周都在视频号上进行直播讲解Ffmpeg源码:
最后,一起加油,一起进步,冲!!!