MP4Box -h
$ MP4box -h
MP4Box [option] input [option]
-h general: general options help
-h hint: hinting options help
-h import: import options help
-h encode: encode options help
-h meta: meta handling options help
-h extract: extraction options help
-h dump: dump options help
-h swf: Flash (SWF) options help
-h crypt: ISMA E&A options help
-h format: supported formats help
-nodes: lists supported MPEG4 nodes
-node NodeName: gets MPEG4 node syntax and QP info
-xnodes: lists supported X3D nodes
-xnode NodeName: gets X3D node syntax
-snodes: lists supported SVG nodes
-snode NodeName: gets SVG node syntax
-languages: lists supported ISO 639 languages
-quiet: quiet mode
-v: verbose mode
-version: gets build version
MP4Box - GPAC version 0.4.4
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X
MP4Box -h general
$ MP4box -h general
General Options:
-inter time_in_ms interleaves file data (track chunks of time_in_ms)
* Note 1: Interleaving is 0.5s by default
* Note 2: Performs drift checking accross tracks
* Note 3: a value of 0 disables interleaving
-old-inter time same as -inter but doesn't perform drift checking
-tight: performs tight interleaving (sample based) of the file
* Note: reduces disk seek but increases file size
-flat stores file with all media data first, non-interleaved
-frag time_in_ms fragments file (track fragments of time_in_ms)
* Note: Always disables interleaving
-out filename specifies output file name
* Note: By default input (MP4,3GP) file is overwritten
-tmp dirname specifies directory for temporary file creation
* Note: Default temp dir is OS-dependent
-no-sys removes all MPEG-4 Systems info except IOD (profiles)
* Note: Set by default whith '-add' and '-cat'
-no-iod removes InitialObjkectDescriptor from file
-isma rewrites the file as an ISMA 1.0 AV file
-ismax same as '-isma' and removes all clock references
-3gp rewrites as 3GPP(2) file (no more MPEG-4 Systems Info)
* Note 1: some tracks may be removed in the process
* Note 2: always on for *.3gp *.3g2 *.3gpp
-ipod rewrites the file for iPod
-brand ABCD[:v] sets major brand of file, with optional version
-ab ABCD adds given brand to file's alternate brand list
-rb ABCD removes given brand from file's alternate brand list
-cprt string adds copyright string to movie
-chap file adds chapter information contained in file
-rem trackID: removes track from file
-new: forces creation of a new destination file
-rem trackID: removes track from file
-lang [tkID=]LAN: sets track language. LAN is the ISO 639-2 code (eng, und)
-delay tkID=TIME: sets track start delay in ms.
-par tkID=PAR: sets visual track pixel aspect ratio (PAR=N:D or "none")
-name tkID=NAME: sets track handler name
* NAME can indicate a UTF-8 file ("file://file name"
-itags tag1[:tag2]: sets iTunes tags to file - more info: MP4Box -tag-list.
-split time_sec splits in files of time_sec max duration
* Note: this removes all MPEG-4 Systems media
-split-size size splits in files of max filesize kB.
* Note: this removes all MPEG-4 Systems media
-split-chunk S:E extracts a new file from Start to End (in seconds)
* Note: this removes all MPEG-4 Systems media
MP4Box - GPAC version 0.4.4
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X
$ /Applications/Video/mp4box_EvalVid/MP4Box -h hint
Hinting Options
-hint: hints the file for RTP/RTSP
-mtu size: specifies RTP MTU (max size) in bytes. Default size is 1450
* Note: this includes the RTP header (12 bytes)
-copy: copies media data to hint track rather than reference
* Note: speeds up server but takes much more space
-multi [maxptime]: enables frame concatenation in RTP packets if possible
maxptime: max packet duration in ms (optional, default 100ms)
-rate ck_rate: specifies rtp rate in Hz when no default for payload
* Note: default value is 90000 (MPEG rtp rates)
-mpeg4: forces MPEG-4 generic payload whenever possible
-latm: forces MPG4-LATM transport for AAC streams
-static: enables static RTP payload IDs whenever possible
* By default, dynamic payloads are always used
MPEG-4 Generic Payload Options
-ocr: forces all streams to be synchronized
* Most RTSP servers only support synchronized streams
-rap: signals random access points in RTP packets
-ts: signals AU Time Stamps in RTP packets
-size: signals AU size in RTP packets
-idx: signals AU sequence numbers in RTP packets
-iod: prevents systems tracks embedding in IOD
* Note: shouldn't be used with -isma option
-add-sdp string: adds sdp string to (hint) track ("-add-sdp tkID:string")
or movie. This will take care of SDP lines ordering
* WARNING: You cannot add anything to SDP, cf rfc2327.
-unhint: removes all hinting information.
$ /Applications/Video/mp4box_EvalVid/MP4Box -h import
Importing Options
File importing syntax:
"#video" "#audio": base import for most AV files
"#trackID=ID": track import for IsoMedia and other files
"#pid=ID": stream import from MPEG-2 TS
":dur=D": imports only the first D seconds
":lang=LAN": sets imported media language code
":delay=delay_ms": sets imported media initial delay in ms
":par=PAR": sets visual pixel aspect ratio (PAR=Num:Den)
":name=NAME": sets track handler name
":fps=VAL": same as -fps option
":agg=VAL": same as -agg option
":par=VAL": same as -par option
":dref": same as -dref option
":nodrop": same as -nodrop option
":packed": same as -packed option
":sbr": same as -sbr option
":sbrx": same as -sbrx option
":mpeg4": same as -mpeg4 option
-add file: add file tracks to (new) output file
-cat file: concatenates file samples to (new) output file
* Note: creates tracks if needed
-keep-sys: keeps all MPEG-4 Systems info when using '-add' / 'cat'
-keep-all: keeps all existing tracks when using '-add'
* Note: only used when adding IsoMedia files
All the following options can be specified as default or for each track.
When specified by track the syntax is ":opt" or ":opt=val".
-dref: keeps media data in original file
-no-drop: forces constant FPS when importing AVI video
-packed: * forces packed bitstream when importing raw ASP
-sbr: backward compatible signaling of AAC-SBR
-sbrx: non-backward compatible signaling of AAC-SBR
* Note: SBR AAC cannot be detected at import time
-fps FPS: forces frame rate for video and SUB subtitles import
* For raw H263 import, default FPS is 15
* For all other imports, default FPS is 25
-- THIS IS IGNORED FOR IsoMedia IMPORT --
-mpeg4: forces MPEG-4 sample descriptions when possible (3GPP2)
-agg N: aggregates N audio frames in 1 sample (3GP media only)
* Note: Maximum value is 15 - Disabled by default
$ /Applications/Video/mp4box_EvalVid/MP4Box -h encode
MPEG-4 Scene Encoding Options
-mp4: specify input file is for encoding.
-def: encode DEF names
-sync time_in_ms: forces BIFS sync sample generation every time_in_ms
* Note: cannot be used with -shadow
-shadow time_ms: forces BIFS sync shadow sample generation every time_ms.
* Note: cannot be used with -sync
-log: generates scene codec log file if available
-ms file: specifies file for track importing
Chunk Processing
-ctx-in file: specifies initial context (MP4/BT/XMT)
* Note: input file must be a commands-only file
-ctx-out file: specifies storage of updated context (MP4/BT/XMT)
LASeR Encoding options
-auto_quant res: resolution is given as if using -resolution
but coord-bits and scale-bits are infered
-resolution res: resolution factor (-8 to 7, default 0)
all coords are multiplied by 2^res before truncation
-coord-bits bits: bits used for encoding truncated coordinates
(0 to 31, default 12)
-scale-bits bits: extra bits used for encoding truncated scales
(0 to 4, default 0)
$ /Applications/Video/mp4box_EvalVid/MP4Box -h meta
Meta handling Options
-set-meta args: sets given meta type - syntax: "ABCD[:tk=ID]"
* ABCD: four char meta type (NULL or 0 to remove meta)
* [:tk=ID]: if not set use root (file) meta
if ID is 0 use moov meta
if ID is not 0 use track meta
-add-item args: adds resource to meta
* syntax: file_path + options (':' separated):
tk=ID: meta adressing (file, moov, track)
name=str: item name
mime=mtype: item mime type
encoding=enctype: item content-encoding type
* file_path "this" or "self": item is the file itself
-rem-item args: removes resource from meta - syntax: item_ID[:tk=ID]
-set-primary args: sets item as primary for meta - syntax: item_ID[:tk=ID]
-set-xml args: sets meta XML data
* syntax: xml_file_path[:tk=ID][:binary]
-rem-xml [tk=ID]: removes meta XML data
-dump-xml args: dumps meta XML to file - syntax file_path[:tk=ID]
-dump-item args: dumps item to file - syntax item_ID[:tk=ID][:path=fileName]
-package: packages input XML file into an ISO container
* all media referenced except hyperlinks are added to file
$ /Applications/Video/mp4box_EvalVid/MP4Box -h extract
Extracting Options
-raw TrackID: extracts track in raw format when supported
-raws TrackID: extract each track sample to a file
* Note: "TrackID:N" extracts Nth sample
-nhnt TrackID: extracts track in nhnt format
-nhml TrackID: extracts track in nhml format (XML nhnt).
* Note: "-nhml +TrackID" for full dump
-single TrackID: extracts track to a new mp4 file
-avi TrackID: extracts visual track to an avi file
-qcp TrackID: same as '-raw' but defaults to QCP file for EVRC/SMV
-aviraw TK: extracts AVI track in raw format
$TK can be one of "video" "audio" "audioN"
-saf: remux file to SAF multiplex
* Note: can be used when encoding scene descriptions
$ /Applications/Video/mp4box_EvalVid/MP4Box -h dump
Dumping Options
-std: dumps to stdout instead of file
-info [trackID] prints movie info / track info if trackID specified
* Note: for non IsoMedia files, gets import options
-bt: scene to bt format - removes unknown MPEG4 nodes
-xmt: scene to XMT-A format - removes unknown MPEG4 nodes
-wrl: scene VRML format - removes unknown VRML nodes
-x3d: scene to X3D/XML format - removes unknown X3D nodes
-x3dv: scene to X3D/VRML format - removes unknown X3D nodes
-lsr: scene to LASeR format
-diso: scene IsoMedia file boxes in XML output
-drtp: rtp hint samples structure to XML output
-dts: prints sample timing to text output
-sdp: dumps SDP description of hinted file
-dcr: ISMACryp samples structure to XML output
-ttxt: Converts input subtitle to GPAC TTXT format
-ttxt TrackID: Dumps Text track to GPAC TTXT format
-srt: Converts input subtitle to SRT format
-srt TrackID: Dumps Text track to SRT format
-stat: generates node/field statistics for scene
-stats: generates node/field statistics per MPEG-4 Access Unit
-statx: generates node/field statistics for scene after each AU
$ /Applications/Video/mp4box_EvalVid/MP4Box -h swf
SWF Importer Options
MP4Box can import simple Macromedia Flash files (".SWF")
You can specify a SWF input file with '-bt', 'xmt' and '-mp4' options
-global: all SWF defines are placed in first scene replace
* Note: By default SWF defines are sent when needed
-ctrl: uses a dedicated stream for movie control
* Note: Forces '-global'
-no-text: removes all SWF text
-no-font: removes all embedded SWF Fonts (terminal fonts used)
-no-line: removes all lines from SWF shapes
-no-grad: removes all gradients from swf shapes
-quad: uses quadratic bezier curves instead of cubic ones
-xlp: support for lines transparency and scalability
-flatten ang: complementary angle below which 2 lines are merged
* Note: angle '0' means no flattening
$ /Applications/Video/mp4box_EvalVid/MP4Box -h crypt
ISMA Encryption/Decryption Options
-crypt drm_file: crypts a specific track using ISMA AES CTR 128
-decrypt [drm_file] decrypts a specific track using ISMA AES CTR 128
* Note: drm_file can be omitted if keys are in file
-set-kms kms_uri changes KMS location for all tracks or a given one.
* to adress a track, use 'tkID=kms_uri'
DRM file syntax for GPAC ISMACryp:
File is XML and shall start with xml header
File root is an "ISMACryp" element
File is a list of "ISMACrypTrack" elements
ISMACrypTrack attributes are
TrackID: ID of track to en/decrypt
key: AES-128 key formatted (hex string '0x'+32 chars)
salt: CTR IV salt key (64 bits) (hex string '0x'+16 chars)
Encryption only attributes:
Scheme_URI: URI of scheme used
KMS_URI: URI of key management system
* Note: 'self' writes key and salt in the file
selectiveType: selective encryption type - understood values are:
"None": all samples encrypted (default)
"RAP": only encrypts random access units
"Non-RAP": only encrypts non-random access units
"Rand": random selection is performed
"X": Encrypts every first sample out of X (uint)
"RandX": Encrypts one random sample out of X (uint)
ipmpType: IPMP Signaling Type: None, IPMP, IPMPX
ipmpDescriptorID: IPMP_Descriptor ID to use if IPMP(X) is used
* If not set MP4Box will generate one for you
$ /Applications/Video/mp4box_EvalVid/MP4Box -h format
Suppported raw formats and file extensions:
NHNT .media .nhnt .info
NHML .nhml (opt: .media .info)
MPEG-1-2 Video .m1v .m2v
MPEG-4 Video .cmp .m4v
H263 Video .263 .h263
AVC/H264 Video .h264 .h26L .264 .26L
JPEG Images .jpg .jpeg
PNG Images .png
MPEG 1-2 Audio .mp3, .m1a, .m2a
ADTS-AAC Audio .aac
AMR(WB) Audio .amr .awb
EVRC Audio .evc
SMV Audio .smv
Supported containers and file extensions:
AVI .avi
MPEG-2 PS .mpg .mpeg .vob .vcd .svcd
MPEG-2 TS .ts .m2t
QCP .qcp
OGG .ogg
ISO-Media files no extension checking
Supported text formats:
SRT Subtitles .srt
SUB Subtitles .sub
GPAC Timed Text .ttxt
QuickTime TeXML Text .xml (cf QT documentation)
Supported Scene formats:
MPEG-4 XMT-A .xmt .xmta .xmt.gz .xmta.gz
MPEG-4 BT .bt .bt.gz
VRML .wrl .wrl.gz
X3D-XML .x3d .x3d.gz
X3D-VRML .x3dv .x3dv.gz
MacroMedia Flash .swf (very limitted import support only)
$ /Applications/Video/mp4box_EvalVid/MP4Box -nodes
Available MPEG-4 nodes in this build (encoding/decoding/dumping):
Anchor
AnimationStream
Appearance
AudioBuffer
AudioClip
AudioDelay
AudioFX
AudioMix
AudioSource
AudioSwitch
Background
Background2D
Billboard
Bitmap
Box
Circle
Collision
Color
ColorInterpolator
CompositeTexture2D
CompositeTexture3D
Conditional
Cone
Coordinate
Coordinate2D
CoordinateInterpolator
CoordinateInterpolator2D
Curve2D
Cylinder
CylinderSensor
DirectionalLight
DiscSensor
ElevationGrid
Extrusion
Fog
FontStyle
Form
Group
ImageTexture
IndexedFaceSet
IndexedFaceSet2D
IndexedLineSet
IndexedLineSet2D
Inline
LOD
Layer2D
Layer3D
Layout
LineProperties
ListeningPoint
Material
Material2D
MovieTexture
NavigationInfo
Normal
NormalInterpolator
OrderedGroup
OrientationInterpolator
PixelTexture
PlaneSensor
PlaneSensor2D
PointLight
PointSet
PointSet2D
PositionInterpolator
PositionInterpolator2D
ProximitySensor2D
ProximitySensor
QuantizationParameter
Rectangle
ScalarInterpolator
Script
Shape
Sound
Sound2D
Sphere
SphereSensor
SpotLight
Switch
TermCap
Text
TextureCoordinate
TextureTransform
TimeSensor
TouchSensor
Transform
Transform2D
Valuator
Viewpoint
VisibilitySensor
WorldInfo
AcousticMaterial
AcousticScene
ApplicationWindow
DirectiveSound
Hierarchical3DMesh
MaterialKey
PerceptualParameters
TemporalTransform
TemporalGroup
ServerCommand
InputSensor
MatteTexture
MediaBuffer
MediaControl
MediaSensor
CoordinateInterpolator4D
NonLinearDeformer
PositionAnimator
PositionAnimator2D
PositionInterpolator4D
ScalarAnimator
Clipper2D
ColorTransform
Ellipse
LinearGradient
PathLayout
RadialGradient
TransformMatrix2D
Viewport
XCurve2D
XFontStyle
XLineProperties
123 nodes supported - 48 nodes not supported