介绍
音视频开发都知道 FFmpeg,因此对 av_register_all
这个 API 都很熟悉,但ffmpeg 4.0 版本开始就已经废弃了,是旧版本中用于全局初始化的重要接口。
- 基本功能
- 核心作用:
av_register_all()
用于注册所有封装器(muxer)、解封装器(demuxer)和协议处理器(protocol),确保后续能正确识别和处理多媒体格式。 - 模块关联:属于 libavformat 模块,与编解码器(
avcodec_register_all()
)和设备注册(avdevice_register_all()
)分开。
- 核心作用:
- 实现机制演变
- 旧版本(FFmpeg 4.0 前)
- 链表存储:通过
av_register_input_format()
和av_register_output_format()
将格式处理器动态添加到链表中。 - 手动调用:用户需显式调用
av_register_all()
初始化所有组件
- 链表存储:通过
- 旧版本(FFmpeg 4.0 前)