ffmpeg源码简析(一)结构总览

编程入门 行业动态 更新时间:2024-10-07 04:24:14

ffmpeg<a href=https://www.elefans.com/category/jswz/34/1770099.html style=源码简析(一)结构总览"/>

ffmpeg源码简析(一)结构总览

未毕业通过校招进入了某做机的公司从事camera方面的工作。比较悲剧的是做了将近一年的Camera之后,正要研究Camera上下层打通任督二脉的时候,公司架构调整加上OS版本大变动,被调到了多媒体组(不过也好,我对编码解码这块也是向往已久)。以前大学的时候用vitamio写过一个播放器项目,后来ijkplayer 出来之后也实践过一两个小项目,它们都是基于ffmpeg的框架。
悬窗播放视频,让你聊天看视频两不误(上) :
悬窗播放视频,让你聊天看视频两不误(下) :

学习ffmpeg也有段时间了,ffmpeg这个框架实在是大,源码看着注释着忘着,很是凌乱。好记性不如烂笔头,古人诚不欺我啊。以后就整理下学习过的东西,分享出来,方便了自己也帮助了他人,真是快乐。
感谢雷神,中国音视频技术领域无私的拓荒者传承者,您的博文治学态度令我敬佩,文章使我受益良多
本系列前办部分应该是对雷神和其他资料的总结。
如果对ffmpeg不了解的客官进这里
ffmpeg必知道的知识点

ffmpeg API变更

雷神记录获取媒体信息使用的函数是av_find_stream_info()。但是较新的版本中,av_find_stream_info()函数已经无法使用了,取而代之的是avformat_find_stream_info()。再比如,早一些的程序中,打开解码器可以使用avcodec_open(),但是新版本的程序中必须使用avcodec_open2()。而早期版本的FFmpeg中打开媒体的函数av_open_input_file()也已经被avformat_open_input()所取代。可以看出一些与libavformat相关的av_***()都变更为了avformat_***(),这一趋势也说明FFmpeg的API正在慢慢朝着“名称更加规范”的方向发展。
这里也更了一篇 ffmpeg API变更 2009-03-01—— 2017-05-09变更
大家务必对着新的API学习

ffmpeg源码结构图

编码
引自雷神,图片较大建议保存为本地文件,然后再查看

函数背景色
函数在图中以方框的形式表现出来。不同的背景色标志了该函数不同的作用:

粉红色背景函数:FFmpeg的API函数。
白色背景的函数:FFmpeg的内部函数。
黄色背景的函数:URLProtocol结构体中的函数,包含了读写各种协议的功能。
绿色背景的函数:AVOut

更多推荐

ffmpeg源码简析(一)结构总览

本文发布于:2024-02-13 19:43:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760170.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:源码   结构   ffmpeg

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!