FFmpeg-基础知识点

1.FFmpeg常用结构体

AVFormatContext 是一个贯穿始终的数据结构,很多函数都要用到它作为参数。它是FFMPEG解封装(flv,mp4,rmvb,avi)功能的结构体。

AVInputFormat 输入数据的封装格式。

AVStream是存储每一个视频/音频流信息的结构体。

AVCodecContext 是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息。

AVPacket 是存储压缩编码数据相关信息的结构体。

AVCodec 是存储编解码器信息的结构体。

AVFrame 结构体一般用于存储原始数据(即非压缩数据,例如对视频来说是YUV,RGB,对音频来说是PCM),此外还包含了一些相关的信息。比如说,解码的时候存储了宏块类型表,QP表,运动矢量表等数据。编码的时候也存储了相关的数据。因此在使用
FFMPEG进行码流分析的时候,AVFrame是一个很重要的结构体。

AVIOContext 是FFMPEG管理输入输出数据的结构体。

2.FFmpeg关键函数

av_register_all():注册所有组件。

avformat_open_input():打开输入视频文件。

avformat_find_stream_info():获取视频文件信息。

avcodec_find_decoder():查找解码器。

avcodec_open2():打开解码器。

av_read_frame():从输入文件读取一zhen压缩数据。

avcodec_decode_video2():解码一帧压缩数据。

avcodec_close():关闭解码器。

avformat_close_input():关闭输入视频文件。

初学FFmpeg涉世未深,今后会在音视频领域持续钻研,相关博客会陆续更新!

 

你可能感兴趣的:(FFmpeg-基础知识点)