美文网首页
学习ffmpeg 结构体之间关系

学习ffmpeg 结构体之间关系

作者: lixiangdev | 来源:发表于2017-08-09 15:35 被阅读0次

    FFmpeg 有多个重要的结构体,解协议,解分装,解码,解封装。
    解协议:http,rstp,rtmp,mms。
    AVIOContext,URLProtocol,URLContext主要存储视频音频试用的协议类型及状态,URLProtocol存储输入视频音频的封装格式。每种协议都对应一个URLProtocol结构

    解封装:flv,avi,rmvb,mp4
    AVFormatContext 主要存储视频音频封装格式中包含的信息;
    AVInputFormat存储视频音频试用的封装格式。
    每种视频音频封装格式都对应一个AVInputFormat结构。

    解码:h264,mpeg2,aac,mp3,avs(真的超级多一页都显示不完,包含摄像头,监控,电视等等几乎能有视频音频的地方都有解码器)
    视频音频都有视频流会音频流。
    每个AVStream存储一个视频音频流的相关数据。
    每个AVStream对应一个AVCodecContext,存储该视频音频的解码方式相关数据。
    每个AVCodecContext中对应一个AVCodec,包含该视频音频对应的解码器,每种解码器对应一个AVCodec结构。

    存数据:
    视频每个结构都是存一帧(一张图)。音频可能好几帧。
    解码前的数据:AVPacket;
    解码后的数据:AVFormat;

    关系是这样:(引用雷神的原图,雷神天堂一路走好,愿天堂永无代码)


    image.png

    相关文章

      网友评论

          本文标题:学习ffmpeg 结构体之间关系

          本文链接:https://www.haomeiwen.com/subject/heqqrxtx.html