使用 FFMPEG 解析 NAL 单元

发布于 2024-11-09 00:11:32 字数 491 浏览 0 评论 0原文

我是 MPEG-4 的新手,正在慢慢学习它。我使用 FFMPEG 作为参考。

  1. 我知道所有 mpeg-4 都被编码为 NAL 单元,并且 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

I am new to MPEG-4 and taking baby steps to learn it. I am using FFMPEG as reference.

  1. I understand that all mpeg-4 are encoded into NAL units and wrt to FFMPEG av_read_frame() function returns one NAL unit, Am I right? Is frame a NAL unit? (though it can be a combination of multiple NALs)

  2. I also saw that h264_parser.c implements a function called h264_parse which is calling parse_nal_units() inside, If i need to get NAL units how can I use this parse_nal_units from my main function?

  3. What is av_parse_Parse2() function do? does it return decoded NAL units?

  4. OR FFMPEG has -vbsf h264_mp4toannexb switch to dump raw NAL units, Can somebody help me understand how I can use the same from my main function?

Please help me out here...
-ash5

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请远离我 2024-11-16 00:11:32

对于问题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 节“语法”以表格形式”为您的应用程序。

For question 1:
The following article has links that will help you understand what NALs are.

In h264 NAL units means frame.?

NALs are divided into several types, and depending on the type can contain decoding parameters (SPS, PPS), enhancement information (SEI) and video samples (slice header and data). A common sequence from a broadcast transport stream would be SPS, PPS, SEI, slice_header(), slice_data(), SEI, slice_header(), slice_data() *

You probably don't need to understand ISO 14496-10 section 7.3 "Syntax in tabular form" for your application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文