mp4creator(1)

NAME

mp4creator - creates and modifies mp4 files

SYNTAX

mp4creator [options] <filename.mp4>

DESCRIPTION

This program creates or modifies mp4 files. Supported operations are to add media tracks, add hint tracks, extract a track, delete a track, and optimize the layout of the mp4 file.

Currently the program understands how to import media from MP3 audio files, AAC audio files (ADTS), and MPEG-4 video files. These original media files are known as elementary stream (ES) files in MPEG parlance.

Note MP3 files frequently have embedded tags (ID3) that list information such as title and artist. These tags are not carried forward into the mp4 file.

To add a media track to an mp4 file, use the "-create=<file>" option to specify the ES file. Note if two files names are given on the command line with no operation specified, the create operation is assumed.

To add a hint track to an mp4 file you need to know the track id of the media track you want to hint. This can be determined by invoking mp4creator with the "-list" option to obtain a list of existing tracks and their type. Once you've determined the track id, use the "-hint=<track-id>" option to create the hint track. Currently the program understands how to create hint tracks for MPEG audio, and MPEG-4 video.

When adding tracks, mp4creator does not attempt to optimize the file layout for streaming and playback. This can be done once all the desired tracks have been added with the "-optimize" option.

To extract a track from an mp4 file, and reconstruct the elementary stream (ES), use the "-extract=<track-id>" option. For this operation the first file name on the command line should be the .mp4 file. If a second file name is given, the track data will be written to that file, otherwise the data will be written a file with the same name as the .mp4 file will the additional suffix ".t<track-id>"

To delete an undesired track from an existing mp4 file, use the "-delete=<track-id>" option. Note a side effect of deleting a track is that the optimization operation is invoked.

Detailed diagnostics are available via the "-verbosity=<level>" option. Levels 1-5 are available.

OPTIONS

-aac-old-file-format
    Use 58 bit ADTS headers in aac file

-aac-profile=[2|4]
    Force AAC to mpeg2 or mpeg4 profile

-c, -create=<file>
    Create a media track using <file>. File must have either .mp3 .aac .divx or .mp4v extension.

-e, -extract=<track-id>
    Extract the specified track.

-d, -delete=<track-id>
    Delete the specified track and all it's associated data.

-H, -hint=<track-id>
    Create a hint track for the specified media track. Note this option can be used when creating the media track in which case no track id is necessary. The appropriate RTP payload format is chosen based on the media track content.

-I, -interleave
    Use an interleaved RTP payload format for an audio hint track. Currently this is only valid for AAC audio hint tracks.

-l, -list
    Print a list of tracks in the specified mp4 file and exit.

-m, -mtu=<size>
    Specifies the network maximum transmission unit (MTU) to use when creating hint tracks. The default value is 1500.

-mpeg4-video-profile=<level>
    Mpeg4 video profile override

-O, -optimize
    Optimize the layout of the mp4 file to interleave the data in time, hence reducing disk seeks during streaming or playback. This also arranges the mp4 file so that the media control information is at the beginning of the file. This allows HTTP streaming of the mp4 file.

-r, -rate=<fps>
    Specifies video frame rate (frames per second) when creating a video media track. The value can be either an integer or floating point number. It may be necessary to specify this parameter for some MPEG-4 video streams due to encoding bugs.

-use64bits
    Allow use of larger than 2GB worth of data in the resulting mp4file. This option must be used during creation.

-use64bitstime
    Allow the use of 64 bit timestamps. This option must be used during creation. Use of this option will not allow local playback on Quicktime

-v, -verbosity=<level>
    Causes increasing levels of diagnostics to be printed. A level includes details of all lower levels. Levels are:
        1    Details concerning reading and writing
        2    Details about control tables
        3    Details about media samples
        4    Details about media hints
        5    Details about everything

-help
    Prints help information.

EXAMPLES

To create an audio only mp4 file:
    mp4creator foo.mp3 foo.mp4

To create a video only mp4 file:
    mp4creator foo.divx foo.mp4

To create an audio and video file:
    mp4creator foo.mp3 foo.mp4
    mp4creator foo.divx foo.mp4

To create an audio and video file, hinted, and optimized for streaming:
    mp4creator foo.mp3 -H foo.mp4
    mp4creator foo.divx -H -O foo.mp4

To extract a video track from an mp4 file:
    mp4creator -extract=1 foo.mp4 foo.divx

AUTHORS

David Mackie <dmackie@cisco.com>
Bill May <wmay@cisco.com>

SEE ALSO

mp4encode(1) gmp4player(1)