音视频5、libavformat-AVFormatContext 结构体解析

12、AVFormatContext结构体解析

/**
*格式化I/O上下文。
*新字段可以添加到末尾,并带有较小的版本凸起。
*删除、重新排序和更改现有字段都需要进行重大的版本更改。
*sizeof(AVFormatContext)不能在libav*之外使用,请使用avformat_alloc_context()创建AVFormatContext。
*字段可以通过AVOptions(av_opt*)访问,使用的名称字符串与相关的命令行参数名称匹配,可以在libavformat/options_table.h中找到。
*由于历史原因或简洁性,在某些情况下,AVOption/命令行参数名称与C结构字段名称不同。
*/
typedef struct AVFormatContext {
    /**
     * 一个用于日志记录和@ref avoptions的类。由avformat_alloc_context()设置
     * 导出(取消)muxer私有选项(如果存在)
     */
    const AVClass *av_class;

    /**
     * 输入容器格式.
     * 仅禁用,由avformat_open_input()设置
     */
    const struct AVInputFormat *iformat;

    /**
     * 输出容器格式
     * 仅Muxing,必须由调用方在avformat_write_header()之前设置
     */
    const struct AVOutputFormat *oformat;

    /**
     * 格式化私人数据。当且仅当iformat/oformat.priv_class不为NULL时,这是一个启

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