FFmpeg之AVCodecContext
来源:互联网 发布:手机淘宝差评怎么改 编辑:程序博客网 时间:2024/04/19 20:45
花满楼原创
小白:AVCodec是编解码器,那加多个Context就是AVCodec的使用场景了?
花满楼:可以这样理解。但FFmpeg的命名并不准确,实际上AVCodecContext包括的内容,除了关联AVCodec,还有其它的很多东东。
本文调试并看一看AVCodecContext变量内的数值。
跟调试AVCodec变量一样,直接使用上一节讲的演示代码就可以调试AVCodecContext,部分代码如下 :
if (videostreamidx > -1) { codecContext = formatContext->streams[videostreamidx]->codec; AVCodec* codec = avcodec_find_decoder(codecContext->codec_id); if (codec) { status = avcodec_open2(codecContext, codec, NULL); if (status == 0) { success = 1; } } }
同样用gdb来调试就可以了,在拿到codecContext后下断点,可以看到avcodeccontext的部分内容如下:
avcodeccontext的内容有用于编码器的,也有用于解码器;有用于音频的,也有用于视频的。
其中有一些变量应该引起注意,比如:
width/height 视频的宽与高codec_id 编解码器的id,根据它可以找到对应的编解码器extradata 对于h264编码的视频,保存了pps与sps的参数信息(参考NALU的简介,或后续更具体的介绍)。profile 视频编码复杂等级sample_rate 音频的采样率channels 音频的声道数sample_fmt 音频的采样格式
跟avcodec一样,avcodeccontext结构体在libavcodec/avcodec.h中定义。
阅读全文
0 0
- FFmpeg之AVCodecContext
- ffmpeg重要结构体之AVCodecContext
- FFmpeg总结(三)AV系列结构体之AVCodecContext
- FFmpeg 编码器AVCodecContext参数设置
- FFMPEG-数据结构(AVCodecContext,AVStream,AVFormatContext)
- FFMPEG结构体分析:AVCodecContext
- FFMPEG结构体分析:AVCodecContext
- FFMPEG结构体分析:AVCodecContext
- FFMPEG结构体分析 AVCodecContext
- FFMPEG Intro - AvCodecContext time_base Set
- FFMPEG结构体分析:AVCodecContext
- FFMPEG结构体分析:AVCodecContext
- ffmpeg之如何获得一个媒体文件的AVStream,并从该基础上获得AVCodec,AVCodecContext
- FFMPEG-数据结构解释(AVCodecContext,AVStream,AVFormatContext)
- FFMPEG-数据结构解释(AVCodecContext,AVStream,AVFormatContext)
- FFMPEG-数据结构解释(AVCodecContext,AVStream,AVFormatContext)
- FFMPEG-数据结构解释(AVCodecContext,AVStream,AVFormatContext)
- FFMPEG-数据结构解释(AVCodecContext,AVStream,AVFormatContext)
- 模板-邻接表
- Python学习:列表生成式和列表生成器
- 使用SSH 实现本地代理,远程端口转发
- HTML图片在div中心旋转+变色 鼠标移除后 慢慢恢复原样
- 自定义文本选择菜单
- FFmpeg之AVCodecContext
- IO(三)
- Java的发展史
- SpringMvc数据绑定小结
- Spring MVC + Shiro 实现权限验证
- 安卓前端+web后端 通信示例 GET
- sql面试题 学生表, 课程表,成绩表,教师表
- mysql_ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- PHP-发布一个composer包(稳定版本)