致敬雷神
纯净的视频解码流程:压缩编码数据->像素数据
例如:h.264 就是 h.264->yuv
一般一个视频都会有相应的封装格式,封装格式中还包含音频码流信息
如果一个视频有封装格式需要先将视频的视频码流解析出来再进行解码
例如:ts格式的视频:ts->h.264->yuv
vs中配置ffmpeg的方法
1、将头文件复制到include文件夹下 然后如此配置
2、将库文件复制到lib文件夹下然后如下图方式配置
3、输入->附加目录项 将lib下的库文件名输入
4、将东态度(dll)文件复制到类文件夹下
5、完成
ffmpeg库简介:
avcodec :编解码(编解码需要用到)
avformat:封装格式处理(编解码需要用到)
avfilter:滤镜处理
avdevice:各种设备的输入输出
avutil:工具库(编解码需要用到)
postproc:后加工
swresample:音频采样数据格式转换
swscale:视频像素数据格式转换(编解码需要用到)
ffmpeg数据结构
AvFormatContext:封装格式上下文,保存视频文件封装格式相关信息
AVInputFormat:煤种封装格式对应一种这样的结构体
AVStream:视频文件中每个视频流(音频流)对应一个该结构体
AVCodecContext:编解码上下文,保存了视频(音频)编解码相关信息
AVCodec:每种视频(音频)编解码器对应一个该结构体
AVPacket:存储一帧编解码数据
AVFrame:存储一帧解码后像素(采样)数据