Log in

View Full Version : mp4UI 1.0 RC 1 released


Pages : [1] 2 3

bond
6th June 2004, 15:14
a new version of mp4UI has been released

RC1 contains the following changes:
- added MP2/MP3 export (incl. ID3v1 tagging)
- added encoder info for MPEG-4 video tracks
- fixed serious text-mode bug in most export functions
- minor bug fixes and improvements
- fixed AVI export

my tests showed that also, next to MP2/MP3/AVI export, the export of AAC streams to ADTS .aac files seems to work fine again too :)

somehow i couldnt figure out where this "encoder info" for video tracks is shown :confused:

grap it here (https://sourceforge.net/projects/mp4ui/)

SeeMoreDigital
6th June 2004, 18:37
Yes this is great news!

Mp3 and AAC audio muxing is back with MP4UI 1.0 RC1... and it works a treat.

Sadly though, AAC-HE streams are reported as being AAC-LC. But these de-mux fine too.

I've also muxed, de-muxed and re-muxed (ie: AVI - MP4 - AVI etc) an anamorphic XviD video stream 5 times... and the stream did not b0rk.

Another problem solved.

My only criticism is that the de-muxed AVI's 4CC is reported as being: DivX (when it was XviD). And the Codec Name is reported as being: DivX 4 (OpenDivX)... What's the deal with that I wonder?

I've not yet tested to see if the muxed streams are 100% QuickTime player compatible yet.


All great stuff. Cheers

bond
6th June 2004, 18:40
Originally posted by SeeMoreDigital
My only criticism is that the de-muxed AVI's 4CC is reported as being: DivX (when it was XviD). And the Codec Name is reported as being: DivX 4 (OpenDivX)... What's the deal with that I wonder?well, the MP4 container doesnt know something like FourCCs (which makes interoperability possible btw), therefore there will no 4cc be stored in mp4, as the stream is mpeg-4 compatible anyways (it doesnt matter what encoder was used to encode the stream)
now if you extract back to avi you have to use a 4cc again (as avi needs thats) and whats the most popular mpeg-4 4cc? -> DIVX

I've not yet tested to see if the muxed streams are 100% QuickTime player compatible yetquicktime will be able to play ALL mp4 files, which follow the mpeg-4 simple profile (no matter what muxer or encoder was used to create the stream)
thats the nice thing about mp4 -> interoperability

SeeMoreDigital
6th June 2004, 18:51
Regarding MP4 to AVI de-muxing. When you do it with GraphEdit (using 3ivX tools), the AVI stream is reported as being mp4v, this would seem a more logical option.

And with the QuickTime player. Do you remember a couple of months ago I was trying to create Mpeg4/AAC streams that the player liked. Try as I might I could not do it properly with MP4UI (I kept getting a white screen and a warning notice). Only GraphEdit, using 3ivX tools would do it properly!

But I'm well pleased

EDIT: I forgot to mention the QuickTime player must not use any of 3ivX's filters during playback.

bond
6th June 2004, 19:00
Originally posted by SeeMoreDigital
Regarding MP4 to AVI de-muxing. When you do it with GraphEdit (using 3ivX tools), the AVI stream is reported as being mp4v, this would seem a more logical option.yep, thats because the 3ivx splitter outputs it labelled as "mp4v", making it compatible with every other filter, which supports "mp4v" as input

And with the QuickTime player. Do you remember a couple of months ago I was trying to create Mpeg4/AAC streams that the player liked. Try as I might I could not do it with MP4UI only GraphEdit, using 3ivX tools!
hm what files qt handles shouldnt depend on the used muxer (unless a muxer is buggy and creates b0rked mp4 files)
qt cant handle advanced simple profile streams, including qpel, gmc, custom quants, b-vops but also n-vops

if qt would handle mpeg-4 asp streams, it would also be possible to edit/cut/join/append all mp4 files in qt (which is only possible with simple profile streams atm)

EDIT: I forgot to mention the QuickTime player must not use any of 3ivX's filters.yep, qt uses its own inbuilt mpeg-4 decoder by default

SeeMoreDigital
6th June 2004, 19:34
Yes, the QuickTime player problem is a bit weird, especially as only simple profile Mpeg4 streams were used.

When I get a moment I'll have to generate some new MP4UI muxes and test them on my other (non 3ivX) boot drive.

I wonder why Marcus never took up my invitation to join us here on the Doom9 forum?


Cheers

bond
6th June 2004, 19:48
Originally posted by SeeMoreDigital
I wonder why Marcus never took up my invitation to join us here on the Doom9 forum?i also pointed him here, but he didnt join afaik

in fact it was me who submitted a whole bunch of bug reports on the bug tracker on sourceforge, before the bugs got fixed
it would be easier if marcus brenner would join the discussion directly

SeeMoreDigital
6th June 2004, 19:58
Originally posted by bond
...it would be easier if marcus brenner would join the discussion directly Agreed!

I really like this tool, because it's simple... like me :D

I guess I should have been more pro-active at issuing bug reports via sourceforge.


Cheers

bond
7th June 2004, 10:58
can anyone still import packed bitstream AVIs to MP4 in mp4ui? it doesnt work here anymore (i get a "cant import frame #" error message)

maybe mp4ui already analyses the input streams and refuses to handle packed bitstreams as it knows that the output will not be compliant?

SeeMoreDigital
7th June 2004, 11:46
I've managed to get it to work with this 'video only' 34 second clip (http://www.SeeMoreDigital.net/Uploaded_Files/Doom9_Forum_files/XviD_2pass_2B-VOP_Packed_MP4.zip).

Plays back pants though!


Cheers

bond
7th June 2004, 12:01
nice sample (anamorphic too) :)

can you plz upload the source avi too?

Originally posted by SeeMoreDigital
I've managed to get it to work with this 'video only' 34 second clip (http://www.SeeMoreDigital.net/Uploaded_Files/Doom9_Forum_files/XviD_2pass_2B-VOP_Packed.zip).hm, when i download from this link i only get a .html page, after this html page got downloaded and i open it, the .zip download starts

SeeMoreDigital
7th June 2004, 12:16
Originally posted by bond
can you plz upload the source avi too?Here you go (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/XviD_2pass_2B-VOP_Packed_AVI.zip).


Originally posted by bond
hm, when i download from this link i only get a .html page, after this html page got downloaded and i open it, the .zip download starts I think this is because I put SeeMoreDigital.net in the url, instead of my IP address number.

The above link is with my IP address number. Is it more friendly, maybe there are some settings in Apache I'm supposed to tweak but don't know about... any ideas?


Cheers

SeeMoreDigital
7th June 2004, 13:31
And here's a link to the same MP4 file but without packed bitstream (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/XviD_2pass_2B-VOP_NotPacked_MP4.zip).

There's no denying this file works much better than the one with packed bitstream.


Cheers

bond
7th June 2004, 14:40
Originally posted by SeeMoreDigital
Here you go (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/XviD_2pass_2B-VOP_Packed_AVI.zip).yep, works, tough i couldnt figure out why this worked, but my test samples (divx5-1b, xvid-2/3b-frames) didnt

SeeMoreDigital
7th June 2004, 15:10
Originally posted by bond
yep, works, tough i couldnt figure out why this worked, but my test samples (divx5-1b, xvid-2/3b-frames) didnt Ahhhh! MPEGmediator strikes again :D


Cheers

The Link
7th June 2004, 18:37
1. How do I import aac audio in mp4 container (m4a or whatever extension you prefer)? --> I know that I can open mp4 audio as a start file but what if I want to add a second stream?
2. Is there a possibility for delay correction?

Regards,
The Link

bond
7th June 2004, 18:53
Originally posted by The Link
1. How do I import aac audio in mp4 container (m4a or whatever extension you prefer)? --> I know that I can open mp4 audio as a start file but what if I want to add a second stream?thats a current downside of mp4ui:
you can not import/export .mp4 files, but you can import raw streams (.aac or .mp3)

2. Is there a possibility for delay correction?not in mp4ui, but with the 3ivx muxer as described here (http://www.3ivx.com/support/windows/encoding/ge_shift.html)

The Link
7th June 2004, 19:02
you can not import/export .mp4 files
Is that a possible problem because I thought that the mp4 container stores some important information (adts header?) which the raw aac file cannot store?
I knew that 3ivx can handle delay correction but anyway thanks for the hint. :)
It would be nice to have a simple gui like mp4ui which would be able to handle all those basic things. There are already some nice mpeg4 tools but every single one I tested had some flaws. :( Perhaps development still needs some time...

Regards,
The Link

bond
7th June 2004, 19:13
Originally posted by The Link
Is that a possible problem because I thought that the mp4 container stores some important information (adts header?) which the raw aac file cannot store?exporting to an .aac (with adts header - adts is not used in .mp4 btw) is only a problem when using he-aac, as with he-aac there is a flag stored on the container level telling the decoder that the stream is he-aac
some decoders (coreaac, 3ivx) also handle the streams without this flag correctly, but its not a good solution if you want to be sure that _every_ decoder will recognize that the stream is he-aac

apart from that there is no problem

It would be nice to have a simple gui like mp4ui which would be able to handle all those basic things.the 3ivx guys are already working on such a gui for their tools (a _very_ powerful one ;) )

There are already some nice mpeg4 tools but every single one I tested had some flaws. :( Perhaps development still needs some time...nobody is perfect, but from my point of view the tools existing are already very nice, still you are right, it would be great if there would exist one tool, which does it all.
well all it needs is one dev starting to write such a tool (the opensource libs are existing already, mp4 is license free, so there are no legal issues to fear when hosting binaries, aso...) :)

The Link
7th June 2004, 19:28
Thx for the information! :)

SeeMoreDigital
7th June 2004, 19:44
You don't actually need to start the muxing process by importing an AAC in MP4 file first.

Try using this MP4UI Blank Template (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/MP4UI_Blank_Template.zip) I made. I've found I can import Mpeg4 AVI streams or AAC streams as .AAC in any order.


Cheers

Soulhunter
7th June 2004, 21:16
Whoops, totally missed this thread !!!

No matter, I have small question before downloading it... :o

Are the known b-frame problems (or some of them) fixed yet ???


Bye

bond
7th June 2004, 21:31
Originally posted by Soulhunter
Are the known b-frame problems (or some of them) fixed yet ???hm for a longtime member you should know to use search and read the faq ;)

mp4ui has no problem with b-frames. it only has problems with packed bitstreams, in fact it also has no problems with them, but the resulting mp4 will simply not be spec compliant (as packed bitstream is a hack for avi and nowhere specified in mpeg-4 and therefore not allowed in mp4)

SeeMoreDigital
7th June 2004, 21:57
Hi Soulhunter,

Have you tried downloading my 2B-VOP .MP4 test encodes, 'with packed bitstream' (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/XviD_2pass_2B-VOP_Packed_MP4.zip) and 'without packed bitstream' (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/XviD_2pass_2B-VOP_NotPacked_MP4.zip).

You should see quite clearly that the encodes without packed bitstream work much better.


Cheers

iradic
7th June 2004, 23:29
hi...

installed mp4ui to see how it works... and after importing xvid video and mp3 vbr audio it gives me nothing... in graphedit just file.mp4 -> 3ivxsplitter shows up and thats it...

bye

bond
8th June 2004, 09:47
hm maybe it doesnt handle the vbrmp3-in-avi hack as it doesnt handle the b-frames-in-avi hack (aka packed bitstream)

anyone had success importing a vbrmp3-in-avi in mp4ui?
edit: just tried it myself and it doesnt seem to work


so to sum it up:
mp4ui is an example which shows that you cant expect that every software will by default support AVI hacks
just because a hack works with/was written to work with the m$ avi splitter it doesnt mean that it works everywhere. the other softwares need to be especially adopted to support them too (workarounds for the workarounds so to say)
its always the same: mp4ui appears to be buggy because it doesnt support things in avi, which simply werent meant to be in avi :D

SeeMoreDigital
8th June 2004, 10:51
Originally posted by bond
...anyone had success importing a vbrmp3-in-avi in mp4ui?
edit: just tried it myself and it doesnt seem to work He, he he,

Mp3VBR in MP4... No problemo (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/MP3_1pass_VBR@8%_MP4.zip)!


Cheers

bond
8th June 2004, 11:24
Originally posted by SeeMoreDigital
Mp3VBR in MP4... No problemo (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/MP3_1pass_VBR@8%_MP4.zip)!did you mux from vbrmp3-in-avi?

if yes, can you plz upload this avi

stephanV
8th June 2004, 11:41
it doesnt seem to work with CBR-MP3 in avi either (it just keeps preparing for importing the avi audiostream)... but of course strictly speaking CBR MP3 is a hack too in AVI... :rolleyes:

and i wouldn't know what other audiostreams to test in avi that would go in MP4.

but i don't understand why it wouldnt work though... its not very difficult to read an MP3 stream from avi, no? i mean, even MS-splitter can do it. and hack or not, it is not very practical to not be able to do this, but of course one can always demux the stream first. so its not a big deal either.

SeeMoreDigital
8th June 2004, 11:50
Originally posted by bond
did you mux from vbrmp3-in-avi? Nope.

I just used a ordinary .mp3 VBR stream. I've had no problems with mp3pro VBR streams either!


Cheers

bond
8th June 2004, 11:51
Originally posted by stephanV
it doesnt seem to work with CBR-MP3 in avi either (it just keeps preparing for importing the avi audiostream)... but of course strictly speaking CBR MP3 is a hack too in AVI... :rolleyes:nope, cbrmp3 in avi is not a hack, as avi is able to handle constant bitrate audio streams itself

and i wouldn't know what other audiostreams to test in avi that would go in MP4. alexnoes aac-in-avi hack :D

but i don't understand why it wouldnt work though... its not very difficult to read an MP3 stream from avi, no? i mean, even MS-splitter can do it.well, there is a big difference on how cbr audio streams (cbrmp3) and vbr audio streams (vbrmp3 or aac) are stored in avi
cbrmp3 is stored in avi, as an audio stream should be stored in avi, but vbrmp3 is stored in it like a video stream (as avi can carry variable bitrate video streams, but not vbr audio streams), exploiting a flaw in the m$ avi splitter, making this hack possible (a flaw which might not exist in other avi splitters/parsers, like the one in mp4ui)
now for example if m$ would fix their avi splitter, vbrmp3-in-avi wouldnt work anymore

Originally posted by SeeMoreDigital
I just used a ordinary .mp3 VBR stream.well, of course this works! of course mp4 can carry vbr audio streams without the need for hacks (vbrmp3 or aac)

you are mixing things up: what we were talking about was importing a vbrmp3-in-avi stream to MP4 in mp4ui, not about if vbrmp3 is possible in mp4 or not (of course it is) ;)

SeeMoreDigital
8th June 2004, 12:18
Ok I see now,

After reading iradic's post I assumed he was importing the streams separately!

I too can confirm that MP4UI can't cope with the importing of an Mpeg4/mp3 in AVI file. All I get is this message: -

http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/MP4UI_importing_message.gif.

So it looks like any Mpeg4/mp3 streams will have to be de-muxed first! A bit of a ball ache but not the end of the world :D


Cheers

stephanV
8th June 2004, 12:22
Originally posted by bond
nope, cbrmp3 in avi is not a hack, as avi is able to handle constant bitrate audio streams itself

no thats wrong... virtualdub for example stores cbr mp3 in avi with nBlockAlign = 1, thus interleaving can and will very often result in chunks with incomplete frames (mp3 decompressor does its own frame assembly so this doesn't really matter). but if you start cutting in an avi with cbr mp3, you will often hear a chirp at the beginning of the second part. this is because you have actually cutted a MP3-frame in half.

but, according to Avery Lee, even if all chunks contained only whole MP3 frames it still wouldn't work entirely correctly because "to decode an MP3 frame properly you need to decode two frames before it to prime the IMDCT overlap and subband synthesis filters, plus up to 511 data payload bytes prior to that to preload the decoder." (whatever that means ;) )

anyway, enough of that :o

i can't get avi with CBR MP3 to work either, that was all i'm saying. (maybe someone else would like to try?)
i would try AAC :p (but i dont have such files, AAC audio i mean)

(come to think about it, reading VBR MP3 might actually be easier because each frame is in its own chunk.... well nevermind, im no expert on that)

bond
8th June 2004, 12:26
ok you convinced me: cbrmp3-in-avi is also a hack ;)

SeeMoreDigital
8th June 2004, 12:30
Originally posted by bond
ok you convinced me: cbrmp3-in-avi is also a hack ;) "Crickey"!

Are there any current codecs (we all use here on the forum) that are not hacked into AVI?


Cheers

stephanV
8th June 2004, 13:06
Originally posted by SeeMoreDigital
"Crickey"!

owno, what have I done??? :mad:

note you will only notice that CBR MP3 is a "hack" (calling CBR MP3 a real hack is an insult to people like nando and alexnoe AFAIAC, anyone could have done it)if you start cutting it. unlike with VBR MP3 a "non-bugged" avi-splitter would still spit out CBR MP3 correctly. and anyway, hacks are not bad, hacks are practical :p

but back to MP4UI now...

hmm... if im right about the CBR MP3 and the avi-plitter then there IS a bug, i think. and also, why would it import avi-audiostreams if it can't possibly import any to begin with... its not that muxing wav-files will work.

bond
8th June 2004, 13:37
Originally posted by stephanV
hmm... if im right about the CBR MP3 and the avi-plitter then there IS a bug, i think. and also, why would it import avi-audiostreams if it can't possibly import any to begin with...hm it can import a/v streams from .mpg, non malformed mpeg-4 video streams in avi and raw aac/mp3/mp2 correctly already i think

anyone else having a cbrmp3-in-avi, which he can test import in mp4ui?
maybe its time to file a bug report on sf ;)

SeeMoreDigital
8th June 2004, 14:12
I tried importing an Mpeg4/AAC-LC in AVI, this does not work either!


Cheers

SeeMoreDigital
8th June 2004, 15:59
Here's a weird thing though!

I took an 6Ch .ac3 stream and changed the file extension to .aac and mp4UI muxed it!

I hasten to add it I could not make it play though, but the fact that mp4UI did not crash or freeze must say something.

I've tried changing the file extensions of other streams and using extensions other than .aac too and mp4UI muxed those as well.

You never know we might get .ac3 in MP4 yet!


Cheers

stephanV
8th June 2004, 16:29
i tried this too, but when i demuxed the stream again after saving the file, the audio seemed to be destroyed

this looks more like a bug than anything else. :)

SeeMoreDigital
8th June 2004, 16:39
Originally posted by stephanV
i tried this too, but when i demuxed the stream again after saving the file, the audio seemed to be destroyed Yea the audio streams are definitely b0rked. Even before you try de-muxing them again.

I'm just surprised you can get them in there!

Sufficed to say, this latest build is the best one so far and quite good fun!

And I wonder why the creator has not changed the version number on his web site (http://mp4ui.sourceforge.net/) yet?

Soulhunter
8th June 2004, 17:14
Originally posted by bond
hm for a longtime member you should know to use search and read the faq ;)

mp4ui has no problem with b-frames. it only has problems with packed bitstreams...
Sorry, I dont read the container forum very often... :o

But, wasn't there a decoding problem related to multiple b-frames ???

Cant remember... :(

But if you say everything works well, I will trust you !!!


Bye

SeeMoreDigital
8th June 2004, 17:29
Originally posted by Soulhunter
...But, wasn't there a decoding problem related to multiple b-frames ???

...But if you say everything works well, I will trust you !!! As far as I know there has never been a problem with multiple B-VOPS in MP4. My understanding is that people don't realize that it's the packed bitstream that causes the problems in MP4.


Cheers

stephanV
8th June 2004, 17:43
@soulhunter:
maybe this (http://forum.doom9.org/showthread.php?s=&threadid=77455&highlight=xvid) is what you mean.

but the program is still to buggy for me... 3ivx splitter doesnt seem to work too well with it (it doesn't create output pins) and VLC-player plays the files incorrectly, it throws out agrey screen for the first second and plays without (mp3) sound...

it might be just me though, but if i would switch to MP4, i wouldn't use this tool yet... but 3ivx muxer.

its been fun testing it though :)

kilg0r3
8th June 2004, 18:00
Input Files
------------
Video: XVID Avi AS@L5 1,75GB
Audio: Stereo HE-AAC (Nero)


Procedure
----------
1. Open Nero-generated MP4-file in Mp4Ui
2. Import avi

!!!The output file is not readabale by any application (VLC, mp4box, mp4creator, mp4ui (!))


Error Messages:
---------------

Exception MPEG-4 Internal
Couldn't make ISMA compliant (Length is 420)

Exception MPEG-4 Internal
Couldn't optimize (no such property - moov.mvhd.modificationTime)

Exception MPEG-4 Internal
Couldn't open file d:\321.mp4 (no such property - moov.mvhd.modificationTime)

SeeMoreDigital
8th June 2004, 18:18
One of the problems is not giving mp4UI enough time to finish the muxing/optimizing process. But this does not seem to be the problem here.

Try using the 'MP4UI Blank Template' I made and posted earlier. With this you can import Mpeg4 AVI streams or AAC streams as .AAC in any order.... but remember to make another copy of it before you start!


Cheers

EDIT: I forgot to mention that I've been able to use mp4UI to mux video streams much shorter than the audio streams and vice-versa!

bond
8th June 2004, 19:34
Originally posted by SeeMoreDigital
I took an 6Ch .ac3 stream and changed the file extension to .aac and mp4UI muxed it!
I hasten to add it I could not make it play though, but the fact that mp4UI did not crash or freeze must say something.
You never know we might get .ac3 in MP4 yet!hm, this will never work correctly, as the stream is marked as AAC, so every MP4 splitter will pass the AC3 stream to an AAC decoder (which will not handle ac3 of course)

Soulhunter
8th June 2004, 19:37
Originally posted by stephanV
@soulhunter:
maybe this (http://forum.doom9.org/showthread.php?s=&threadid=77455&highlight=xvid) is what you mean.
Duh, I think you are right stephan !!!

Maybe its time to defrag my brain (or simply sleep more than 4 hours per day)... :D


THX n' Bye

SeeMoreDigital
8th June 2004, 19:38
Originally posted by bond
hm, this will never work correctly, as the stream is marked as AAC, so every MP4 splitter will pass the AC3 stream to an AAC decoder (which will not handle ac3 of course) Obviously I knew that. I just wanted to see what would happen. Previous version of mp4UI just crashed or said 'stream not recognised' (or something like that) but this RC version seems far more robust.


Cheers

kilg0r3
8th June 2004, 19:43
@ SeeMoreDigital

It works .... :confused: / :) Although, Mp4Ui, for some reason was not able to optimize the file but said "Cannot overwrite existing file."

Now SeeMore, what is this template? You did not just create it with Mp4Ui by pushing ?open? and then enter a new filename, did you? So, tell me or I will ... you. :angry: :eek: :D