【FFmpeg】ffmpeg中RTMP协议的实现

【目录】郭老二博文之:图像视频汇总

1、相关类详解

阅读ffmpeg中RTMP相关的源码时,相关的几个主要类如下,下面先分析这个几个类的作用。

AVOption
AVClass
URLProtocol

三者的关系:AVClass封装AVOption供URLProtocol、AV*Context等使用,
以RTMP为例,RTMPContext中的第一个字段为:const AVClass *class;
RTMPContext 和 URLContext 通过 URLProtocol 来连接:RTMP的操作接口(open、read、write、close等)传递给 URLProtocol 。URLContext 中包含一个 URLProtocol 的指针(const struct URLProtocol *prot)。

【FFmpeg】ffmpeg中RTMP协议的实现_第1张图片

1.1 AVOption

Option的字面意思就是选项,类似与命令行参数。这些选项肯定是在代码中定义好的,让使用者来设置。
以RTMP为例,看看在RTMP中怎么用AVOprion来描述选项的。下面是源码:

你可能感兴趣的:(视频,音视频,ffmpeg)