Thread: MP4 FAQ
View Single Post
Old 4th October 2003, 14:45   #2  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
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
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free

Last edited by bond; 22nd March 2008 at 20:37.
bond is offline   Reply With Quote