ffmpeg源码简析 结构总览

论坛 期权论坛     
选择匿名的用户   2021-5-28 02:11   0   0
<p style="margin-top:0px; margin-bottom:1.1em; padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;; font-size:15px"> 转载自:http://blog.csdn.net/king1425/article/details/70597642</p>
<p style="margin-top:0px; margin-bottom:1.1em; padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;; font-size:15px"> 悬窗播放视频,让你聊天看视频两不误(上) :<a href="http://blog.csdn.net/king1425/article/details/59527229" rel="noopener noreferrer" style="color:rgb(12,137,207)" target="_blank">http://blog.csdn.net/king1425/article/details/59527229</a> <br style=""> 悬窗播放视频,让你聊天看视频两不误(下) :<a href="http://blog.csdn.net/king1425/article/details/59538663" rel="noopener noreferrer" style="color:rgb(12,137,207)" target="_blank">http://blog.csdn.net/king1425/article/details/59538663</a></p>
<p style="margin-top:0px; margin-bottom:1.1em; padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;; font-size:15px"> 学习ffmpeg也有段时间了,ffmpeg这个框架实在是大,源码看着注释着忘着,很是凌乱。好记性不如烂笔头,古人诚不欺我啊。以后就整理下学习过的东西,分享出来,方便了自己也帮助了他人,真是快乐。 <br style=""> <span style="">感谢雷神,中国音视频技术领域无私的拓荒者传承者,您的博文治学态度令我敬佩,文章使我受益良多</span> <br style=""> 本系列前办部分应该是对雷神和其他资料的总结。 <br style=""> 如果对ffmpeg不了解的客官进这里 <br style=""> <span style="">ffmpeg必知道的知识点</span> :<a href="http://blog.csdn.net/king1425/article/details/70348374" rel="noopener noreferrer" style="color:rgb(12,137,207)" target="_blank">http://blog.csdn.net/king1425/article/details/70348374</a></p>
<h2 id="ffmpeg-api变更" style="margin:0.8em 0px; padding:0px; font-weight:100; line-height:1.3em; font-size:2.13em; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;"> <a name="t0" style="color:rgb(12,137,207)" target="_blank"></a><span style="">ffmpeg API变更</span></h2>
<p style="margin-top:0px; margin-bottom:1.1em; padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;; font-size:15px"> 雷神记录获取媒体信息使用的函数是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正在慢慢朝着“名称更加规范”的方向发展。 <br style=""> 这里也更了一篇 <a href="http://blog.csdn.net/King1425/article/details/71439943" rel="noopener noreferrer" style="color:rgb(12,137,207)" target="_blank">ffmpeg API变更 2009-03-01—— 2017-05-09变更 </a><br style=""> 大家务必对着新的API学习</p>
<h2 id="ffmpeg源码结构图" style="margin:0.8em 0px; padding:0px; font-weight:100; line-height:1.3em; font-size:2.13em; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;"> <a name="t1" style="color:rgb(12,137,207)" target="_blank"></a><span style="">ffmpeg源码结构图</span></h2>
<p style="margin-top:0px; margin-bottom:1.1em; padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;; font-size:15px"> <span style="">编码</span>: <br style=""> 引自雷神,图片较大建议保存为本地文件,然后再查看</p>
<p style="margin-top:0px; margin-bottom:1.1em; padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;; font-size:15px"> <a style="color:rgb(12,137,207)" target="_blank"><img alt="" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-82f696421d0ee51b7f4d8c6d600880d4" style="border:none; max-width:100%; height:auto"></a></p>
<p style="margin-top:0px; margin-bottom:1.1em; padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:&#34;microsoft yahei&#34;; font-size:15px"> <span style="">函数背景色</span> <br style=""> 函数在图中以方框的形式表现出来。不同的背景色标志了该函数不同的作用:</p>
<pre style="white-space:pre-wrap; word-wrap:break-word; margin-top:0px; margin-bottom:10.5px; font-family:&#34;Source Code Pro&#34;,monospace; padding:10px; font-size:14px; line-height:1.45; word-break:break-all; color:rgb(51,51,51)"><code style="font-family:&#34;Source Code Pro&#34;,monospace; padding:0px; font-size:undefined; color:inherit; background-color:transparent; white-space:pre; word-wrap:normal">粉红色背景函数:FFmpeg的API函数。
白色背景的函数:FFmpeg的内部函数。
黄色背景的函数:URLProtocol结构体中的函数,包含了读写各种协议的功能。
绿色背景的函数:AVOutputFormat结构体中的函数,包含了读写各种封装格式的功能。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP