首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

求解ffmpeg中的两个变量priv_data,opaque!解决方案

2012-04-18 
求解ffmpeg中的两个变量priv_data,opaque!!!!!!!!AVFormatContext 中的 void *priv_data//字面意思应该是

求解ffmpeg中的两个变量priv_data,opaque!!!!!!!!

  AVFormatContext 中的 void *priv_data; //字面意思应该是私有数据
  AVIOContext 中的 void *opaque; ////字面意思应该是不透明数据之类的吧

这两个变量用来什么的?含义是什么?代码貌似表明这个两个变量用得挺频繁的!

[解决办法]
AVFormatContext这个结构实现了对具体的文件格式分离器的封装
其中void *priv_data 指向了具体的某种文件格式的一些私有数据
举个例子,比如你播放一个AVI文件,那么个这个void *priv_data就关于指向AVI的一些私有数据

同样的AVIOContext 实现了对文件IO的封装 (其实ffmpeg把文件也当做url来处理了)
void *opaque字面意思确实是不透明,他指向了具体的文件读取实现形式的一些数据结构。比如是从本地播放,还是从rtmp服务器,或者从mms服务器,那么void *opaque是不同的

热点排行