MP4Box is a multimedia packager, with a vast number of functionalities: conversion, splitting, hinting, dumping and others. It is a command-line tool. It can import MPEG-4 video, DivX, XviD, 3ivx, h264 etc, audio streams and subtitles into the .mp4 container. The end result is a compliant MP4 stream. It can also extract streams from a .mp4. MP4Box is a command line tool, but can be used with graphical user interfaces such as YAMB or my MP4box GUI.

Download MP4 FastStart here or here(direct link), it adjusts the MP4s metadata to allow for Flash players to play them right away, while it progressively downloads. Or use mp4box with the hint command(mp4box -hint video.mp4)

GPAC 0.5.0
Posted on 25 May 2012 by Jean
Release 0.5.0 of GPAC is finally out, with many new features and bug fixes, including:
- MPEG-DASH and HLS support (players and MP4Box)
- MPEG-U Widgets and UPnP support in the player
- Stereo and multiview display support
- Better AVC and SVC support including OpenSVC decoder integration
- More live tools: RTP, MPEG-TS, T-DMB support, scene encoders (BIFS and RME/DIMS)
- iOS and Android support
- and many other good things

Revision: 2706
Author: bad_sheep
Date: 12:34:39, samedi 26 février 2011
Message:
Don't know if we have to abort, but at least write an error message when read size if not the one expected
----
Modified : /trunk/gpac/modules/mpegts_in/mpegts_in.c

Revision: 2564
Author: bad_sheep
Date: 14:36:50, lundi 27 décembre 2010
Message:
We now initialize SSL only if needed, this avoid to spoil a few kilobytes of memory. Also avoid to init SSL two times if several download managers are used
----
Modified : /trunk/gpac/src/utils/downloader.c

- fix sliding window issues with M3U8 files
- initURL is now optional for MPD files
- when GF_NET_SERVICE_QUERY_NEXT was issued, it was locked if another download was pending.
No longer the case except when less than two cache files are present, so it won't
stop playing while downloading files
- added function gf_dm_get_url_info to get information about an URL including canonial form,
should be extended to get path information, port and so on...
- many other fixes...

Revision: 1998
Author: cconcolato
Date: 12:13:34, mardi 7 septembre 2010
Message:
New attempt at importing properly SVC streams:
- SSPS are stored directly in the SVC track
- PPS are first stored in the AVC track and when referenced by an SVC NAL Unit (in the slice header), then it is moved to the SVC track
----
Modified : /trunk/gpac/include/gpac/internal/media_dev.h
Modified : /trunk/gpac/src/media_tools/av_parsers.c
Modified : /trunk/gpac/src/media_tools/media_import.c

Revision: 1997
Author: cconcolato
Date: 12:07:48, mardi 7 septembre 2010
Message:
Fix for parsing comments in xml files, especially when comments are as follows:
<!--<g id="draft-watermark">
The < is present right after the !-- and was mistakenly interpreted
Maybe a general fix should be needed here
----
Modified : /trunk/gpac/src/utils/xml_parser.c

Revision: 1987
Author: bad_sheep
Date: 09:52:31, jeudi 26 août 2010
Message:
Pierre SOUCHAY : Bug fix in NDT_V2_GetNumBits(NDT_Tag) function in charge of determining the number of bits to be read for Group 2 nodes. Function would return 1 in case the NDT does not exist in the group, whereas 0 should be returned (as in similar methods for other groups).
----
Modified : /trunk/gpac/src/bifs/bifs_node_tables.c

* Massive improvements of the SVG support - checkout the W3C SVG Implementation Report
* Integrated 2D/3D renderer with support for mixed 2D/3D drawing (documents mixing BIFS, SVG, VRML/X3D)
* Support for 3GPP DIMS (hinting, streaming and file playback).
* Support for AC3 muxing in ISO Media and AC3 decoding in GPAC
* Added support for MPEG-4 over MPEG-2 systems (T-DMB)
* Improvements on Symbian version
* And many small fixes and improvements in MP4Box and GPAC clients

31/05/07: GPAC 0.4.4
- Added support for XMLHttpRequest for both VRML/MPEG-4 and SVG. All methods should be supported, but only GET/HEAD have been tested
- Added a basic subset of DOM Core for xml doc (XMLHttpRequest, SVG) and moved the uDOM implementation in it.
- Added support for SVG focus & navigation in 2D renderer
- new SVG scene graph implementation with much lower memory usage
- Updated LASeR to new SVG implementation and fixed many bugs in codec
current LASeR binary version should now be in sync with the latest spec (IS+COR, AMD still to be done)
- Added support for some LASeR tools:
- conditional
- clipBegin/clipEnd and syncReference on audio/video elements
- WARNING:
* other LASeR (non-SVG) v1 elements and all v2 elements are NOT supported
* LASeR save/restore and sendEvents are NOT supported
* SAF handling is likely not conformant yet
- Moved default SVG implementation to dynamic attribute allocation
- ALSA output module
- DVB support for Linux - connection URL is dvb://ChannelName, cf doc/configuration.html
- Moved ISMA decryption to run-time module for basic DRM tests
- Added support for NAT Keep Alive (RTP streaming only)
- Two new test apps:
mp4_streamer: RTP unicaster/mulitcaster
mp42ts: MPEG-2 TS sample gateway, can output to file or to RTP. Supports ISO file and SDPs (RTP only, no RTSP) as input.
- Changed default behavior in MP4Box when adding AAC-SBR with explicit signaling: full SBR Samplerate is now used in media track.
- Added JP2 and MJP2 support for mux/demux and playback - latest version of openjpeg (1.1) used for decoding (Win32 only).
Win32 user: if you don't want to install openjpeg, remove GPAC_HAS_JP2 from img_in project settings
- large code rewrite in scenegraph and 2D renderer to lower memory usage
- added support for OMA DRM2 packaging in MP4Box (doc to come)
- Symbian OS now supported. Build instructions are in doc/INSTALL.symbian. Network is NOT working on symbian yet
- Major speed improvement of XML SAX parser
- added unthreaded mode in MP4Client (-no-thread switch) to test behavior on symbian
- added fullscreen startup mode in MP4Client (-fs switch)
- better handling of iTunes tags in MP4Box (set/get) and in players (title display)
- added support for multiple RTSP sessions in an SDP description
- added support for faked broadcast mode in SDP (forbids any timeline control by player except initial play/final stop)
syntax is (in media SDP section, per stream): a=gpac-broadcast:1
- added ffmpeg support for WinCE devices (ffmpeg for WinCE is available in gpac_extra_libs)
- added GPAC log system

- moved key/mouse event subsystem to DOM3 model
- Fixed handling of QT V1 and V2 audio descriptions
- Misc source code reorganization for RTP (depacketizers now in libgpac, no longer in plugins)
- Fixed support for IPV6 and for multicast (IPV4 and IPV6). Some issues remain with IPV6 on Win32 XP, so IPV6 is disabled by default on Win32
- Fixed handling of negative delays when adding/appending media tracks with MP4Box
- moved ffmpeg headers to latest CVS version (05/01/2007).
- fixes in MPEG2 TS import and demuxer
- added detection of FPS for raw AVC import when present
- fixed a display freezing bug in osmo4 for PocketPC 2003.
- added support for svg animation and svg use with external resources
- cleanup of MPEG-4 RemoteOD + support for segment identifiers at scene level
- some workarounds for iPod file producing (special UUID needed) (-ipod option, auto on for .m4a and .m4v extensions)
- added windowless mode on Win32: transparent background color is defined in the config file ( [Rendering] ColorKey )
- major speed improvements in MPEG-4/VRML scripts and SVG uDOM regarding node creation
- and a lot more bug fixes...

21/07/06: GPAC 0.4.2
- commit of GPAX (GPAC ActiveX) - controller only works in IE and ActiveX control tester for now.
- API changes to Osmozilla to keep in sync with GPAX. Sample html file can be found in applications/GPAX.
- both plugin now support browser navigation (ie link to html within MPEG-4 content)
- Plugins can be used to modify the presentation from a parent HTML doc
- check sample files in regression tests for more details
- iTune tagging support, (patch from Andrew Voznytsa with slight modif). Tagging can be done with MP4Box -itags option. The tags are passed in a single string, separated by ':', formatted as 'tag_name=tag_value'. Supported tags names are: album, artist, comment, compilation, composer, created, disk, encoder, genre, name, tempo, track, tracknum, writer.
NOTE: to make sure you mp4 is importable on an iPod, you must:
- use .m4a extension
- specify the right brands: MP4Box -brand "M4A " -ab mp42
This process is automated in MP4Box for all file with extension .m4a
- added MPEG-1/2 raw importing (extensions: .m1v and .m2v).
- cleanup of all Makefiles:
no more recursive makes for libgpac
gpac can now be compiled outside the main source tree with gcc, eg $ ~/cvs/test>../gpac/configure
- Support for VobSub import and export (.idx) thanks to a great patch from Falco !
- initial version of MPEG-2 TS demuxer (MP4Box and client plugin)
program-based import for MPEG-2 TS streams (MP4Box -add file.ts#program=ProgName).
- initial IPV6 support
- MP42AVI is now deprecated. MP4Client can now be used to produce uncompressed bmp/raw/AVI, dumping the complete presentattion rather than just BIFS scenes (audio is currently not extracted). Usage:
MP4Client -bmp 1-2.5-3 file.mp4 take screenshots of file.mp4 aty T=1, 2.5 and 3 seconds
MP4Client -avi -fps 15.0 -size 176x144 file.mp4 produces an uncompressed AVI of resolution 176x144, framerate 15
MP4Client -avi 4-10 file.mp4 produces an uncompressed AVI of the scene between 4 and 10 seconds
Check MP4Client man page for more details.
- added support for major brand versioning in MP4Box: "-brand GPAC:2" will set the major brand to GPAC, with a version of 2.
- regression tests (.bt and .x3dv) are now part of GPAC source tree
changed all audio and video media in regression tests.
- added 2D/3D selection param for osmozilla: use3d="true" or use3d="false" to force renderer used.
- added support for importing AMR/SMV/EVRC file missing their magic number
- moved all language handling to both ISO 639-1 (2 char code) and 639-2 (3 char code), as 639-1 is used in SVG.
- removed old XML parser, all parsing now relies on a new GPAC SAX parser (avoid dependency on libxml when unneeded).
- support for progressive loading support for XMT and X3D files.
- new svg_in module using gpac sax parser (supports progressive loading too)
- cf configuration.html or man gpac for more info on progressive loading control
- added 'define' support in BT - to use it just do:
#define symbol blab labl a
and reuse the symbol in the BT text. This may be quite buggy, but it can be usefull
- support for Scene Carousel in hinters, core and rtp reassembler. Currently only BIFS and BIFS+AV can be use the scene carousel, carouseling of
static data (eg images) is not supported. The OD data must be embedded in the IOD a la ISMA.
- added FPS and size info dumping for MPEG and AVI file import (MP4Box -info file.mpg)
- improved 3D renderer while checking the X3D conformance suite
- changed MPEG-4 SP -> AVI to add VOSH before each I-frame
- Experimental support for LASeR (encoder, decoder and decoder module).
- Far from behing complete or usable at this time, binary syntax not 100% safe and COR to standard is in edition stage...
- LASeR RAP generation in MP4Box
- added SAF (LASeR Simple Aggregation Format) support: mux and demux (MP4Box) + SAF input plugin.
Basic LASeR usage:
encoding: MP4Box -mp4 file.svg, MP4Box -saf file.svg
decoding: MP4Box -svg file.mp4, MP4Box -xsr file.mp4 (dumps to LASeRML format)
- added patch from FT R&D for simple anim mask encoding needed for FAP/BAP streams on FDT/BDP nodes.
- added patch for drift-controled interleaving (interleaves while trying to keep chunk synchronized). This is now the storage mode of MP4Box, old interleaving is possible with -old-inter option.
- added support for tight interleaving without hinting in MP4Box.
- added support for delayed concatenation (-cat file.mp4:delay=2000 test.mp4)
- added "-name" option to MP4Box (track import and general cmd line opt) for setting the track handler name
- More SVG improvements and features:
- support for SVG scripting (ecmascript through SpiderMonkey) - a good subset of microDOM is supported (!! presentation traits are missing).
- support for SVG events (DOM)
- support for SVG scene dumping
- SVG Tiny 1.2 gradients + gradient matrix (1.1 feature)
- SVG.preserveAspectRatio support
- system color paint
- basic conditional processing (switch)
- SMIL anim events (begin, end, restart)
- added PAR modification support to MP4Box (import time and file based)
- improved precision of IsoMedia file spliting
- added NHML import/export. NHML is an XML representation of the NHNT file, with add-ons and a more flexible way of integrating media. Doc to come on web site
- clean-up of 2D direct rendering mode:
* no more bounds tracking for less memory usage
* automatically mode switch to direct rendering when using slide navigation (pan&zoom)
- clean-up of soft raster:
* removed all bezier curbs handling, let gpac core handle those
* paths are now always flatten to reduce rastering times
* misc optimizations of scanline converter (no more Y-sorting, only X-sorting used)
- speed improvements in BT/WRL loader
- updated makefiles for compilation under GPE
- made FreeType plugin log unknown fonts in general cfg file to speed up font selection.
- changed module naming - all modules are now prefixed with "gm_", and module is loaded/unloaded at run-time
- changed isomedia file open API for better support of temporary directories
- simplified 2D blitter for non DirectX output: no more in-middle surface used, direct stretch, blit and yuv conversion to back buffer
- added software and hardware support for MaterialKey in 2D renderer
- Support for SP2003 and PPC2003
- added all project files for evc4
- added osmophone to gpac/applications, demo player for Smartphone devices (tested on SPV C500 and PocketPC)
- support for GDI drawing on WinCE to avoid weird menu behaviour in windowed mode
- added support for OpenGL-ES in 3D renderer, in DX and in GAPI plugins
* tested with Hybrid Graphics and Vincent3D implementations
* Klimt could compile but no decent results
* Result tested on PocketPC/SmartPhone 2003 and regular windows
- added LASeR XML to SVG loader
- improved SRT -> 3GPP convertion - now accepts any number of <b>, <i>, <u> tags at random places.

28/07/05: GPAC 0.4.0 release
** GPAC is now licensed under LGPL. **
Massive code rewrite and repository reorganization in order to comply to some base coding style (cf gpac/doc/CODING_STYLE) have taken place
since previous release. Documentation is still a work in progress.
APIs are not backward compatible, but should now be in a frozen state/spelling for the most common tools (utils, MPEG-4 OD, IsoMedia and terminal APIs)

- Fixed FAAD multichannel support with latest FAAD CVS version (bug due to FAAD inner channel creation). Latest version should
support both multichannel and AAC radios.
- added support for normal drawing (for debug purposes) in 3D renderer
- adedd support for single instance of Osmo4/w32
- changed audio configuration options to "Number of buffers" and "TotalDuration"
- fixed old bug in audio renderer screwing up the audio from time to time
- moved ffmpeg to latest CVS version (25/07/05). THIS VERSION IS NO LONGER COMPATIBLE with previous ones used in GPAC, update
your binaries!! Also updated ffmpeg plugin to new ffmpeg API
- moved all fullscreen handling to dedicated windows, refinement of wxOsmo4.
- more work on x11 plugin (events handling, 3D support) - THIS IS EXPERIMENTAL AT THIS RELEASE LEVEL, CHECKOUT CVS FOR BETTER SUPPORT...
- fixed anamorphic video handling in GPAC, both playing (2D and 3D) and MP4Box parsers (only done for MPEG-4 Visual, not AVC). Video is
now only rescaled at blit time
- changed ';' separators to ':' seprators in MP4Box (meta options and track import options) for linux prompt compatibility.
- misc fixes in tx3g track import, tx3g bt dump and couple of issues introduced in 0.3.0->0.4.0 migration
- misc cleanup of GF_VideoOutput interface.
- started doc manager using doxygen (doxyfile added in gpac/doc). APIs may be slightly reworked during the documentation phase.
Documentation will only be produced for libgpac, eg all exported headers in gpac/include/gpac
Development APIs documentation (gpac/include/gpac/internal) will come later.
- cleaned up IsoMedia reading for more efficient and more reliable parsing
- misc fixes in MP4Box option parsing, in RTP multicast setup
- Osmozilla should now be much more stable on Win32 - Linux version to come.

09/11/04: GPAC 0.2.2 release
- Xiph OGG demuxer: supports file, http download (not tested) and icecast servers.
- Xiph Vorbis decoder
- Xiph Theora support (should work with fluendo but I can't get any data from the server...)
- Better FFMPEG support (moved to latest ffmpeg cvs tarball).
- all file associations in client are made through mime types, and changed handling of service (mime type query if possible before loading plugin)
- network stats & changed all UIs for that.
- decoder stats & changed all UIs for that.
- nicer Osmo4/wxGTK
- shoutcast support in mp3 reader
- Install doc cleanup
- MP4Box "-single" option now work for 3GP files
- MP4Box "-rem TrackID" option to remove a track
- made 3GP hinter produce QT-compatible streams (as usual QT only accepts specific RTP timescales)
- moved M4Systems to a dynamic lib (static is still first built & used for MP4Box)
- moved all scene decoders (bifs, OD and context loader) to real plugins
- moved BT & XMT parsers from stdio to ZLIB io, in order to support GZIPed VRML & X3D (and consequently, BT and XMT-A ;). GPAC CAN NO LONGER COMPILE WITHOUT ZLIB
- massive cleanups in scenegraph & MPEG-4 node naming convention
- !!!scene graph no longer customizable without code hacking!!!
- X3D scene graph generator (decided NOT TO SUPPORT VRML 97 extensions, since they are in X3D and with a different format...)
- updated vrml tools for X3D support (Double precision coords & RGBA colors)
- culling of AABB tree against frustum at draw stage in 3D renderer - greatly speeds up large meshes & terrains rendering
- support for weird cyclic graphs in scenegraph (mainly to support encoding of conditionals). Works with nodes as well, configurable through scenegraph but this can
likely crash a renderer other than GPACs (tested with blaxxun & old GPAC versions, crash works each time:)
- lighting and transformations now properly set in 3D renderer
- improved gravity (ground detection) and added jump in walk mode (right click or 'j')
- support for streams without systems timing knowledge (non MPEG4), eg streams where timing is computed after decoding (and not given by transport layer) for simpler ogg support.
- support for multiple URL in VRML nodes (including remote script)
- '#Viewpoint' and 'URL#Viewpoint' support in Anchor and Inline - #segment_name is not supported and should not be used (not standard IMHO)
- ColorRGBA support for X3D
- texture generator (only "SPHERE-LCOAL" and "COORD" supported for now)
- XML scene dumper now supports X3D (scene dumping API has changed)
- X3D support in BT and XMT-A loader
- updated 3D renderer & ESM for X3D support
- added X3D geometry2D nodes in 3D renderer
- Anchor.activate now works with no children
- plethora of bug fixes

The newest revisions of "x264" have revealed that the older builds of MP4Box were not "100% standard-compliant". If you need/want an up-to-date version of MP4Box, download it from one of the URLs below:

MP4Box is an absolutely invaluable tool for all your MP4 needs. Most people will want/need a UI (ex: Yamb).

Posted September 30, 2009 by OAKside.

Tool version 0.4.6 Dev
using OS Vista

Ease of use 8
of 10

Functionality 9
of 10

Value for money 10
of 10

Overall score 9
of 10

3 comments,
Showing
1 to
3 comments

-

1 tool hits, Showing
1 to
1 tools

-

Explanation:NEW SOFTWARE= New tool since your last visitNEW VERSION= New version since your last visitNEW COMMENT= New comment since your last visit

Type and downloadNO MORE UPDATES? = The software hasn't been updated in over 2 years.NO LONGER DEVELOPED = The software hasn't been updated in over 3 years.RECENTLY UPDATED = The software has been updated the last 31 days.Freeware = Free software.Free software = Free software and also open source code.Freeware/Adware = Free software but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.Free software/Adware = Free software and open source code but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.Trialware = Also called shareware or demo. Trial version available for download and testing with usually a time limit or limited functions.Payware = No demo or trial available.Portable version = A portable/standalone version is available. No installation is required.
v1.0.1 = Latest version available.
Download beta = It could be a BETA, RC(Release Candidate) and even a ALPHA version of the software.
Download (direct link) = A direct link to the software download.
Download (developer's site) = A link to the software developer site.
Download (mirror link) = A mirror link to the software download. It may not contain the latest versions.
Download old versions = Free downloads of previous versions of the program.
Download 64-bit version = If you have a 64bit operating system you can download this version.
Download portable version = Portable/Standalone version meaning that no installation is required, just extract the files to a folder and run directly. = Windows version available. = Mac OS version available. = Linux version available.
Our hosted tools are virus and malware scanned with several antivirus programs using www.virustotal.com.