FMpeg分析4:AVStream
前几篇说的都还是数据源文件格式解析部分,哪么解析完后呢,读出的数据流保存在哪呢?正是现在讲的AVStream对像,在AVInputFormat的read_header中初始化AVFormatContext对像时,他会解析出该输入文件有哪些类型的数据流,并初始化AVFormatContext的AVStream *streams[MAX_STREAMS];一个AVStream代表一个流对像,如音频流、视频流,nb_streams记录流对像个数。主版本号大于53时MAX_STREAMS为100,小于53为20。AVStream也是个容器,其
void *priv_data;//
成员变量指向具体的Stream类型对像,如AVIStream。其
AVCodecContext *actx;//记录具体的编解容器,这个下面会讲
也在这读头文件信息里初始化。
主要相关的函数有
int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
AVInputFormat *fmt,
int buf_size,
AVFormatParameters *ap)
{
av_open_input_stream(AVFormatContext **ic_ptr,ByteIOContext *pb, const char *filename,AVInputFormat *fmt, AVFormatParameters *ap)
{
fmt.read_header()//调用具体的AVInputFormat的read_header,如avi_read_header
{
//根据文件头信息初始化AVStream *streams及AVStream里的
//void *priv_data和AVCodecContext *actx;成员对像
}
}
}
FMpeg分析4:AVStream相关推荐
- FMPEG结构体分析:AVStream
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- FFMPEG结构体分析:AVStream
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- FFMPEG结构体分析之AVStream
AVStream是存储每一个视频/音频流信息的结构体.该结构体定义位于libavformat/avformat.h中,如下: /*** Stream structure.* New fields ca ...
- FMpeg分析5:AVCodecContext和AVCodec
他们之间的关系和URLProtocol.URLContext之间是一样的,AVCodecContext动态的记录一个解码器的上下文信息,而AVCodec是每个解码器都会拥有一个自己的静态对像,并通过a ...
- FFMPEG结构体分析:AVCodecContext(转)
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- FFMPEG结构体分析
文章列表: FFMPEG结构体分析之AVCodecContext FFMPEG结构体分析之AVPacket FFMPEG结构体分析之AVCodec FFMPEG结构体分析之AVStream FFMPE ...
- FFMPEG结构体分析:AVPacket
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- FFMPEG结构体分析:AVCodec
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- FFMPEG结构体分析:AVIOContext
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
最新文章
- 7 1学会使用 Node 编写简单的前端应用
- 剑指offer03.数组中重复的数字
- Java读取指定路径下的文件列表
- linux命令(8)kill命令
- 删除Windows Service
- NLP复习资料(1)-绪论、数学基础
- nginx配置多个conf文件
- 上传图片的表单java代码_java模拟post方式提交表单实现图片上传(示例代码)
- 如何防止远程程序与RDS PG连接中断
- js实现html页面转为pdf下载
- ENVI监督分类错误:分离度为0.00000解决办法
- MongoDB Master-Slaver集群部署
- iOS8新功能新特性
- 用Java写一个简易五子棋游戏
- python set(集合) 与 and 、 | 与 or之间的区别
- oppo手机注册服务器地址,oppo云登录服务器(oppo云服务登录入口)
- [渝粤教育] 南通大学 智能建造风险源与安全控制 参考 资料
- 使用蒙特卡罗方法计算圆周率
- 2023南宁师范大学计算机考研信息汇总
- 氢原子角向概率密度分布matlab,求氢原子角向概率密度.PPT
热门文章
- Vue --控制台出现 Download the Vue Devtools extension for a better development experience
- Python:整数排序
- unity学习笔记-不小心把预制体删掉了
- CTFHub技能树web(持续更新)--web前置技能(HTTP协议)--302跳转
- 10月24 日 c语言 计算1至10之间奇数之和及偶数之和。
- 为什么今天(10月24日)是程序员节?
- JavaScript:获取当月1号到当月当日的时间段
- Mac OS下安装ffmpeg和ffplay
- 【企业风采】云息通信获“中国声谷企业”、“优质小微企业”等多项证书
- 项目开发设计流程及方法