My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

The MP4 Parser Project

ISO Parser

The isoparser API can read and write the MP4 file structure. It is a low level tool dealing with the so called boxes but it is as well as dealing with structure like tracks and movies. For examples see Examples.

If you have any questions please ask at the mp4parser discussion group. I don't do private support.

ISO Viewer

The Iso Viewer helps you to visualize the MP4 box structure. It is available as Java Webstart application and as well as download. Give it a try by clicking the webstart link on the top left. You must be aware that you don't see the file as it is on disk. You rather see what the isoparser would write to disk. Sometimes mov boxes (e.g. apple trailers) are read but corrected/modified on the fly so you will see how the file would look like after the correction.

Maven Repository

The isoparser artifact is deployed to maven central. Using mp4parser is just a dependency away:

<dependency>
  <groupId>com.googlecode.mp4parser</groupId> 
  <artifactId>isoparser</artifactId> 
  <version>1.0-beta-5</version> 
</dependency> 

If you don't know how to user Maven you should learn!

In case of any questions please post publicly on the mp4parser-discussion google group. I will not give any private support (donations can of course convince me to do it).

Credits

YourKit supports this project with a free open source license. Thank you, YourKit!

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products:

YourKit Java Profiler and YourKit .NET Profiler

Changes/Releases

9.Jan.12: isoparser-1.0-beta-5 released

  • Change: BoxContainer#getClass now also returns subclasses
  • Added MS TfrfBox
  • Added MS Tfxd box
  • Added TrackEncryptionBox ('tenc' & 'uuid' variant)
  • Added SampleEncryptionBox

22.Nov.11: Iso Viewer 1.2 released

No substantial change over 1.2-SNAPSHOT. Using latest beta-4 release of isoparser as base.

21.Nov.11: isoparser-1.0-beta-4 released

It was time for a release. I added a lot of stuff without providing a release of the new features.

Changes:

  • Added ItemDataBox, PiffSampleEncryptionBox ('uuid' )
  • Added ability to keep uuid box to class references in isoparser-default.properties
  • Added TrickPlayBox ('trik') and ESDescriptorBox ('esds')
  • Added AVCNalUnitStorageBox ('avcn') and BaseLocationBox ('bloc')
  • Added AssetInformationBox ('ainf')
  • Added SampleAuxiliaryInformationOffsetsBox ('saio') and SampleAuxiliaryInformationSizesBox ('saiz')
  • Tweaked memory consumption especially when parsing a file with raw audio
  • Added XmlBox ('xml ')
  • Added CompositionShiftLeastGreatestAtom ('cslg')
  • Made IsoBufferWrapper an interface and added various implementations
  • Made MetaBox sensible to the different definitions (apple handles it as full box, iso as box (or the other way round - don't remember))

4.Nov.11: new isoviewer snapshot.

  • Application now restores its size, position, last opened file and last opened boxes
  • Application has an icon and shows opened file in title
  • ESDescriptors are now parsed and shown (isoparser feature)
  • ftyp shows subtypes (again)
  • Due to annotation parsing this release is around 1.2MB. I don't think this kind of annotation processing is necessary. I think I will remove it and rather list all required classes.
  • Tweaked memory consumption for tracks with fixed sample size (e.g. raw audio)

23.Sept.11: new isoviewer snapshot.

  • co64 is taken into account
  • size and dimension of isoviewer window is remembered
  • paths of open boxes are tried to reopen in the left tree if a new file is opened.

The latest Iso Viewer 1.2-SNAPSHOT introduces major changes to the UI and underlying structures. Tracks, chunks and samples are no longer children of mdat boxes. Tracks and samples now got the place they deserve. A second tab now displays all tracks of the opened file and allows listing of all samples of a certain track.

ALWAYS use a hex editor if you need to be really sure what is in the actual file.


Powered by Google Project Hosting