使用FFMPEG解析NAL单位

2nd*_*ife 5 ffmpeg h.264

我是MPEG-4的新手,并采取了宝宝步骤来学习它.我使用FFMPEG作为参考.

  1. 据我所知,所有mpeg-4都被编码为NAL单元,而wrt到FFMPEG av_read_frame()函数返回一个NAL单元,我对吗?框架是NAL单元吗?(虽然它可以是多个NAL的组合)

  2. 我还看到h264_parser.c实现了一个名为h264_parse的函数,它调用了内部的parse_nal_units(),如果我需要获取NAL单元,我怎么能从我的main函数中使用这个parse_nal_units?

  3. 什么是av_parse_Parse2()函数呢?它会返回已解码的NAL单位吗?

  4. 或者FFMPEG有-vbsf h264_mp4toannexb切换到转储原始NAL单位,有人可以帮我理解我如何从我的主函数中使用相同的东西吗?

请帮帮我...... -ash5

Mut*_*Bob 4

对于问题 1:以下文章提供的链接将帮助您了解 NAL 是什么。

在 h264 NAL 单位中表示帧。?

NAL 分为多种类型,根据类型的不同可以包含解码参数(SPS、PPS)、增强信息(SEI)和视频样本(切片头和数据)。广播传输流中的常见序列为 SPS、PPS、SEI、slice_header()、slice_data()、SEI、slice_header()、slice_data() *

对于您的应用程序,您可能不需要了解 ISO 14496-10 第 7.3 节“表格形式的语法”。