一、基础入门
-
FFmpeg 简介
- FFmpeg 的历史与发展
- FFmpeg 在多媒体处理中的应用场景
- FFmpeg API 与命令行工具的区别
-
开发环境搭建
- 源码下载与编译(Linux、macOS、Windows 下的编译方法)
- 配置开发环境(C/C++ 项目中如何引入 FFmpeg 库)
- 常用编译选项及依赖库说明(如 libx264、libvpx 等)
-
调试与日志
- 使用 av_log 设置日志级别
- 常见错误码解析与调试技巧
- 常见内存管理问题(引用计数、内存泄露注意事项)
二、核心库概述与 API 学习
2.1 AVFormat —— 封装格式处理
-
概念介绍
- 媒体容器与封装格式
- AVFormatContext 的作用
-
基本 API
avformat_open_input
:打开媒体文件或流avformat_find_stream_info
:读取流信息av_read_frame
:读取数据包(AVPacket)avformat_close_input
:关闭文件及释放资源
-
实战案例
- 打印多媒体文件的详细信息(av_dump_format)
- 遍历 AVFormatContext 中的流,提取视频、音频、字幕信息
2.2 AVCodec —— 编解码处理
-
编码与解码基础
- 编