1. 数据结构:
AVInputFormat为FFMPEG的解复用器对象,通过调用av_register_all(),FFMPEG所有的解复用器保存在以first_iformat为链表头的链表中,且还有个链表尾指针last_iformat。
以ff_srt_demuxer为例子来看看该结构体的初始化流程。
先看ff_srt_demuxer的定义:
AVInputFormat ff_srt_demuxer = {
.name = "srt",
.long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
.priv_data_size = sizeof(SRTContext),
.read_probe = srt_probe,
.read_header = srt_read_header,
.read_packet = srt_read_packet,
.read_seek2 = srt_read_seek,
.read_close = srt_read_close,
};
易

本文详细介绍了FFMPEG中的解复用器数据结构AVInputFormat,阐述了如何通过av_register_all()注册解复用器,并以srt_demuxer为例,展示了解复用器的初始化流程,包括读头、读包、搜索和关闭等函数的功能。同时,讲解了函数调用过程,如avio_open2()、av_probe_input_buffer2()和av_probe_input_format2()等在探测和使用解复用器中的作用。
最低0.47元/天 解锁文章
4275

被折叠的 条评论
为什么被折叠?



