接上一节, 我们得到了一个一个的 packet
接下来,按照c程序的套路, 先把编码器的数据结构创建好:
1 | AVCodecParameters *pParameters = format_context->streams[video_index]->codecpar; |
- 创建编码器的数据结构 AVCodecContext
- 从流里拿到编码参数,根据编码参数里的编码器id获取到编码器
- 使用编码器参数初始化 AVCodecContext
- 初始化 AVCodecContext 来使用前面的到的编码器
- 用完记得释放
这里有两点疑问:
- 为什么方法名后有个数字
- 为什么创建数据结构和打开操作的时候都传 video_codec, 注释说两个必须一致
今天完成了编码器数据结构的初始化,还是比较复杂的
明天: 每天一点点音视频相关_ffmpeg_解包器和解码器连接