avcodeccontext专题

h264手动添加sps和pps到AVCodecContext-extradata

最近编码的时候发现生成的视频不能用Windows Media Player等系统自带的播放器播放,也没有缩略图。找了很久,最后才发现在avcodec_open2之前添加一行代码就行了: codec_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; 调用该行代码后,FFmpeg会在调用avcodec_open2里,在写header时填充sps,pps等信息。不

从 AVCodecContext中获取sps,pps(FFmpeg)

从 AVCodecContext中获取sps,pps(FFmpeg) 这是之前版本ffmpeg的方法(现已弃用)   我一开始以为FFMPEG的这个方法会直接获取到SPS和PPS,谁知道只是替换掉开始码。 这里我们需要明白我们需要的是什么?sps,pps!(他们不包括起始符0x00 00 00 01) // 假设extradata数据为 0x01 64 00 0A FF E1 00

FFMPeg代码分析:AVCodecContext结构体

在调用avformat_open_input打开文件后,下一步调用av_find_stream_info函数从文件中读取音视频流的信息,而后AVFormatContext的结构体将会将这些信息保存在其中。在找到AVFormatContext的视频stream后,获取其codec保存到指向AVCodecContext的指针: // Find the first video stream f