音视频开发
文章平均质量分 56
巴菲特的好弟弟-
这个作者很懒,什么都没留下…
展开
-
FFMPEG关键结构体——AVIOContext
这个结构体,是FFmpeg中有关io操作的顶层结构体,是avio的核心。FFmpeg支持打开本地文件路径和流媒体协议的URL。该结构体在libavformat/avio.h中定义①(*read_packet):读取音视频数据的函数。②(*write_packet):写入音视频数据的函数。③(*read_pause):暂停或恢复网络流媒体协议的播放 。在解码的情况下,buffer用于存储ffmpeg读入的数据。例如打开一个视频文件的时候,先把数据从硬盘读入buffer,然后在送给解码器用于解码。其中op原创 2022-07-03 17:55:59 · 725 阅读 · 1 评论 -
FFMPEG关键结构体——AVCodecContext
这是一个描述编码器上下文的数据结构,包含了众多编码器需要的参数信息该结构体在libavcodec/avcode.h中定义原创 2022-07-03 17:30:28 · 672 阅读 · 0 评论 -
FFMPEG关键结构体——AVFormatContext
AVFormatContext是存储音视频封装格式中包含的信息的结构体,也是FFmpeg中统领全局的结构体,对文件的封装、编码操作从这里开始。结构体的定义位于libavformat中的avformat.h原创 2022-07-03 17:21:13 · 826 阅读 · 0 评论 -
FFMPEG关键结构体——AVFrame
AVFrame结构体一般用于存储原始数据(即非压缩数据,例如对视频来说是YUV,RGB,对音频来说是PCM),此外还包含了一些相关的信息。比如说,解码的时候存储了宏块类型表,QP表,运动矢量表等数据。编码的时候也存储了相关的数据。因此在使用FFMPEG进行码流分析的时候,AVFrame是一个很重要的结构体。AVFramet通常在解码时包含较多的码流参数,编码时主要用于承载图像数据或者音频采样数据。结构体的定义位于libavutil/frame.h,这里介绍解码情况下的主要变量①(1)图像数据:对于pa原创 2022-07-03 17:08:27 · 6952 阅读 · 1 评论