|
|
@ -2,7 +2,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
libavformat的主要组成与层次调用关系如下图: |
|
|
|
libavformat的主要组成与层次调用关系如下图: |
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
AVFromatContext是API层直接接触到的结构体,它会进行格式的封装和解封装,它的数据部分由底层提供,底层使用了AVIOContext,这个AVIOContext实际上就是为普通的I/O增加了一层Buffer缓冲区,再往底层就是URLContext,也就是达到了协议层,协议层的实现由很多,如rtmp、http、hls、file等,这个就是libavformat的内部封装结构了。 |
|
|
|
AVFromatContext是API层直接接触到的结构体,它会进行格式的封装和解封装,它的数据部分由底层提供,底层使用了AVIOContext,这个AVIOContext实际上就是为普通的I/O增加了一层Buffer缓冲区,再往底层就是URLContext,也就是达到了协议层,协议层的实现由很多,如rtmp、http、hls、file等,这个就是libavformat的内部封装结构了。 |
|
|
|
|
|
|
|
|
|
|
|