Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers
Register FAQ Calendar Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 14th June 2004, 12:53   #1  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
HowTo find out which codecs where used to create a MP4 file

as in MP4 all streams are "equal", no matter what codec was used to create them, its not that easy to find out which codec was used for the creation of a specific MP4 file, but its possible:

MPEG-4 ASP Video:

in AVI a so called FourCC System is used to describe the stored content (the fourcc normally tells the used encoder (unless someone changed it) and allows only specifc decoders to connect to a specific fourcc (DivX5 decoder by default connects to the DIVX/DX50 fourcc, XviD decoder to the XVID fourcc aso...))
in MP4 for storing MPEG-4 Video nothing comparable to a FourCC exists! why should it exist? all streams are MPEG-4 compliant anyways (DivX5 = MPEG-4 = XviD) so why mark them as "DIVX", "XVID" aso...? for example are MP3 audio files marked using a fourcc? allowing only specific MP3 decoders to connect to them? wouldnt make much sense, right?
therefore in MP4 all MPEG-4 (A)SP video streams are equally marked as "mp4v"

now how to find out what encoder was used?

most mpeg-4 asp encoders mark in the video bitstream (not in the container), in the so called "user data"/"bitstream description", that the stream was encoded by them

this info can be read out by the nice MPEG4VOL tool, which is part of the MPEG4IP toolset (thanks to DeXT, you can download it here. beaware the version on rarewares is outdated and will not work correctly!).
mpeg4vol is a commandline tool and therefore you have to feed it with the following commandline (copy it to a .txt file, place it in the same folder as mpeg4vol.exe, rename the .txt to .bat and execute it):
Code:
mpeg4vol.exe "c:\path to\file.mp4"
it will now display a whole bunch of infos about the video stream and at the end under "user data" hopefully one of the following known descriptions indicating the used encoder (they dont have to be 100% the same):
Code:
XviD: 			XviD0029 	("DivX999b000p" indicates packed bitstream, "C" cartoon mode)
DivX5: 			DivX503b1031 	("p" indicates packed bitstream has been used)
ffmpeg/ffvfw/ffdshow: 	FFmpeg0.4.8b4684
3ivx: 			3ivx@—
NeroDigital: 		em4v 4.1.4.14
Quicktime/Sorenson/DivX4: these MPEG-4 encoders dont seem to set a bitstream info
as alternative to mpeg4vol you can also extract the video stream to AVI with your favourite tool and than analyse it with the nice DRF Analyser tool via Analyse DivX -> View Report
dont look at "FourCC" cause it most likely will not be the correct one, have a look at "Codec", which shows the bitstream description on the bitstream level (DRF Analyser simply displays the used FourCC again (like DIVX, which doesnt mean that DivX5 was used of course) if no bitstream info has been set (like with Quicktime/Sorenson/DivX4 streams))


MPEG-4 AAC Audio:

to my knowledge the current AAC encoders dont set an user data comparable to the video codecs, or at least no tool exists to read it out, but its possible already to identify nero and faac encoded streams:
open up the MP4 containing the nero/faac aac track in the foobar audio player, right click -> properties -> technical info
on files encoded with newer versions of faac/nero there will be displayed which version was used to encode the stream. with files outputted by other encoders nothing will be displayed

this is not a good solution, i know, and it also seems that this info gets lost if you export to .aac and transmux to another .mp4


MP3 Audio

as its the case for AAC audio there also is no 100% correct method to get to know what codec was used to encode a MP3 stream, but there is a smart tool existing which is able to detect the encoder most of the time correctly: EncSpot
it is really a must have tool for every MP3 freak
__________________
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; 26th June 2004 at 00:24.
bond is offline   Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:12.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.