FFMPEG中最关键的结构体之间的关系

原创 2013年09月14日 20:41:53

注:写了一系列的结构体的分析的文章,在这里列一个列表:

FFMPEG结构体分析:AVFrame
FFMPEG结构体分析:AVFormatContext
FFMPEG结构体分析:AVCodecContext
FFMPEG结构体分析:AVIOContext
FFMPEG结构体分析:AVCodec
FFMPEG结构体分析:AVStream
FFMPEG结构体分析:AVPacket


FFMPEG中结构体很多。最关键的结构体可以分成以下几类:

a)        解协议(http,rtsp,rtmp,mms)

AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。(注意:FFMPEG中文件也被当做一种协议“file”)

b)        解封装(flv,avi,rmvb,mp4)

AVFormatContext主要存储视音频封装格式中包含的信息;AVInputFormat存储输入视音频使用的封装格式。每种视音频封装格式都对应一个AVInputFormat 结构。

c)        解码(h264,mpeg2,aac,mp3)

每个AVStream存储一个视频/音频流的相关数据;每个AVStream对应一个AVCodecContext,存储该视频/音频流使用解码方式的相关数据;每个AVCodecContext中对应一个AVCodec,包含该视频/音频对应的解码器。每种解码器都对应一个AVCodec结构。

d) 存数据

视频的话,每个结构一般是存一帧;音频可能有好几帧

解码前数据:AVPacket

解码后数据:AVFrame


他们之间的对应关系如下所示:



版权声明:本文为博主原创文章,未经博主允许不得转载。

FFmpeg源代码结构图 - 解码

近期研究了一下FFmpeg的内部的源代码。之前对于FFmpeg的研究主要在它的应用层面上,因此制作的很多示例程序都是调用的FFmpeg的API。但是一直感觉这样对FFmpeg的理解还是比较浅,所以打算...
  • leixiaohua1020
  • leixiaohua1020
  • 2015年03月12日 14:03
  • 50834

Ffmpeg框架结构解读

下面这篇文章解读的框架比较到位,解码流程也很清楚,值得每天读一两遍。  转载地址:  http://blog.csdn.net/allen_young_yang/article/detail...
  • lvmaker
  • lvmaker
  • 2015年10月21日 22:17
  • 2186

【ffmpeg】常用结构体集合

看大牛雷霄骅的博客,再次精简出学习ffmpeg的一些知识, 本篇简要整理一下ffmpeg中常用的几个结构体,以作备忘。 本人所用ffmpeg源码版本:ffmpeg-2.8.3,注意,版本不同,某些...
  • u012819339
  • u012819339
  • 2015年12月16日 13:44
  • 2508

FFMPEG中最关键的结构体之间的关系

FFMPEG中最关键的结构体之间的关系 分类: FFMPEG2013-09-14 20:41 7830人阅读 评论(10) 收藏 举报 FFMPEG解码结构数据 ...
  • xingzheouc
  • xingzheouc
  • 2015年05月13日 16:33
  • 148

ffmpeg---命令分组中几个关键结构体的关系

命令分组中涉及到到几个结构体,下面简单梳理一下它们之间的关系主结构体,管理着其他结构体 typedef struct OptionParseContext { OptionGroup glob...
  • sand_wiliam
  • sand_wiliam
  • 2016年11月30日 17:26
  • 142

ffmpeg 结构体之间的关系

FFMPEG中结构体很多。最关键的结构体可以分成以下几类: a)        解协议(http,rtsp,rtmp,mms) AVIOContext,URLProtocol,UR...
  • u012681083
  • u012681083
  • 2015年06月18日 21:35
  • 313

[3]ARM-Linux S5PV210 UART驱动----串口核心层、关键结构体、接口关系

尽管一个特定的UART设备驱动完全可以按照tty驱动的设计方法来设计,即定义tty_driver并实现tty_operations其中的成员函数,但是Linux已经在文件serial_core.c中实...
  • linuxjourney
  • linuxjourney
  • 2015年01月04日 23:22
  • 778

ffmpeg结构体的关系

基本概念:    编解码器、数据帧、媒体流和容器是数字媒体处理系统的四个基本概念。 首先需要统一术语:     容器/文件(Conainer/File):即特定格式的多媒体文件。     媒体...
  • jacklam200
  • jacklam200
  • 2012年11月13日 23:34
  • 4048

ffmpeg结构体的关系

基本概念:    编解码器、数据帧、媒体流和容器是数字媒体处理系统的四个基本概念。 首先需要统一术语:     容器/文件(Conainer/File):即特定格式的多媒体文件。     媒体...
  • wangwenwen
  • wangwenwen
  • 2012年12月11日 15:01
  • 727

ffmpeg结构体的关系

http://blog.csdn.net/jacklam200/article/details/8180950 基本概念:    编解码器、数据帧、媒体流和容器是数字媒体处理系统的四个基本概念...
  • liuhongxiangm
  • liuhongxiangm
  • 2013年04月17日 10:05
  • 1071
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FFMPEG中最关键的结构体之间的关系
举报原因:
原因补充:

(最多只允许输入30个字)