FreeBSD Manual Pages
MP4(3) MP4 File Format Library MP4(3) DESCRIPTION The MP4 library provides an API to create and modify mp4 files as de- fined by ISO-IEC:14496-1:2001 MPEG-4 Systems. This file format is de- rived from Apple's QuickTime file format that has been used as a multi- media file format in a variety of platforms and applications. It is a very powerful and extensible format that can accomodate practically any type of media. The basic structure of an mp4 file is that the file is a container for one or more tracks. These tracks contain one type of media, such as au- dio or video. Each track has its own timeline, samples, and properties. An example of a sample is a frame of video. The file describes how to synchronize the timelines of the tracks and the aggregate properties of the tracks. The MP4 library is focussed on providing an easy to use API for the mp4 file format. It has been used with an encoder, a server, a player, and a number of mp4 utilities. However, it may not be adequate for multime- dia editors that wish to work directly with mp4 files. It can be used by these type of tools to export an mp4 file. (The library is open source so contributions of extensions to the library are welcome.) In providing a easy to use API not all the information in the mp4 file is directly exposed via the API. To accomodate applications that need access to information not otherwise available via the API there are file and track level generic get and set property routines that use ar- bitary string property names. To use these routines you will need to be familar with the mp4 file specification or be willing to wade thru the output of MP4Dump() to determine what you want. See MP4GetIntegerProp- erty() for more details. INVOCATION The libary API is defined in <mp4.h> which includes all the necessary dependent include files. The MP4 library can be used by either C or C++ programs. The calling convention is C, but if C++ is used then the default argument feature of that language can be used. For example: MP4Create("foo.mp4", 0, 0, 0); /* OK in C++ and C */ MP4Create("foo.mp4"); /* OK in C++, ERROR in C */ EXAMPLES See mpeg4ip/lib/mp4v2/util and mpeg4ip/lib/mp4v2/test for simple exam- ple programs that use the MP4 library. In particular: mp4nullcreate.cpp Program that creates an empty mp4 file. mp4dump.cpp Simple program to print a text version of an mp4 file mp4extract.cpp Program to read each track and sample and place them in a separate file to ease inspection or recombination. mp4broadcaster.cpp Program to broadcast the hinted tracks of an mp4 file using RTP. mp4nullvplayer.cpp Program that reads the video track but doesn't actually render the video. For more complete applications that use the MP4 library see mpeg4ip/server/mp4creator, mpeg4ip/server/mp4live, and mpeg4ip/player/src. Cisco Systems Inc. Version 0.9 MP4(3)
DESCRIPTION | INVOCATION | EXAMPLES
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MP4&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>