使用FFMPEG解析NAL单位

时间:2011-05-19 17:01:45

标签: 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单位,有人可以帮我理解如何从我的主函数中使用相同的东西吗?

  5. 请帮帮我... -ash5

1 个答案:

答案 0 :(得分:4)

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

In h264 NAL units means frame.?

NAL分为几种类型,并且根据类型可以包含解码参数(SPS,PPS),增强信息(SEI)和视频样本(切片标题和数据)。来自广播传输流的公共序列将是SPS,PPS,SEI,slice_header(),slice_data(),SEI,slice_header(),slice_data()*

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