View Full Version : new MP4Box CVS build available
hyper84
15th June 2004, 18:07
Hey everyone,
I am new to compiling but I have a CS friend in my town that is willing to help me. First, how do I checkout the files needed to compile the newest MP4Box with wincvs? I would ask my second qustion now but right now I really don't know what it is :rolleyes: . Anyhow, thanks for your help.
edit by bond: changed the title to a more broader one (hopefully thats ok :) )
hyper84
15th June 2004, 23:05
Okay, after stumbling around in the dark, I finally compiled mp4box.exe version 0.1.9 I don't know where to send it if anyone wants it, but I do have it. Just ask me for it :sly: .
pogo stick
15th June 2004, 23:14
Thank you, hyper84! :)
MP4Box.zip (http://pogo-stick.nm.ru/MP4Box.zip)
(save as.. or download managers)
Downloading will, probably, be very slow.
bond
16th June 2004, 11:05
thanks hyper84 for compiling it (i changed the thread title to "pre-0.1.9" as 0.1.9 has not been released till now! version numbers should only be used on final officially released code marked with the version number to avoid any confusion
also thanks to pogo stick for hosting it, the only problem is i cant download it from you site :(
anyone else having success?
bond
16th June 2004, 12:57
dext now also compiled the latest mp4box from the cvs (10/06/04 pre-0.1.9)
grap it here (http://webs.ono.com/de_xt/MP4Box.zip) :)
please test it
plz test it everyone if it works correctly now with converting big/long files from AVI to MP4, as it should now be much faster (the commandlines are still the same as described here (http://forum.doom9.org/showthread.php?s=&threadid=75631)!
thanks :)
The Link
16th June 2004, 18:57
In regard of the fact that the last version didn't work at all for me this one is really great! It is is very fast and the resulting file just plays nicely with 3ivx splitter and ffdshow libavcodec decoder. I tested it on a ~700Mb avi file with mp3 audio. As soon as it can handle audio delay correction it will definitly be my mp4 tool of choice! :)
Regards,
The Link
bond
16th June 2004, 19:05
Originally posted by The Link
[B]In regard of the fact that the last version didn't work at all for me this one is really great! It is is very fast and the resulting file just plays nicely with 3ivx splitter and ffdshow libavcodec decoder. I tested it on a ~700Mb avi file with mp3 audio. As soon as it can handle audio delay correction it will definitly be my mp4 tool of choice! :)great news!!!
thanks a lot for testing it! so its definitely usable now :)
pogo stick
16th June 2004, 21:34
I tried it too. Works great.
First file was:
1,358 МB
1h:50m:09s
720 x 528, 2B-VOPs, packed bitstream off
importing time: 3m:50s
------------------
G:\MP4Box.exe -import tv.avi tv.mp4
AVI XVID video import - 720 x 528 @ 25.00 FPS
Indicated Profile: Advanced Simple Profile @ Level 5
Has B-Frames (2 max consecutive B-VOPs) - Adjusting CTS
CTS Adjustment done
Import results: 165234 VOPs (1133 Is - 67299 Ps - 96802 Bs)
No audio track found
Converting to ISMA Audio-Video MP4 file...
Saving file into tv.mp4: Flat storage... done
------------------
Second file was:
217 MB
21m:35s
importing time: 31 sec
544 x 400, 2B-VOPs, packed bitstream on
------------------
G:\MP4Box.exe -import ps.avi ps.mp4
AVI XVID video import - 544 x 400 @ 25.00 FPS
Indicated Profile: Simple Profile @ Level 3
Has B-Frames (2 max consecutive B-VOPs - packed bitstream) - Adjusting CTS
CTS Adjustment done
WARNING: indicated profile doesn't include B-VOPs - forcing Advanced Simple Profile @ Level 5
Import results: 32394 VOPs (408 Is - 12930 Ps - 19056 Bs)
Removed Frames: 0 VFW delay frames - 11678 N-VOPs
No audio track found
Converting to ISMA Audio-Video MP4 file...
Saving file into ps.mp4: Flat storage... done
------------------
AVI had DivX999b000p
MP4 have DivX999b000n
So mp4box changes p->n.
What does this line mean:
------------------
Removed Frames: 0 VFW delay frames - 11678 N-VOPs
------------------
Are there N-VOPs?
Merging files works too. No problems.
And I have a question:
One of import options is:
-dref: keeps media data in original file
What does it mean? Can it be useful in some way?
bond
16th June 2004, 21:44
Originally posted by pogo stick
I tried it too. Works great.great :)
------------------
AVI had DivX999b000p
MP4 have DivX999b000n
So mp4box changes p->n.this means that mp4box changes the packed bitstream flag, indicating that the stream is not packed anymore, meaning no problems when playing the stream with the xvid decoder!
What does this line mean:
------------------
Removed Frames: 0 VFW delay frames - 11678 N-VOPs
------------------
Are there N-VOPs?yes there are two types of n-vops (which are technically the same tough):
1) n-vops the encoder writes if two frames are exactly the same
2) n-vops written by the encoder to keep the same frame amount with packed bitstream, as with packed bitstream two frames get packed together to one
[I] [P] [B] [B] becomes [I] [PB] [B] [N], with "N" being a n-vop. this n-vop has to be removed again of course if you split the "PB", and these are the n-vops mp4box reports in the "removed frames" line
And I have a question:
One of import options is:
-dref: keeps media data in original file
What does it mean? Can it be useful in some way?dref is a way to link to an external file from inside mp4 (afaik it should also work with an avi link, not sure tough)
meaning if you have one .mp4 file carrying the movie, you can create a second mp4 file, which is only some KB big, but links to the first mp4.
now if you play the second small mp4, internally the frames from the first mp4 get taken and played
it depends on what you are wanting do to, if its useful or not
pogo stick
16th June 2004, 22:07
Thanks!
Originally posted by bond
meaning if you have one .mp4 file carrying the movie, you can create a second mp4 file, which is only some KB big, but links to the first mp4.
now if you play the second small mp4, internally the frames from the first mp4 get taken and played
Interesting.
So is there a way to combine: (link to some.mp4 \ movie \ link to some other.mp4) in one .mp4 file?
This may be useful for encoders of TV series to save space by encoding intro and ending titles once.
hyper84
17th June 2004, 05:48
Hmmmmmmm...I just did a small test and don't know what is up.
1. I made an xvid .avi movie file (with and w/o packed bitstream).
2. I encoded the ac3 audio to mp4 using latest nero and oagmachine. The audio is LCaac.
3. I used the release build of mp4box to convert the avi to mp4. It worked fast! No problems at this point.
4. Then i merged the two mp4's with mp4box.
Now i tried to play in MPC. ONLY THE FIRST TIME DOES THIS OCCUR. I receive a explorer.exe application error. "The instruction at '0x030370d8" referenced memory at '0x00000000'. The memory could not be 'read'." After that it will restart explorer, then it will play with no error messages. Anyone? Anyone? This happened with Koepi's xvid binary and the one i compiled from the source. I have an earie feeling it's one of those things with my system and no one else's (which is good for y'all (yes, i'm from Arkansas :rolleyes: ))
edit: oh oh goodie! I entered the debugger and it looks like a problem with creative and their eax. So mp4box works great!!!
kilg0r3
17th June 2004, 11:57
Don't know but there once was some problem with xvid and the explorer.exe ...
bond
17th June 2004, 13:25
i just found out that mp4box by default places the audio stream behind the video when storing the streams in MP4:
to avoid too much seeking when playing back files from CD or HDD its better to use interleaving, as its used in the 3ivx muxer too by default for example!
i think a value of 1000ms is good (you maybe want to use a smaller value for very high bitrate files). use the following commandlines:
1) Importing from AVI to MP4 (creating a VFR MP4 by dropping N-VOPS if set by XviD, 3ivx and NeroDigital)
MP4Box -inter 1000 -import myavi.avi mymp4.mp4 2) Importing from AVI to CFR MP4 (forcing to not drop N-VOPS)
MP4Box -inter 1000 -import myavi.avi -nodrop mymp4.mp4 3) Merging an audio-only MP4 with a video-only MP4
MP4Box -inter 1000 -merge input1.mp4 input2.mp4 output.mp4-inter is ignored for all track exports!
hyper84
17th June 2004, 21:44
Originally posted by bond
i just found out that mp4box by default places the audio stream behind the video when storing the streams in MP4:
to avoid too much seeking when playing back files from CD or HDD its better to use interleaving, as its used in the 3ivx muxer too by default for example!
i think a value of 1000ms is good (you maybe want to use a smaller value for very high bitrate files). use the following commandlines:
1) Importing from AVI to MP4 (creating a VFR MP4 by dropping N-VOPS if set by XviD, 3ivx and NeroDigital)
MP4Box -inter 1000 -import myavi.avi mymp4.mp4 2) Importing from AVI to CFR MP4 (forcing to not drop N-VOPS)
MP4Box -inter 1000 -import myavi.avi -nodrop mymp4.mp4 3) Merging an audio-only MP4 with a video-only MP4
MP4Box -inter 1000 -merge input1.mp4 input2.mp4 output.mp4-inter is ignored for all track exports!
I here some weird artifacts when using -inter 1000 -merge {input 1_video) (input 2_audio) (output). It plays fine when no seeking is done, but if I rapidly seek around one area of the video, i hear strange artifacts. Seems like they eventually go away though, like the video has to adjusts itself...
Drachir
17th June 2004, 23:23
I noticed an other behaviour with xine ( http://xine.sf.net ) .
If i use -inter 1000 to create a mp4 file (with aac). I can seek with xine.
Without interleving xine won't seek.
With mplayer (http://www.mplayerhq.hu/) it works in both cases.
bond
19th June 2004, 09:41
Originally posted by hyper84
I here some weird artifacts when using -inter 1000 -merge {input 1_video) (input 2_audio) (output). It plays fine when no seeking is done, but if I rapidly seek around one area of the video, i hear strange artifacts. Seems like they eventually go away though, like the video has to adjusts itself...you talk about "hearing" and video!? are the artifacts now in the audio or in the video?
also which player/filter/decoder did you use during playback? does it also happen with another player/filter/decoder?
Originally posted by Drachir
Without interleving xine won't seek.
with mplayer (http://www.mplayerhq.hu/) it works in both cases.ok, so it seems xine has problems with not interleaved files, maybe you want to make a bug report for them :)
hyper84
19th June 2004, 15:44
I'm using MPC 6.4.8.2 with 3ivx splitter, ffdshow, and MPC's default aac decoder and ac3 filter. The audio just has a strange buzzing sound or something that will eventually go away after about 5-10 seconds. It doesn't happen if you just watch the movie straight through. I had to seek to get it to happen. I am currently running another test on it though.
edit: okay, I did a large (over one hour) test video and the problem is gone. My guess is that this only pops up on small files when you seek to much around one particular area too fast. On a side note, comparing the 3ivx muxer and mp4box, in mp4ui the video muxed with 3ivx shows the profile wrong but the bitrate right (or close to it, around 1400kbps), and the mp4box video has the profile right but the bitrate way off (around 300 kbps). Are these just problems with detection in mp4ui or do you think that they are internal that would cause problems on a standalone mp4 AS@L5 player?
bond
19th June 2004, 17:14
Originally posted by hyper84
On a side note, comparing the 3ivx muxer and mp4box, in mp4ui the video muxed with 3ivx shows the profile wrong but the bitrate right (or close to it, around 1400kbps)yes, the 3ivx muxer uses hardcoded always sp@l3 afaik
this will be fixed in a new release
and the mp4box video has the profile right but the bitrate way off (around 300 kbps).hm interesting, seems mp4box doesnt set it right
maybe you want to make a bug report here (http://sourceforge.net/projects/gpac)
Are these just problems with detection in mp4ui or do you think that they are internal that would cause problems on a standalone mp4 AS@L5 player?these infos are only marked "in the header" and dont change the original content (like lowering the bitrate or so)
i dont think that any player would refuse to play a file which doesnt have the correct info set, but of course if its not correct set, its a bug and should be fixed
pogo stick
20th June 2004, 03:34
What about Osmo4? Was it changed since the last version?
And, Bond, what about this one? Is it possible?
Originally posted by pogo stick
So is there a way to combine: (link to some.mp4 \ movie \ link to some other.mp4) in one .mp4 file?
This may be useful for encoders of TV series to save space by encoding intro and ending titles once.
bond
20th June 2004, 08:52
Originally posted by pogo stick
[B]What about Osmo4? Was it changed since the last version?yep, it surely changed
afaik the most important changes are now that jeanlf is working on adding 3D support to it
And, Bond, what about this one? Is it possible?hm, i think so yeah
but you will have to try it ;)
pogo stick
20th June 2004, 13:28
Originally posted by bond
yep, it surely changed
afaik the most important changes are now that jeanlf is working on adding 3D support to it
Too bad I can not compil. :(
bond
20th June 2004, 13:49
Originally posted by pogo stick
Too bad I can not compil. :( its still very basic, so i dont think that there really is the need to make a cvs compile, because it includes that many new features or so
lets wait for the next official release :)
bond
20th June 2004, 17:45
there have been some small changes in the cvs:
- bitrate setting fixed
- 500ms interleaving (like -inter 500) is now default with -merge and -import
hyper84
21st June 2004, 05:11
Originally posted by bond
there have been some small changes in the cvs:
- bitrate setting fixed
- 500ms interleaving (like -inter 500) is now default with -merge and -import
This is good news! I did a small test file and indeed the bitrate does seem to be fixed. Good to hear about the interleaving change, too. Thanks for the news, bond.
DeXT
21st June 2004, 21:46
Here's a new Release build of MP4Box.exe from CVS dated 20-06-04.
MP4Box.zip (http://webs.ono.com/de_xt/MP4Box.zip) (same link as previous)
DeXT
bond
23rd June 2004, 10:56
thanks a lot dext!
pogo stick
24th June 2004, 04:57
Oh yes, thanks a lot!
I just tried it. Works great!
tripnotik
25th June 2004, 23:21
It works great for me except for one small thing. It adds one frame to the video when creating the mp4 file. Does anyone know if it is a bug or something I did wrong.
Here's my testing methodology.
I first create the following avs file as a source. The low framerate is to make it easier to look for missing or double frames when viewing the video.
Colorbars(640, 480).ConvertToYV12()
KillAudio()
trim(0, -60)
AssumeFPS(1.0)
info()
I then create an AVI with avs2avi, using XviD with packed bitstream. This AVI is 60 frames long (1:00 minute) and everything is good at this point.
Then using MP4Box to convert to mp4
F:\dvdrip\test>mp4box -import test_p.avi test_p.mp4
AVI XVID video import - 640 x 480 @ 1.00 FPS
Indicated Profile: Simple Profile @ Level 3
Has B-Frames (3 max consecutive B-VOPs - packed bitstream) - Adjusting CTS
CTS Adjustment done
WARNING: indicated profile doesn't include B-VOPs - forcing Advanced Simple Prof
ile @ Level 5
Import results: 61 VOPs (1 Is - 15 Ps - 45 Bs)
Removed Frames: 0 VFW delay frames - 14 N-VOPs
No audio track found
Converting to ISMA Audio-Video MP4 file...
Saving file into test_p.mp4: Interleaving on (0.500 seconds)... done
As you can see, the video is now 61 frames. When looking at the video with the 3ivx splitter and XviD decoder (or 3ivx decoder) in MPC (or any other player), it reports as 1:01 minute long.
So can anyone tell me what went wrong here?
Thanks!
bond
25th June 2004, 23:35
Originally posted by tripnotik
As you can see, the video is now 61 frames. When looking at the video with the 3ivx splitter and XviD decoder (or 3ivx decoder) in MPC (or any other player), it reports as 1:01 minute long.if i remember it right someone else already reported something like that with avs2avi, use search, i didnt investigate it any further
what happens if you extract the video stream to avi again? how many frames does it report? if you go through the .avi in virtualdub frame-by-frame are all frames ok or did a strange frame got added
also you could try to analyse the file from inside .mp4 via dshowsource() in avisynth and using ffdshows frame info display
there is a known bug in virtualdub(mod) creating buggy output at the end of a mpeg-4 stream caused by the avi/vfw b-frame hacks/workarounds, maybe avs2avi also has problems handling all the avi workarounds 100% correct
tripnotik
27th June 2004, 18:14
there is a known bug in virtualdub(mod) creating buggy output at the end of a mpeg-4 stream caused by the avi/vfw b-frame hacks/workarounds, maybe avs2avi also has problems handling all the avi workarounds 100% correct [/B]
You are right, the problem was caused by vfw. I guess I'll have to find an encoder that doesn't use vfw, or maybe modify avs2avi to use XviD directly.
bond
28th June 2004, 09:13
if you try it on unpacking a file with only 1 max. b-frame in a raw you will see that mp4box removes 1 n-vops too few (as the number of n-vops has to be the number of b-vops on a 1 b-vop file)
3ivx shows a very similar behaviour, with the small difference that it doesnt simply leave the n-vop in, but removes it and gives the last frame the double duration (as it think that there is one n-vop too much)
avery lee is already looking at this bug in virtualdub (i think avs2avi maybe uses the same code as virtualdub, and therefore shows the same problem)
until than you can avoid having one frame too much (this should not hurt anything) with simply not using packed bitstream in xvid (its useless anyways if you dont want to use avi)
ok just in case you also recognize 1 more frame in the output of mp4box than there was in the (packed) input avi:
the reason is (once again) the b-frames in vfw/avi hackery!
tripnotik made a nice explanation here (http://forum.doom9.org/showthread.php?s=&threadid=78883)
to sum it up:
you have 1 frame too few listed in the input (as some frames are packed together) -> when mp4box unpacks them you get the correct number of frames
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.