1.解码整体流程

雷神博客--解码过程

整体过程如下:

  • av_register_all()
  • avformat_alloc_context()

    AVFormatContext初始化

  • avformat_open_input()

    该函数用于打开多媒体数据并且获得一些相关的信息

  • avformat_find_stream_info()

    该函数可以读取一部分视音频数据并且获得一些相关的信息

  • avcodec_find_decoder()

    avcodec_find_decoder()用于查找FFmpeg的解码器

  • avcodec_open2()

    该函数用于初始化一个视音频编解码器的AVCodecContext

  • av_read_frame()

    ffmpeg中的av_read_frame()的作用是读取码流中的音频若干帧或者视频一帧。例如,解码视频的时候,每解码一个视频帧,需要先调用 av_read_frame()获得一帧视频的压缩数据,然后才能对该数据进行解码(例如H.264中一帧压缩数据通常对应一个NAL)

  • avcodec_decode_video2()

    ffmpeg中的avcodec_decode_video2()的作用是解码一帧视频数据。输入一个压缩编码的结构体AVPacket,输出一个解码后的结构体AVFrame

  • avcodec_close()
  • avformat_close_input()

results matching ""

    No results matching ""