Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My MP4 library seems to become corrupt(actual file system issue) from time to time. I believe it was foobar and not the hardrive(was initial though but all tests are ok) as I saw some issue foobar in a change log.

In any case, it would be really nice to be able to test the integrity of the mp4 files which are generated by Nero's mp4(aac) encoder.

Unfortunately I do not know if any of the mp4's are corrupt or not(as I can't go listen to every one). I'm hoping there is some crc/edc stored in the mp4 so that I can check but I have found virtually nothing online.

I plan on hashing my library(I know, doesn't work well with tags) once I can verify it is ok.

I really hope there was some EDC added when I converted/created the mp4's... if not, there are some very stupid people in the world!

Anyways, anyone have a clue?

share|improve this question
There's no embedded checksum for MP4 files to my knowledge. In order to find out whether they're not corrupt, you'll have to try decoding them. – slhck Jan 5 '13 at 20:17
@slhck huh? If there is no embedded checksum then what good will decoding them do? Unless you mean by ear, in which case it would take for ever. If you decode them and get an error message then there must be some type of checksum unless if you mean the file is not readable. – Archival Jan 5 '13 at 21:21
If the file doesn't conform to the syntax (because of some bit error or other corruption), then you'd only find out while decoding, because the decoder may not be able to read a correct syntax. But there's no general checksum for the entire file you can rely on. Only if the MP4 ftyp or moov MP4 atom was broken, that would signify a broken file. But those are small parts at the beginning and the end. If the mdat (the actual data) is broken, that'd be hard to diagnose. You could try to get AtomicParsley and run atomicparsley file.m4a --test for a tag analysis. – slhck Jan 5 '13 at 21:30
@slhck I made a small change in an mp4. There was no decoder error. Hence there is no decoding checksum in any way. This means that mp4's do not protect against errors. This is pretty poor. A few extra bytes could save a lot of trouble. (Of course it is possible the decoder self-corrected the errors, but I doubt it) I think the designers of the mp4/aac format need to be bitch slapped... (unless they were very smart and implemented the ability to self correct, which then they deserve the a Nobel prize) – Archival Jan 5 '13 at 22:00

You must log in to answer this question.

Browse other questions tagged .