摘要:
FFMPEG我没找到详细的中文教程,只有将自己的使用心得记录。1int avpicture_fill(AVPicture *picture, uint8_t *ptr,int pix_fmt, int width, int height);这个函数的使用本质上是为已经分配的空间的结构体AVPicture挂上一段用于保存数据的空间,这个结构体中有一个指针数组data[4],挂在这个数组里。一般我们这么使用:1) pFrameRGB=avcodec_alloc_frame();2) numBytes=avpicture_get_size(PIX_FMT_RGB24, pCodecCtx->w 阅读全文
文章分类 - vedio
H.264 RTP payload 格式
2012-08-31 15:49 by garywlx, 323 阅读, 收藏,
摘要:
1. 网络抽象层单元类型 (NALU)NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F: 1 个比特. forbidden_zero_bit. 在 H.264 规范中规定了这一位必须为 0.NRI: 2 个比特. nal_ref_idc. 取 00 ~ 11, 似乎指示这个 NALU 的重要性, 如 00 的 NALU 解码器可以丢弃它而不影响图像的回放. 不过一般情况下不太关心这个属性.Type: 5 个比特. nal_u 阅读全文
H264参数结构三:序列参数集层(SPS) & 图像参数集语义
2012-08-31 15:47 by garywlx, 559 阅读, 收藏,
摘要:
1: seq_parameter_set_rbsp( ) { 2: // profile_idc level_idc 指明所用 profile、level 3: profile_idc 4: // constraint_set0_flag 等于 1 时表示必须遵从附录 A.2.1 所指明的所有制约条件。等于 0 时表示不必遵从所有条件。 5: constraint_set0_flag 6: // constraint_set1_flag 等于 1 时表示必须遵从附录 A.2.2 所指明的... 阅读全文
H264参数结构二:网络提取层NAL (Net Abstraction Layer) & 视频编码层VCL (Video Coding Layer)
2012-08-31 15:45 by garywlx, 205 阅读, 收藏,
摘要:
H.264 的功能分为两层,即视频编码层(VCL)和网络提取层(NAL,Network Abstraction Layer)。VCL 数据即编码处理的输出,它表示被压缩编码后的视频数据序列。在 VCL 数据传输或存储之前,这些编码的 VCL 数据,先被映射或封装进 NAL 单元中。每个NAL 单元包括:一组对应于视频编码数据的 NAL 头信息和一个原始字节序列负荷(RBSP)。 头信息中包含着一个可否丢弃的指示 标记,标识着该NAL单元的丢弃能否引起错误扩散,一般,如果NAL单元中的信息不用于构建参考图像,则认为可以将其丢弃;最后包含的是NAL单元的类型 信息,暗示着其内含有效载荷的内容。送. 阅读全文
H264参数结构一
2012-08-31 15:43 by garywlx, 253 阅读, 收藏,
摘要:
H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素。句法元素被组织成有层次的结构,分别描述各个层次的信息。 在H.264 中,句法元素共被组织成 序列、图像、片、宏块、子宏块五个层次。在这样的结构中,每一层的头部和它的数据部分形成管理与被管理的强依赖关系,头部的句法元素是该层数据的核心,而一旦头部丢失,数据部分的信息几乎不可能再被正确解码出来,尤其在序列层及图像层。 在 H.264 中,分层结构最大的不同是取消了序列层和图像层,并将原本属于序列和图像头部的大部分句法元素游离出来形成序列和图像两级参数集,其余的部分则放入片层。 参数集是一个独立的数据单位,不依赖于参数集外的其他句. 阅读全文
H264参数语法文档: SPS、PPS、IDR
2012-08-31 15:31 by garywlx, 326 阅读, 收藏,
摘要:
H.264码流第一个 NALU 是 SPS(序列参数集Sequence Parameter Set)对应H264标准文档 7.3.2.1 序列参数集的语法进行解析SPS参数解析// fill sps with content of p[cpp] view plaincopyintInterpretSPS(VideoParameters*p_Vid,DataPartition*p,seq_parameter_set_rbsp_t*sps){unsignedi;unsignedn_ScalingList;intreserved_zero;Bitstream*s=p->bitstream;as 阅读全文
浙公网安备 33010602011771号