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)