Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

MP4 Containers created by MP4Box fail to parse having 'meta' atom set

Open
#414 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
28/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
rust

Research direction

Reproduce the MP4Box command from the issue using the ffmpeg conversion steps, then call mp4parse::read_mp4 on the resulting file. Compare parsing with and without the meta atom and trace where CheckParserStateErr is returned. Done means the reported MP4 parses successfully or the unsupported structure is reported explicitly; the related GPAC issue may provide context.

Written by the indexing model from the issue text.

Description

Hello there,

I have issues when I'm trying to convert Original Sony ILCE-7M4 movies to HEVC with a lower bitrate, and adding a META box / atom via MP4Box.
I do the following steps:

First I CONVert the ORIGinal File
ffmpeg -i "${ORIGFILE}" -preset faster -c:v libx265 -crf 17 -c:a aac_at -b:a 192k -movflags use_metadata_tags+faststart -map_metadata 0 -tag:v hvc1 "${CONVFILE}"

Then I add a meta box to a new PROCessed file (previously I added XML data to the meta, but this does not make any difference)
MP4Box -add "${CONVFILE}#1" -add "${CONVFILE}#2" -set-meta meta:tk=1 -new "${PROCFILE}"

When I then try to parse the file via mp4parse::read_mp4(&mut file).unwrap() I get thread 'main' panicked at 'called Result::unwrap()on anErr value: InvalidData(CheckParserStateErr)'

Can you please have a look at this? In the gpac area I already tried to investigate what happens, but I have to confess that I'm not an expert obviously ;). -> https://github.com/gpac/gpac/issues/2603

Thank you very much,
Joachim

Dominant language
Rust
Stars
448
Forks
72
Avg merge
20d 3h
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mozilla/mp4parse-rust

All issues in mozilla/mp4parse-rust

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.