视频解码流程
2018-08-12 本文已影响0人
小圆菜陪你财务自由
一、解码的上的:播放视频(废话)
二、解码流程:
第一步:组册组件
av_register_all()
例如:编码器、解码器等都属于组件
第二步:打开封装格式(其实就是打开一个文件)
例如:.mp4、.mov、.wmv文件等等...
avformat_open_input();
第三步:查找视频流
如果是视频解码,那么查找视频流,如果是音频解码,那么就查找音频流
avformat_find_stream_info();
第四步:查找视频解码器
1、查找视频流索引位置
2、根据视频流索引,获取解码器上下文
3、根据解码器上下文,获得解码器ID,然后查找解码器
第五步:打开解码器
avcodec_open2();
第六步:读取视频压缩数据->循环读取
没读取一帧数据,立马解码一帧数据
第七步:视频解码->播放视频->得到视频像素数据
第八步:关闭解码器->解码完成
有一个简单的demo供大家一起探讨,欢迎指正。