Log in

View Full Version : Puzzling problem with video stream in an MP4 file


PaulJBis
19th December 2005, 00:42
Hi all:

Aside of my problem with H264 Apple trailers (see below), I'm also having a strange issue with a straightforward MP4 file. I'm talking about the one that you can download, for example, here:

http://www.archive.org/details/ChallengerAccidentandInvestigation

Quicktime Player 6 plays it without problems. I'm trying to play it with Media Player Classic/ffdshow, though, and while the audio sounds fine, video *only* plays if you set up ffdshow to decode the DIVX4 format (see attached screenshot). I've done all kinds of tests, setting up ffdshow to decode MP43, MP42, DIVX 5, XViD, none of them, etc., etc... and I'm sure of this: ffdshow only decodes the video when you activate DIVX4 (either using libavcodec or XViD, doesn't matter). If you don't, the error that Media Player shows is that "The following pins failed to find a connectable filter":


Stream 0

Media Type 0:
--------------------------
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {7634706D-0000-0010-8000-00AA00389B71}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 174

Media Type 1:
--------------------------
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {5634504D-0000-0010-8000-00AA00389B71}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 174


Why does this happen? From what I've read here, the MPEG4 video streams in MP4 files aren't neither DIVX nor XVID nor anything, but just "MPEG4", and I've confirmed this using MP4INFO (it says "MPEG4 L1 simple profile" or something like that), so I don't understand the cause of this curious obssesion with DIVX4 (nor I understand why Media Player Classic talks about "FORMAT_MPEG2_VIDEO", when it's not MPEG2).

My software is Windows XP SP2, Media Player Classic 6.4.8.6 and the ffdshow build of 20051208.

Elias
29th December 2005, 05:17
Why does this happen? From what I've read here, the MPEG4 video streams in MP4 files aren't neither DIVX nor XVID nor anything, but just "MPEG4", and I've confirmed this using MP4INFO (it says "MPEG4 L1 simple profile" or something like that), so I don't understand the cause of this curious obssesion with DIVX4 (nor I understand why Media Player Classic talks about "FORMAT_MPEG2_VIDEO", when it's not MPEG2).If you check the OSD box in ffdshow, and some of the boxes in OSD, you might be able to see which MPEG-4 codec was used and what kind of settings were applied when encoded.

foxyshadis
29th December 2005, 14:16
{7634706D-0000-0010-8000-00AA00389B71} = mp4v. Check the hex->ascii.

I believe what ffdshow did was choose the DIVX/MP4V section to treat as "generic" MPEG-4, since they can't really have an option for the various divx levels in addition to a generic one. (Probably chosen because DIVX is the standard compatibility 4CC of xvid & ffmpeg.) Of course it'd be nice if it said so, but otherwise doesn't seem like a bug or anything like that.

bond
29th December 2005, 18:22
most mp4 splitters output the "mp4v" fourcc for .mp4 files. ffdshow supports the mp4v fourcc when divx4 is enabled

not a problem at all...

PaulJBis
29th December 2005, 23:06
I checked the OSD box in ffdshow and yes, it says "MP4V" as FourCC when playing MP4 files.

Of course it's not a problem (after all, it *plays* the videos, which is what counts), but it certainly is a... quirk. Had me completely confused and wondering what did DIVX4 have that DIVX5 or XVID didn't...

Elias
29th December 2005, 23:08
Check the encoder info in the OSD.

foxyshadis
29th December 2005, 23:46
http://sourceforge.net/tracker/index.php?func=detail&aid=1393213&group_id=53761&atid=471492

Feel free to chime in if you have better ideas or think it's stupid.

bond
30th December 2005, 00:03
divx4-6 and xvid are all mpeg-4 compliant, so strictly speaking there shouldnt even be the need to seperately handle them

Elias
30th December 2005, 01:28
divx4-6 and xvid are all mpeg-4 compliant, so strictly speaking there shouldnt even be the need to seperately handle themWasn't XviD not 100% MPEG-4 compliant before XviD 1.0? I remember some fuss about it back in 2002. Same thing about DivX4 actually; when DivX5 was released, DXN boasted about how their new codec version was 100% MPEG-4 compliant (as if the older versions weren't).

bond
30th December 2005, 11:32
Wasn't XviD not 100% MPEG-4 compliant before XviD 1.0? I remember some fuss about it back in 2002. Same thing about DivX4 actually; when DivX5 was released, DXN boasted about how their new codec version was 100% MPEG-4 compliant (as if the older versions weren't).no

there are additional problems, like packed bitstream, that cause incompliancy to mpeg-4, but thats more a container issue, not a codec one

Elias
1st January 2006, 09:01
no

there are additional problems, like packed bitstream, that cause incompliancy to mpeg-4, but thats more a container issue, not a codec oneI see. Well I can't say that I've ever had any problems with losslessly converting DivX4/XviD0.9.x version to pure mp4 files.

bond
1st January 2006, 15:27
I see. Well I can't say that I've ever had any problems with losslessly converting DivX4/XviD0.9.x version to pure mp4 files.mp4box gets rid of the problems

Elias
1st January 2006, 17:22
mp4box = love