You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
FFmpegAndroid/doc/FFmpeg_sourcecode.md

2.4 KiB

前言

FFmpeg是一个跨平台的多媒体库,也是目前音视频领域应用最广泛的库。包括libavcodec、libavformat、libavutil、
libavdevice、libavfilter、libswscale、libswresample、libpostproc等模块。其中avcodec用于编解码,
avformat用于解封装,avutil是提供工具类,avdevice用于各平台的设备接入,avfilter提供滤镜操作,
swscale提供图像缩放与像素格式转换,swresample提供音频重采样,postproc提供高级处理。
在这里,按照每个模块功能进行分析,如有错漏不当之处,敬请指出。

1:AVIOContext、IO模型与协议

AVIOContext结构体

2:AVFormatContext连接FFmpeg的桥梁

AVFormatContext

3:AVCodecContext编解码器上下文

AVCodecContext

4:AVStream码流

码流数组

5:AVFrame与AVPacket

AVFrame与AVPacket

6:avformat_open_input()打开媒体流

打开媒体流

7:avformat_find_stream_info分析码流信息

分析码流信息

8:av_read_frame()读取音视频帧

读取音视频帧

9:av_parser_parse2()解析数据包

解析数据包

10:av_register_all()注册封装器与解封装器

注册封装器与解封装器

11:avdevice_register_all()注册设备

注册设备

12:avfilter_register_all()注册AVFilter

注册AVFilter

13:avcodec_register_all()注册编解码器

注册编解码器

14:avcodec_find_decoder()查找编解码器

查找编解码器

15:log日志系统分析

log日志系统