Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6950451
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T14:05:38+00:00 2026-05-27T14:05:38+00:00

I am writing a tool for inspecting MP4 files (aka ISO base media file

  • 0

I am writing a tool for inspecting MP4 files (aka ISO base media file format , ISO 14496 part 12).

I can interpret the majority of the boxes listed in ISO 14496-12 that are generated by OSS.
I have yet to figure out how to extract individual video access units and audio access units.

I’m reasonably confident that the H.264 video in the ‘mdat’ box does not have the ISO 14496-10 Annex B “0x000001” prefix on the NAL units.

I have experimented with interpreting the SampleToChunkBox(‘stsc’), SampleSizeBox(‘stsz’), and ChunkOffsetBox(‘stco’) to locate media samples inside the ‘mdat’, but I can’t seem to find anything that I can interpret as a nal_unit() (ISO 14496-10 section 7.3.1) or a slice_header() ( section 7.3.3 ).

I am also curious where the SPS (7.3.2.1) and PPS (7.3.2.2) live. I have a suspicion these live somewhere inside the ‘trak’ box, but I haven’t figured out where.

Pointers to applications or libraries are of limited utility. I’m writing an application, and external source code is harder to understand (being encumbered by its own framework) when compared to a mathematical explanation.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T14:05:38+00:00Added an answer on May 27, 2026 at 2:05 pm

    After spending a couple of hours shoveling through other questions on stackoverflow, I eventually stumbled upon brief responses that led me to a more comprehensive answer.

    Parsing H264 in mdat MP4

    The encapsulation of H.264 within ISO media files is covered by ISO
    14496 part 15. The SPS and PPS are stashed in the ‘avcC’ box
    documented in section 5.3.4.1.2 and 5.2.4.1.1. This box also tells
    you how long the length fields are when interpreting the samples.

    The samples are documented in section 5.2.3 and consist of a series of
    NAL units prefixed by a length. An example MP4 from ffmpeg has one
    slice per sample, but the very first sample includes an SEI
    containing text documenting the version of the H.264 codec and the
    encoding parameters.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am writing a tool to scrape Javadoc from pre-existing Java source files and
I am writing a tool take performs a task on text file. The task
I'm writing a Java tool to validate SQL statements. For SELECT queries, I can
I am writing a tool to log battery charge to a CSV file (I
I am writing a tool take performs a task on text file. The task
I'm writing a tool, and the first part of that tool is to collect
I'm writing a tool to automatically generate .egg files from python projects. The tool
I'm writing a tool in Perl that needs to scan for certain binary patterns
I'm writing a tool which will push changes to database after commit to svn.
I'm writing a tool which enables a user to interact with a bit of

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.