本文内容是ffmpeg通过spspps的信息解析视频宽高和yuv格式,ffmpeg对这个支持没有对外接口,可以参考下面文章。
http://ffmpeg.org/pipermail/ffmpeg-devel/2015-July/176434.html。
如果想解析请看下面:
/* 通过sps/pps和一个idr帧获取视频宽高以及yuv格式(必须包含一帧IDR帧否则解析不出来,也可以解码一帧数据获取信息);
* 参数:传入的视频,传入的视频长度,视频编码类型(AVCodecID_t),传出的解析后的宽,传出的解析后的高,传出的解析后的yuv格式;
* 返回值:0:失败;1:成功;
*/
int func(const char * videooutdata, const int videooutdatasize, int video_codecID,
int * outwidth, int * outheight, int * outpixelfromat);
int func(const char * videooutdata, const int videooutdatasize, int video_codecID,
int * outwidth, int * outheight, int * outpixelfromat)
{
int ret = 0;
AVCodecParserContext *parservideo = NULL;
AVCodecContext *cvideo = NULL;
AVCodec *codecvideo = NULL;
char * outvideo = (char *)malloc(sizeof