12) How can I "anamorphic resize" with MP4?
As the MPEG-4 Standard aims to be a "multi-talent", satisfying everyone's needs, it offers 3 possibilites:
1)
on the video bitstream level: maybe the most practicable and widely used method atm
use a codec which allows the setting of a PAR (eg 3ivx, ffmpeg/ffvfw, XviD), than mux the resulting AVI into MP4 by using any MP4 muxer (for example the
3ivx mp4 muxer,
MP4Box or
mp4UI). On already existing bitstreams you can change the PAR on MPEG-4 ASP with Moitah's
MPEG4 Modifier, on AVC with hhanh's
ARChange or on both formats with MP4Box
Anamorphic playback also already works automatically with VideoLAN, MPlayer or on DShow with the 3ivx, Nero or Haali parsers together with the XviD (set AR to auto), 3ivx (enable "force overlay"), Nero or ffdshow (enable "overlay mixer") decoder filter
2)
on the container level: MP4 offers the possibility to use a "Composition Matrix", which allows the changing of the AR, rotating of the picture, multilayer handling, mixing of two audio streams during playback (eg seperated speech and music in movies)...
Quicktime/Pro already offers many composition possibilities via Movie -> Get Movie Properties -> Video/Sound Track -> Size/Layer/Volume/... and the correct playback of such composed MP4 files
3)
on the BIFS level: which allows the broadest range of authoring possibilities (question 11) and therefore also changing of the AR (eg via Transform2D.scale)
for creating and playing with this BIFS control stream you can use the
GPAC project tools: MP4Box and Osmo4
13) Is it possible to create Variable Framerate (VFR) content in MP4?
Yes, it is possible
- with
timecode files
- by
appending mp4 files
- by
dropping n-vops in ASP
-
handbrake is able to encode vfr mp4 files from vfr input files (eg mpeg-2 telecined streams)
14) How can i play MP4 files?
as one of the big advantages of MP4 is interoperability and being an open standard (license free!) there already exist a lot of different tools supporting it on as good as all systems including Mac, Linux, PocketPC and of course Windows:
1) if you want to play any multimedia file in a directshow based player (for example
media player classic,
bsplayer,
zoomplayer or the crappy windows media player) first of all two things are needed for playback:
- a
splitter/parser filter, which splits up the container file into the included streams (audio, video, subtitles) during playback
- a
decoder filter, which decodes the encoded streams (for example ffdshow, 3ivx, CoreAAC)
btw. the only reason why you don't have to install a splitter for AVI is that it is already installed on windows by default
there are some packages available, which include such filter:
-
Gabest's MP4 Splitter supports AAC, ASP, AVC, MPEG-1/2 Audio (eg MP2/MP3) and Video, advanced TTXT, VobSubs and Chapters in MP4, opensource (Gabest's MPC player has this splitter inbuilt)
-
Haali's Media Splitter supports AAC, ASP, AVC, MPEG-1/2 Audio (eg MP2/MP3) and Video, basic TTXT, VobSubs and Chapters in MP4, audio/video/subtitle streams switching, is unlimited, partly opensource and freely available
-
3ivx supports MP2, MP3, AAC, ASP, chapters but NOT AVC in MP4! For using it with alternative decoders like
ffdshow or
CoreAAC tick the "allow unsupported decoders" option
-
Elecard offers a MP4 splitter able to handle AAC, ASP and AVC, together with ASP/AVC decoders
-
Nero supports AAC, ASP, AVC, VobSubs and Chapters (works in Nero7 only in Nero Showtime! in Nero6 subs/chapters/multiple audio is limited to Showtime)
-
CyberLink
-
HDX4 supports AAC and ASP in MP4
-
EnvivioTV handles advanced content/BIFS (
sample), AAC, ASP and AVC in MP4
-
Moonlight offers a MP4 splitter able to handle MP3, AAC, ASP and AVC, together with ASP/AVC decoders
- Dicas'
mpegable, supports RTP streaming, AAC, ASP and AMR (.3gp audio) decoding
- Ligos'
LSX-MPEG, Simple Profile Video only, Demo limited to 30 days
2) if you can't/won't use windows-centric directshow you can also use one of the following players for playing MP4:
- Apple's
Quicktime, widely used, supports MPEG-4 SP, AVC and AAC
- Realnetworks'
RealPlayer 10, supports MPEG-4 SP + B-frames (only in the "plus" version) and AAC
-
GPAC's Osmo4, opensource (GPL), able to decode BIFS (subtitles, user interactivity, dvd-like menus...) and TTXT
-
MPlayer, opensource (GPL), handles ASP and AVC, available for various OSes, like Win, Linux, Mac OS...
-
Videolan, opensource (GPL), handles ASP and AVC, various OSes supported
-
MPEG4IP's WMP4Player, opensource (LGPL/MPL), handles ASP and AVC
-
xine, opensource (GPL), various OSes supported
-
TCPMP, available also for PalmOS/WindowsCE
- Philips'
Platform4 Player, also offering a player for PocketPC
-
ENST's Osmo4 (based on the reference source), able to decode advanced content/BIFS
- IBM's M4Play included in their
Toolkit for MPEG-4, Java-based, able to decode advanced content/BIFS
3) hardware/standalone players: As the most popular MPEG-4 ASP implementations (DivX5/XviD) were often placed in AVI, thats the most widely supported format on hardware players atm. Still the guys from Nero, together with increasing consumer demand, try to push support for the MP4 container on hardware players, with increasing success:
MP4 enabled hardware players are:
-
Avayon's DXP-1000 supports AAC, ASP, VobSubs and Chapters in MP4
-
elta's 8815 MP4 supports AAC, ASP, VobSubs and Chapters in MP4
-
Gowell's AS 602 supports AAC, ASP, VobSubs and Chapters in MP4
-
Grundig's GDP 2550/3550/3560/3570/9550 supports AAC, ASP, VobSubs and Chapters in MP4
-
KiSS's DP-558 supports AAC, ASP (no QPel/GMC), VobSubs and Chapters in MP4 (Sigma Designs EM8560)
-
Packard Bell's DVD-DivX 450 pro supports AAC, ASP, VobSubs and Chapters in MP4
-
Philips's DVP630/632/642 players support ASP (no QPel/1WP GMC) and MP3 audio (no AAC) in MP4 (ESS Vibratto-II)
-
RJTech's RJ 1500DVX II supports AAC (5.1), MP3, ASP (QPel/1WP GMC/CQM), VobSubs, Chapters in MP4 (ESS Vibratto-II)
-
Siemssen's SCO 5000 ND supports AAC (no MP3/MP2), ASP (QPel/1WP GMC), VobSubs, Chapters in MP4 (Zoran Vaddis 776)
-
Targa's DR-5200x supports AAC, ASP, VobSubs and Chapters in MP4
- Tevion DR 2004, supports AAC, ASP (QPel/GMC?) and VobSubs in MP4
- Tevion DVD-4000, with latest
firmware supports ASP (no QPel/1WP GMC?) and MP3 audio (no AAC) in MP4 (ESS Vibratto-II)
-
Xoro's HSD 415/310 players supports AAC, ASP (no QPel/1WP GMC?), VobSubs, Chapters in MP4 (ESS Vibratto-II)
- M$'s
Xbox with the
Xbox Media Center is supposed to support MP2, MP3, AAC and AVC in MP4
-
Sony's Playstation Portable (PSP) supports AAC, SP and AVC in MP4 from Memory Stick
- Apple's
iPod supports AAC in MP4, iPod video supports additionally AVC in MP4
- Sigma Designs'
Xcard handles hardware MPEG-4 decoding on PC including the MP4 container
15) How can i (live-)stream/play streamed MP4 files?
Apple and MPEG4IP offer nice and free tools when it comes to streaming MP4:
As streaming server you can use
Apple's Darwin Streaming Server, Guides on the process are available from
everwicked and
linuxjournal
for live streaming you can use mp4live from
MPEG4IP (only for Linux), Guides from
everwicked and
MPEG4IP; on Windows you can use
MPEGRecorder (which seems to be a port of mp4live)
Also have a look at the tools from
ViTooKi (opensource Streaming Server, Player and other tools)
Another free and opensource MP4 streaming server is available from
Cata
for MAC you can have a look at
Live Channel
To play broadcasted MP4 files you can use Apple's
Quicktime, Real's
RealPlayer 10, MPEG4IP's
WMP4Player, Dicas'
mpegable and
EnvivioTV (both work in dshow players) and GPAC's
Osmo4 (the last two also support streamed advanced content/user interactivitiy (
interactive demo from Envivio)
also you can play streamed MP4 without the need to install a player (!) with the java applets from
MediaFrame (
demos) and
IBM (
interactive demos)
streaming samples:
1 2
16) Where can i find a MP4 bitrate calculator? Why are MP4 files created from AVI smaller than the source itself?
MP4 needs far less overhead than the AVI container (especially with VBR-MP3), no wonder cause in contrary to AVI the MP4 container was designed for storing MPEG-4 Video and MP3
As a rule of thumb you can say that the video AVI filesize = final audio+video MP4 size (like 700MB) - audio MP4 size + 3MB
3ivx also offers a MP4 bitrate calculator on their
website, but it doesnt seem to be very accurate
17) Does MP4 support CRC/EDC or ECC?
No, the MP4 container itself doesnt handle this as the MPEG-4 standard expects the Error Detection/Correction to be placed in the bitstreams (where it belongs)
read more about Error Resilience in MPEG-4 bitstreams
here
18) Is it possible to find out which codecs where used to create a MP4 file?
Yes, this is already possible for MPEG-4 ASP video streams and MP3 Audio streams (currently no real solution for AAC exists)
read more about it
here
19) Is MP4 the successor of MP3?
Yes and No. No, because MP3 is one specific type of audio format, whereas MP4 is a container format and not an audio codec. Yes, because MP4 is part of the MPEG-4 Standard, which can be taken as the successor of the MPEG-1/2 standard, where MP3 was part of.
MPEG-4 also includes AAC, an audio codec better than MP3, which most of the time comes in the MP4 format
20) Is MP4 the same as MOV/3GP?
Apple's MOV container format was indeed taken as a starting point for MP4 (mainly the moov atom), but there are differences between them (eg AAC audio is stored differently in both).
MP4 on the other hand itself was the starting point for the development of the 3GP format (mainly for mobile phones), which has more in common with MP4 as MP4 with MOV for example, but still is a different format
21) I want to read more about MP4! Where can i find more infos?
there are a lot of infos availabe on the net:
the specs for MP4 are available
here. a draft of the MPEG-4 Systems Standard can be found
here
some documentation on MP4 is also available from
here,
here and
here
there is also info on the homepage of the
MPEG Industry Forum or the
Motion Picture Experts Group (MPEG). FAQs are available about the
MPEG-4 Standard or especially about
MPEG-4 Systems (very technical)
other infos can be found on the
audiocoding wiki (with a lot of info also about
AAC)
Guides on MPEG4IP are available about
MP4 creation,
compiling issues or on their
CVS Server
(thanks a lot to hans-jürgen and ac-chan123 for these links)
cheers,
bond