View Full Version : Problems with MP4Creator/MP4UI


K-Dash
22nd January 2004, 10:55
Is anyone experiencing problems with the new XviD beta3 file in a MP4 container? I can't seem to have it load properly in either MP4UI or MP4creator.

edit: changed thread title

bond
22nd January 2004, 17:43
1) as this topic doesnt belong to the mp4menu thread i splitted it

2) :readfaq: mp4creator/mp4ui cant handle b-frames right when muxing to mp4 - dont use it!
use the 3ivx mp4 muxer instead

symonjfox
22nd January 2004, 20:25
Hi, I noticed the same problem as K-Dash had.
I have to say that beta 2 worked well with Mp4ui and Mp4creator (0.9x).

Now, with beta3, I always get the NOT ISMA COMPILANT error (with or without Packed Bitstream). In the beginning, I didn't pay much attention, and I kept these files, they played correctly. Now I found an error that bores me. I can't seek on the file, else it freezes 3ivx decoder or Nero Digital decoder.

Then I read this topic and I want to try to demux and remux these files using Graphedit.

The result works well, except that when I try to seek, it seems that the player try to decode anything before the point I want to reach, so in a big file, it takes several minutes before reaching the right point.

bond
23rd January 2004, 11:19
symonjfox,
did you try to en/disable the "use frame accurate seeking" in the 3ivx splitter, maybe that causes the seeking troubles!?

symonjfox
23rd January 2004, 14:27
I tried to disable it. Nothing has changed. :(

Xvid beta 3 is the problem! I tried to mux an old dev3 xvid to mp4, and another Xvid beta 2, no problems.

My settings:
704,576 anamorpic 16:9, No packed bitstream, 2 pass, Qpel, VHQ4, Chroma motion. Everything else at default.

The problems is shown also with other settings (eg. No Qpel, or MPEG quant ...).

I've no time to test today, Can anybody test if anamorphic encode is the matter? or Xvid itself is the matter?

PS: Also Nero Digital Decoder had this problem while playback ...

shitowax
23rd January 2004, 18:57
Sounds like keyframes info are lost when remuxing ... I'm gonna do some tests with the 3ivx muxer and xvid beta 3.

Originally posted by symonjfox
I tried to disable it. Nothing has changed. :(

Xvid beta 3 is the problem! I tried to mux an old dev3 xvid to mp4, and another Xvid beta 2, no problems.

My settings:
704,576 anamorpic 16:9, No packed bitstream, 2 pass, Qpel, VHQ4, Chroma motion. Everything else at default.

The problems is shown also with other settings (eg. No Qpel, or MPEG quant ...).

I've no time to test today, Can anybody test if anamorphic encode is the matter? or Xvid itself is the matter?

PS: Also Nero Digital Decoder had this problem while playback ...

symonjfox
23rd January 2004, 20:25
Originally posted by shitowax
Sounds like keyframes info are lost when remuxing ... I'm gonna do some tests with the 3ivx muxer and xvid beta 3.
I think the problem is in the ISMA compilance (the problem that mp4ui shows me), because if I turn it off it works (with this kind of bug in seeking).

Now I'm testing with a Divx5 file in MP4 to see the difference. I think that the matter is Xvid b3 itself.
Divx test works!
It sounds strange that nobody else noticed this trouble ...
Once I thought it was a kind of software problem, but after a refresh of my winxp ... and some testing ...

Drachir
23rd January 2004, 21:06
Ich have the same problem when I use mp4creator ( versio 1.0 Linux ) with XviD 1Beta3 (avidemux2/1B-frame).

I can't seek in the file with:

3ivx DShow filter
xine/mplayer

I can seek with:

VLC 7.0
Fraunhofer IIS MPEG-4 Player

I would like to repair this file but a demux/remux with Graphedit/3ivx muxer dont help.

Stux
24th January 2004, 08:00
If someone can post a link to a small file which exhibits the problem (or PM) or email a small clip to bugs@3ivx.com we'll try and take a look to see what's up.

Thankyou.

Phobos
24th January 2004, 20:37
maybe doom9 should update the mp4 guide to warn about b-frames... so is this a 3ivX problem or Xvid problem???

edit: well i read a little more thoroughly and it seems its xvid fault, would anybod post a link for xvid 1.0 b2 binaries?? i want some working mp4s FAST you know ;)

Koepi
24th January 2004, 21:41
The problem is muxing with mp4ui. Use the 3ivx muxer in graphedit to create your mp4 file and everything will work just fine.

(MP4UI isn't bugfree, you know...).

Regards
Koepi

Phobos
24th January 2004, 22:43
thnx a lot koepi

symonjfox
25th January 2004, 14:22
Originally posted by Koepi
The problem is muxing with mp4ui. Use the 3ivx muxer in graphedit to create your mp4 file and everything will work just fine.

(MP4UI isn't bugfree, you know...).

Regards
Koepi Tested!
I forgot to post in this thread ;) :D

Phobos
27th January 2004, 02:17
im afraid not, i suxxesfuly (LOL :D ) muxed my movie via 3ivx and graphedit and osmo4 shows a very stuttery movie :rolleyes:

Koepi
27th January 2004, 02:23
Phobos:

known issue between libavcodec/ffdshow and xvid's packed bitstream with more than 1 bframe enabled.

Koepi

Phobos
27th January 2004, 02:25
i didnt use packet bitstream...

it plays well with ffdshow, it stutters in osmo!!

bond
27th January 2004, 20:46
tough osmo4 is the most advanced systems 2d player (supported content wise) its still in early alpha stage

phobos, if you have problems with osmo4 the best is surely to make a bug report on the gpac sf page: http://sourceforge.net/projects/gpac/, cause only that way jeanlf can make osmo4 more stable

SeeMoreDigital
28th January 2004, 01:18
Yep it's a shame that XviD encodes don't work with MP4UI!

I just tried running an DivX5.1.1 encode thru the DivX5.0.2 MP4 file creator and MP4UI had no problems at all with it!

It's a pity you can't run XviD encodes thru' it as well.

Cheers



EDIT: It's also a shame there's not a tool like MP4UI for .avi containered encodes... If there was we could call it aviUI ;)

Phobos
28th January 2004, 02:36
dvd2mp4 gui is also in gpacs source code, i would compile it but its too dificult for me, it would be cool if anybody could do that and maybe rarewarez would host it :D

SeeMoreDigital
28th January 2004, 16:37
I realise that this thread is principally about XviD and MP4UI. However, I did not feel it appropriate to start a new thread about this.....

Anyway, I've just generated some more DivX5.0.2 tests using both Lame Mp3 audio and Radium Mp3 audio.

Is there any reason why an Radium Mp3 audio stream can be 'extracted' as a .bin file and play ok in say, MPC. But an Lame Mp3 audio stream cannot?

In fact all my DivX5.0.2/Lame(v0.9.0)-3.92 Stable encodes don't produce 'stable' audio in an MP4 container at all!

I wonder if there is another, newer version of Lame that possibly could?

Cheers

bond
31st January 2004, 15:03
Originally posted by SeeMoreDigital
Is there any reason why an Radium Mp3 audio stream can be 'extracted' as a .bin file and play ok in say, MPC. But an Lame Mp3 audio stream cannot?hm interesting, but i dont see a reason why to extract a mp3 stream to a .bin file anyways

In fact all my DivX5.0.2/Lame(v0.9.0)-3.92 Stable encodes don't produce 'stable' audio in an MP4 container at all!hm even if you try to mux with the latest 3ivx muxer?

Originally posted by Phobos
dvd2mp4 gui is also in gpacs source codereally? i didnt find it but maybe i am just too blind :D

SeeMoreDigital
31st January 2004, 15:48
Originally posted by bond
hm interesting, but i dont see a reason why to extract a mp3 stream to a .bin file anyways True, but it was the only way I could think of to check the stability of Mp3 audio streams within an MP4 container!

Already it seems apparent that Lame Mp3 audio streams do not work in an Mp4 container but Radium Mp3 audio streams do!

After all, we would not want users blaming the container, when it's the codecs fault!

Originally posted by bond
hm even if you try to mux with the latest 3ivx muxer? I have not tried the 3viX muxer. Correct me if I'm wrong but don't you have to pay for this application?

Cheers

bond
31st January 2004, 16:26
Originally posted by SeeMoreDigital
I have not tried the 3viX muxer. Correct me if I'm wrong but don't you have to pay for this application?nope its free
btw i didnt had problems muxing lame into mp4 with 3ivx

SeeMoreDigital
31st January 2004, 16:44
Originally posted by bond
nope its free
btw i didnt had problems muxing lame into mp4 with 3ivx
Hi bond,

Can you confirm which version of Lame are you using?
Does the file sound OK when played back in say, MPC?
What tools are you using to mux Mp4 with 3viX?

Cheers

bond
31st January 2004, 16:52
Originally posted by SeeMoreDigital
Can you confirm which version of Lame are you using?hm i guess it was lame 3.93 tough i doubt that lame is buggy
i guess the problem is mp4ui

Does the file sound OK when played back in say, MPC?yep

What tools are you using to mux Mp4 with 3viX?graphedit
you will find a link to it and to a guide in the mp4 faq

SeeMoreDigital
31st January 2004, 18:49
Thanks for the info bond.

I've just installed Lame ACM (v3.95.1) and the same problem persists!

When I generate an DivX5.1.1 .avi encode with the Lame audio codec at 128kbps. It will play fine in both software and hardware players.

However, when I run it through DivX's (v5.0.2) 'MP4 Creator' the audio becomes fragmented.

But when I do the same using Radium audio codec, everything works well!

With regard to graphedit, I must admit I have not used this tool at all yet.... I will have to give it a go!

Cheers

bond
31st January 2004, 19:52
plz forget this divx502 mp4 muxer, dont use it with avi files with b-frames!!! the output is borked!

SeeMoreDigital
31st January 2004, 20:49
Originally posted by bond
plz forget this divx502 mp4 muxer, dont use it with avi files with b-frames!!! the output is borked! Agreed,

I tend to stay away from using B-frames, GMC and Qpel in my encodes anyway (apart from testing). As doing often creates too many variables!

Have you had any luck with mp4UI 1.0 Alpha 1?

Cheers

bond
31st January 2004, 20:56
Originally posted by SeeMoreDigital
Have you had any luck with mp4UI 1.0 Alpha 1?nope, i didnt even get a response to my bugreport on sf :(

SeeMoreDigital
31st January 2004, 21:05
Originally posted by bond
nope, i didnt even get a response to my bugreport on sf :( Me neither!

bond
2nd February 2004, 11:41
there is a new mp4ui version out (alpha2) but not on sourceforge

grap it here (http://www.mediacruiser.de/mp4UI/)

try it with this one

SeeMoreDigital
2nd February 2004, 12:17
Thanks bond,

This versions installer is around 50% larger than previous versions so lets hope there's even more stuff in it.

Already I have found that it's now possible to extract 2Ch and 6Ch audio streams from Recode2 encodes and save them as .aac instead of .bin

Very useful

Matthaeus
2nd February 2004, 13:55
Confirmed! Cannot seek in XviD (1.0rc1) encoded video after muxed into an MP4 (I haven't used B-frames, qpel and GMC). I've tried the "old" XviD dep-avi-3 and it worked fine with all mp4 multiplexers (MP4UI 1.0alpha2, mp4creator60 1.0, 3ivx). The problem is that I've already encoded a movie using 1.0rc1. What should I do? Should I re-encode it with dev-api-3?

symonjfox
2nd February 2004, 19:30
Originally posted by Matthaeus
Confirmed! Cannot seek in XviD (1.0rc1) encoded video after muxed into an MP4 (I haven't used B-frames, qpel and GMC). I've tried the "old" XviD dep-avi-3 and it worked fine with all mp4 multiplexers (MP4UI 1.0alpha2, mp4creator60 1.0, 3ivx). The problem is that I've already encoded a movie using 1.0rc1. What should I do? Should I re-encode it with dev-api-3? As said in other topics, try 3ivx media muxer!
Just download & install 3ivx filters, then use graphedit to mux audio and video.

yakima
6th February 2004, 12:07
i experience some weird problems with mp4 / xvid rc1 (2 b-vop, not packed, closed gov, no gmc, no qpel) as well which did NOT occur with an june 2003 or so dev.build by koepi (same settings).

for once, muxed w/ mp4creator 0.9.9, seeking takes hours, i.e. about 10 sec per minute, using 3ivx dec, envivio or quicktime (it is the qt codec!).
muxed w/ graphedit, seeking works, but playback in quicktime is choppy like hell.

i have always used qt to check mp4 files, as it seems to be the one most restrictive without that being due to alpha/beta-ness

so the question to the knowledgeable out there: what does the 3ivx muxer do that fixes seeking? i mean, i do NOT use packed bitstream ...
and the next question: why the choppy playback in qt when muxed with the 3ivx-muxer (which does not occur w mp4creator)?

btw.: files were encoded with different versions of vdmod, 1.5.4.1 among them, and when i open the avi in vdm and step back and forth between keyframes, the displayed frame for a particular key frame (number) changes ... is that due to not using "packed bitstream" - or is this something that could help explain observed behavior?

something else is weird: back in mpeg4ip 0.9.9, there was this mp4error writecountedstringtoolong if muxing xvid video with audio (same as having to check "not isma compliant" in mp4ui to make it work). there was a fix/workaround by bill may having to do with header length (vosh or vol, i don't remember). so: if i use the fixed version of mpeg4ip 0.9.9 (or the 1.0rc1), quicktime will say that the video is corrupt; if i use the orig. 0.9.9, the video will play in qt, but i cannot add audio.

question then: were there changes to the vosh/vol headers in xvid 1rc1 that could account for this behavior?
of course, this does not happen with 3ivx muxer, but that seems due to 3ivx changing headers (they are full of "3ivx", and even qt without the 3ivx codec says vid type: 3ivx)

any help would be very much appreciated - needless to say: the pc is fast enough, frame accurate seeking in 3ivx is disabled, qt high qual. doesn't change things, and: i have done some tests with differing bframe settings. and as previous posts indicate: this seems all about using bframes (i did not test without bframes)

i can do some more tests, only thing is: broken seeking is only visible in longer clips and that takes time - so i don't want to test without an idea of what could be wrong ...

however: thanx to all developers, i wouldn't worry bout all these issues if i did not like xvid & mp4 ...

Koepi
6th February 2004, 12:41
MP4Creator / MP4UI aren't bugfree pieces of software. Thy simply can't handle recent xvid builds properly. This is a known issue. You may bug the coders of these tools, if they plan to fix that :)

Regards
Koepi

yakima
6th February 2004, 12:53
well, of course, and that is why i never use mp4ui (too buggy) - but there were fixes in mp4creator to make xvid mp4 muxing work ...
aside from mp4creator problems i wonder:
- why could xvid playback in qt using 3ivxmuxer/graphedit be choppy & stuttering, while if using mp4creator it is not?
- why do these issues occur in xvid 1.0rc1 while they did not occur in earlier dev. builds?

regards,
yakima

shitowax
6th February 2004, 14:50
I dunno if that helps but:
- when you install 3ivx, it installs the 3ivx video codec for QT that overloads the Apple MPEG-4 video decoder. If you want to disable that, just remove the 3ivx file in c:\windows\system32\quicktime.
- The Apple MPEG-4 video codec doesn't decode B-frames it simply drops them ... A movie containing B-frames not played looks like shoppy.
- The Apple MPEG-4 postprocessing is especially slow on a PC.
- The 3ivx muxer does A LOT of thing to try fixing all the broken bitstream one can find around. It does even try to optimize the storage of VOPs using VFR. This option can be disable in the muxer property page (NVOP compression).

yakima
6th February 2004, 18:17
thanks for your reply.
i have to say: i can't reproduce the jerking playback in qt anymore (there is still another file that i might try later, but that could have been a bad encode).
i am still wondering what the 3ivx muxer does in contrast to mp4creator which fixes seeking - it even works with all options off. anyhow, this really seems an issue for the mpeg4ip forum.

so the bottomline is (as it was many posts earlier):
use graphedit to mux mp4

sorry folks! and to the devs: keep up the great work!

SeeMoreDigital
6th February 2004, 18:23
There's a lot of helpful information in this thread which I can't help feeling would be useful not only to XviD users but to all Mpeg4 coders!

Would it be too much to ask for the thread title to be changed slightly?

Cheers

bond
6th February 2004, 22:22
Originally posted by SeeMoreDigital
Would it be too much to ask for the thread title to be changed slightly?make a suggestion, i didnt follow the discussion :)

SeeMoreDigital
6th February 2004, 22:56
I would have thought something like 'Problems with MP4Creator/MP4UI' would do!

It would be nice to get a response from K-Dash. But since starting the thread, he/she has gone a bit quite. :confused:

bond
7th February 2004, 12:01
there is a new mp4ui version out (beta2)

SeeMoreDigital
7th February 2004, 13:24
Originally posted by bond
there is a new mp4ui version out (beta2)

Just tried the new version and.....

It still can't extract 'export' .aac streams from an .mp4 container in a format that MediaPlayer Classic likes.

And I'm still confused as to why v0.95a could do this. And none of the new versions can.

What ever happened to the saying "If it ain't broke don't fix it"!

Cheers

yakima
8th February 2004, 15:17
ok, thanx to bill may and some testing, i finally have an idea of what the problem is if muxing xvid1.0rc1 using mp4creator 1.0:

1. according to bill may, xvid is inserting the user data field (indicated by 00 00 01 B2) AFTER the VOL instead of before or not at all (so the b2 comes after the b5 which to the don't know nothing eye (me) seems wrong ..). if you manually change that, the file is muxed without problems and qt or others play it fine.

2. if you use the xvid profile setting AS@L5 and mux in mp4creator, the resulting mp4 will have bad troubles seeking.
--- EDIT --- (of course i was wrong)
somehow the decoders don't like that profile setting (it seems to appear before each keyframe, does it?), and profile override in mp4creator doesn't resolve that (it does change things, but the file looks really different)

btw: the 3ivx muxer by default overrides (ignores?) the xvid profile setting, even if AS@L5 was chosen, the resulting mp4 will display Simple@L3 -- and the resulting file has no seek problems

so, the bottomline is: using mp4creator works fine IF:
(a) the user data field is not after the VOL
(b) profile level was not set during encoding

i will have a look at the xvid source and see if i can find a working fix for the user data thing ... but maybe someone with more knowledge could give a hand (or her/his opinion regarding the right order of headers ..?)

EDIT: ok, think i found the relevant spot where the userdata field is entered. it is bitstream.c, starting (in rc2 at least) at line 1268. as i am not sure where and how to move it, i just commented the divx_id and xvid_id out. the resulting xvid encodes don't have the user data field and can be muxed with mp4creator without a problem.

SeeMoreDigital
10th February 2004, 13:32
Why is MP4UI is so fussy!

I'm no software programmer but I think it's a little weird that I can mux Mpeg4 video and 6Ch AAC streams into an AVI or MKV container (using a tool like AVI-Mux) but I cant do the same with MP4UI

OK I understand that the video stream must be compliant and that video b-frames, GMC and Qpel may confuse the application. But why does it throw a wobbly with Nero Recode2 MP4 contained streams!

Also, why is it that when I run an audio / video encode thru' MP4UI and extract the video stream - leaving an audio only MP4 - I'm sometimes unable to put the video stream back into the container?

I hope these issues can be sorted out. As it promises to be a great tool.

Cheers

bond
10th February 2004, 13:38
guys, if you have bug reports or feature requests you will have to go to sourceforge and make your reports there: http://sourceforge.net/projects/mp4ui! afaik the author isnt a member of doom9 so i am not sure if he will read your reports here

well even better than that would be to make him join doom9 of course :D

SeeMoreDigital
10th February 2004, 13:53
Yep,

You're right. But I found that my email's to trybe@gmx.net and mbrenner@users.sourceforge.net went unanswered!

Maybe if we all send him emails with offers to join Doom9 he might take us up on it...

...I mean. Who in their right mind does'nt want to join Doom9.

Cheers

SeeMoreDigital
11th February 2004, 12:33
Following on from the various posts I've made. I've finally been able to use MP4UI to create the following: -

An 720x576 16:9 anamorphic switching XviD video stream. With 1No 6Ch, and 2No 2Ch AAC LC streams.

And yes, when the encode is run thru' Nero's ShowTime player it opens up at the correct aspect ratio!

PS: 3viX 16:9 anamorphic streams work too.

Great, I'm a very happy chappie!


EDIT: I've just run the encodes thru' my Xcard (set to 16:9 TV out) to my 16:9 TV and they also open up at the correct aspect ratio

I am an incredibly happy chappie now!

SeeMoreDigital
15th February 2004, 19:46
Is there any particlar reason why, when you 'export' a video stream (that you know is XviD) out of an MP4 container using MP4UI. The exported video stream is always identified as being DivX4.x.x?

Cheers

bond
15th February 2004, 19:55
i assume thats because mp4ui gives this stream the 4cc of divx4 (it has to give a 4cc)!?

SeeMoreDigital
15th February 2004, 20:19
Originally posted by bond
i assume thats because mp4ui gives this stream the 4cc of divx4 (it has to give a 4cc)!? It does'nt only happen with 'known' XviD video streams.

I've just demuxed the video stream from out of the animatrix (http://www.comelec.enst.fr/osmo4/mp4/mediacontrol_animatrix.mp4) test encode and that's identified as being DivX4.x.x too! God know's what this stream really is!

Cheers

bond
15th February 2004, 20:52
hm i dont know where or if it is stored in a mp4 which codec was used for the video stream but i am sure mp4ui doesnt care about that anyways:
it handles all mpeg-4 compliant streams the same way, meaning from what you said it adds to all mpeg-4 streams the divx4 4cc when extracting to avi

use the 4cc changer coming with xvid to change the 4cc of the avi (this 4cc doesnt really matter cause all mpeg-4 decoders (divx5, xvid, 3ivx, ffdshow) can decode all mpeg-4 streams (no matter if labelled as divx4/5, xvid...)

SeeMoreDigital
15th February 2004, 21:51
Originally posted by bond
...use the 4cc changer coming with xvid to change the 4cc of the avi (this 4cc doesnt really matter cause all mpeg-4 decoders (divx5, xvid, 3ivx, ffdshow) can decode all mpeg-4 streams (no matter if labelled as divx4/5, xvid...) Talking about 4cc changing. I used to use a little application called 'avic100' but I guess it's a little out of date now!

Shame there is'nt something else around - well, not that I can find anyway.

It would also be nice if there was a tool that could embed an anamorphic switching signal to DivX Mpeg4 streams but hey you can't have everything!

Cheers

EDIT: Sad that 'Nic's Mini FourCC Changer' does'nt include a DivX5.x.x ident.... why is that I wonder? And why is it that Nero Recode2 video streams don't like a DivX 4cc only XviD?

yakima
17th February 2004, 11:19
following on to my previous posts:
- mp4creator will have fixes for both problems in v. 1.1 (i.e.: userdata field issues & profile setting in xvid 1.0 issues)
- if someone has a xvid 1.0 avi with profile level set (results in seeking problems when muxed w/ mp4creator), here is how to deal (thanx to bill may): just use mp4creator on the elementary stream, e.g.:
avi2raw -v test.avi test.m4v
avidump test.avi (to get frame rate)
mp4creator -r <frame rate> test.m4v test.mp4

bond
17th February 2004, 11:29
great that you could convince bill may to do it (i never was able to do this :D )

or did he convince you do submit the fixes?

yakima
17th February 2004, 13:05
well, as the ppl at xvid did not want to change their userdata positioning and as there are problems with most (xvid, divx, ffmpeg: most if not all versions) encoders' userdata field, i guess there was no way around. (of course, i could not do that - i don't really get how the fields are identified, and i don't even get the syntax apart from what i remember from school days ... which is pretty much nothing ...)
and concerning the other issue: it seems xvid is putting the profile level at every keyframe, so the fix is just to strip that when muxing.

btw. thanx for the faq and the hunt for new solutions & fixes for mp4. for a time i really thought nobody was really interested in mp4, hearing everyone keeping to the hacked avi "because it works" ;) (and bugging me with: oh, mp4s don't play ..)

do you by any chance know where userdata is supposed to go in a mp4?

Stux
17th February 2004, 17:37
Originally posted by yakima
do you by any chance know where userdata is supposed to go in a mp4?

ain't that a million dollar question :)

userdata can be at virtually every higher level syntactic layer in an MP4 file from the 'moov' atom downards to the frames :)

And that's just in the MP4 file.

What's causing this problem is MP4V user-data in the MPEG-4 video bitstream, which can be at all higher level syntactic layers too :)

ie

Object, Stream, Group of Vops, VOL, VOP etc

by convention most MPEG-4 codecs (3ivx, divx, xvid, nero, fraunhoffer (essentially everyone except Apple)) write a codec identifier into a userdata chunk in the VOL chunk

the problem isn't actually the user-data, its the VOL hacking that AVI codecs use to get MPEG-4 video into AVI.

The 3ivx muxer reverses this during MP4 muxing.

The codec identifiers are important to identify buggy streams from buggy encoders to enable correct decoding of the non-compliant streams... the largest culprit is DivX5 ;), although a more sinister problem is untagged bitstreams from buggy encoders :( (like XviD 0.9 stable series)

yakima
18th February 2004, 01:27
yep, agreed: million dollar question ... and agreed regarding the usefulness of codec/version identifiers ... but what exactly is the problem with the avi-hack?

the following is basically guess work, so feel free to correct me:
the problem with userdata and mp4creator to me really is that upon checking for isma-compatibility the decspecificinfo gets too long if userdata is in there.
(there appears to be another problem where mp4creator seems to get confused if the userdata is after the vol, but that shall not be the issue here).

the 3ivx-muxer really does exactly the same: write the vol header to decspecificinfo including the userdata. so if i take a video mp4 muxed with 3ivx and add audio with mp4creator, the isma-compliance check fails.

so i wonder:
- is the 3ivx muxer doing anything in this regard (is this what you meant)?
- is it ok ("isma-compliant") if the userdata is written to the decspecificinfo (as 3ivx does)?

maybe i miss the point about the decspecificinfo, so it would really help out if someone could explain the avi-hack thing that's screwing up the vol ..

to stux (and all else involved): thanx for the new 3ivx! it really fixes the audio lag that has been bothering me for so long ...

yakima
20th February 2004, 13:05
seems putting the userdata into the decspecificinfo should be isma-compliant; for some reason though the isma-compliance check in mp4creator fails if userdata is present ... (in the source it looks like a checksum thing that somehow gets confused if userdata is present)

bond
29th February 2004, 10:03
yakima,
thanks for your efforts in bringing light into this topic

for everyone who hadnt followed the discussion look here (http://sourceforge.net/forum/forum.php?thread_id=1018315&forum_id=59136)

bond
26th March 2004, 10:07
ok another report that there might be something wrong with xvids profile setting:

jeanlf from the gpac project meant: "not sure that's not an XviD bug. The xvid bitstream info is correct with simple profile and set to 0xFE (= undetermined) with other profiles."

look here (http://sourceforge.net/tracker/index.php?func=detail&aid=916440&group_id=84101&atid=571738)

g.geek
31st March 2004, 20:29
Help,

This seems like such a general and obvious question & topic, but I can't find it in any of the previous posts.

All I wanna do is take real raw audio & video files (.yuv or .rgb, .pcm) files, and create an .mp4 file.
Right now, I'm working on getting mp4creator to work, and am
using the latest sources from mpeg4ip-1.0.tar.gz

mp4creator is creating files that appear to not be mp4 compliant (QuickTime doesn't like them).
mp4creator also warns 3 times that it's dropping 626 bytes, when using output from either avi2raw60 or BeSweet. The .mp3 files output from avi2raw60 and BeSweet sound fine on Netscape Winamp.

e.g.
avi2raw60 -a Matrix_short.avi Matrix_short.mp3
mp4creator -c Matrix_short.mp3 -H -optimize Matrix_short.mp4
or
BeSweet -core( -input "Matrix_short.vob" -substream 0x80 -
output "Matrix_short.mp3" )
mp4creator -c Matrix_short.mp3 -H -optimize Matrix_short.mp4

QuickTime's error msg is:
An Audio Decoder Configuration Descriptor is corrupted.
Expected ObjectType=Audio(0x40); found ObjectType=^0 instead.

Thanks for any insights.

bond
31st March 2004, 20:39
welcome to doom9 g.geek :)

first of all i have to warn you mp4creator is not the most stable mp4 tool around

also i am not sure that avi2raw and besweet (when encoding directly from .vob) outputs reliable results
if you want to extract audio streams (ie mp3) from .avi i recommend you to use widely known and tested tools, like virtualdubmod
also if you want to encode ac3 streams (from vob) it would be better to extract them first from the vob (for example with dvd2avi) and than encode these .ac3 files to mp3/aac in besweet (to avoid any possible problems)

g.geek
2nd April 2004, 08:39
Hi bond,

Thanks for the suggestions. Here's what I did:

used dvd2avi to extract an .ac3 from a .vob file,
used BeSweet to gen an .mp3 file, (which plays on Netscape Winamp)
used mp4creator to gen an .mp4 file.

mp4creator complained again about dropping bytes, and the resulting .mp4 file is rejected by QT (again with the same error msg). Here are the commands:

BeSweet -core( -input MS192.ac3 -substream 0x80 -output MS192.mp3 )
::
mp4creator -c MS192.mp3 -H myaudio.mp4
:: (myaudio.mp4 fails to play on QT)

I would think that what I need to do is fairly straightforward -- use batch programs to take real raw audio & video files (.yuv or .rgb, .pcm) files, and create an .mp4 file. However, few things in life are as simple as they appear to be.

I would assume that mp4creator has worked at some point, but it doesn't work for me. So I think that it's something that I'm doing, but I can't see anything wrong. You said that mp4creator is not the most stable mp4 tool. How can I get a working mp4creator, or is there another tool that will create .mp4 files?

Thanks again.

bond
2nd April 2004, 09:12
Originally posted by g.geek
You said that mp4creator is not the most stable mp4 tool. yep

How can I get a working mp4creator, or is there another tool that will create .mp4 files?have a look at the mp4 faq, there are lots of other different tools
i would recommend you to use the 3ivx dshow mp4 muxer or mp4box (commandline like mp4creator)
note that mp4ui is totally based on mp4creator and therefore is likely to produce the same output

plz report your findings, perhaps qt is simply not able to play mp3-in-mp4 files!?

yakima
3rd April 2004, 11:07
i'd guess the problem with qt is just that qt doesn't like mp3 in mp4 - at least this was the case in earlier qt6 versions & this is what the error msg. hints at. qt will have problems with any mp4 content that is not really simple profile & aac (bframes will be ignored though).
i've seen the "dropping bytes" error msg. in mp4creator, i am not sure, but i think it had to do with something being wrong in the audio stream. you might want to try around a bit, just producing an mp4 with audio only and different mp3 encoders/encoding settings, to see if the audio is the problem (btw: why don't you just use aac?). and leave out the hinting part, keep things simple to figure out what is wrong.
good luck

yakima
3rd April 2004, 11:11
oh, and btw: you can't optimize in the same step that you create in mp4creator (not sure if you can hint, cause it seems mp4creator produces only one track at a time)

SeeMoreDigital
3rd April 2004, 11:27
Hi yakima,

I think this tread (http://forum.doom9.org/showthread.php?s=&threadid=73532) I started in the XviD section of the forum might interest you!

Cheers

g.geek
10th September 2004, 07:22
Hi again,

I've not been working on this for a while, but have come back to try and solve it. Mp4creator doesn't work well, and Mp4box doesn't do what I need.

As I said before, it seems that what I need to do is fairly straightforward -- generate a DOS-type .exe stand alone program that will allow me to take video (.yuv or .rgb) and audio .pcm files, and combine them to create an .mp4 file, then have a similar program that will play that .mp4 file. Is this even possible?

When I run xvid_encraw to gen an .mp4 file, neither Quicktime nor Divx likes the output. Here's the cmd line, if it helps:
xvid_encraw -i 320_368.yuv -type 0 -h 320 -w 368 -single -o out.mp4

Without knowing the format of .mp4 files, it's impossible to determine why this fails.

Does anyone have any suggestions? One big help would be knowing where to get the format of .mp4 files so I could at least intelligently parse the output file (QT docs certainly don't help.)

A million thanks in advance,
g.geek

ak
12th September 2004, 00:10
Have you tried ffmpeg? It should suffice for that purpose

ffmpeg -s 320x368 -i vid.yuv -i aud.wav -acodec aac -vcodec mpeg4 (that'll be libavc, current cvs can do xvid as well) -other -options out.mp4.

Don't have QT here, but I once tried and QT ate it, although with pretty humble encoding options (e.g no b-frames etc)

bond
13th September 2004, 18:37
dont use b-frames, as they might f* up things, additionally quicktime doesnt understand qpel and gmc