前言:
大家好,最近一直在直播讲解Ffmpeg6.0版本的源码解析,这里要明白学习源码能给我们带来什么好处?我相信很多小伙伴已经用过Ffmpeg去开发,不知道大家有没有在开发的过程,调用接口的时候,是否遇到对这个接口以及传参不是特别清楚的疑惑,或者很多结构体的成员搞不清楚;可能大家会去查博客来去了解这个接口的使用!
其实学习音视频开源项目给我们带来很多好处:
学习优秀的代码设计思想
丰富自己的音视频视野
提高自己的开发水平
了解音视频背后实现的原理
最近在交流时候,挺多人在说这个webrtc挺难学习的,这个我自己工作内容本身没有用过,所以不好评价,但是相对来说,现在在一些嵌入式音视频领域也确实会用到webrtc;后面自己如果有接触这块,再来总结!
不过我想说的是,Ffmpeg新版本它是不兼容老版本的接口,所以在Ffmpeg里面有一个changelog说明接口的修改:
所以现在大家在网上直接复制别人的工程过来,然后在你的Fffmpeg开发环境跑不起来就是这么个原因了,哈哈哈。。。。。
一、ffmpeg6.0版本讲解内容:
目前讲解的源码内容,暂时主要以常见的结构体讲解,我暂时规划把这个讲解完毕,因为这些常见的结构体用的最多,所以有必要去深入源码看看,下面是我总结的一些比较重要的结构体成员:
更多讲解,大家可以看我在b站发布的视频专栏讲解:
里面有讲解不对的地方,还望大家多多指教和批评!
我上面在讲解的时候,把这些结构体里面重要的成员,也就是平时开发用的多成员,把他们总结罗列在一起!
后面我会接着去源码解读常见的接口,当然重点在ffmpeg.c和ffplay.c,所以很多基础的东西,必须要掌握!
最后:
ok,最后就总结到这里,今晚继续直播讲解Ffmpeg源码和一个推流器的解读: