View Full Version : MPEG4 Modifier v1.3.4 Released (Updated 2005-Dec-14)
Moitah
14th June 2004, 17:35
This program modifies a MPEG4 video (XviD, DivX) without re-encoding (aspect ratio, userdata, packed bitstream removal, and interlaced field order). The video must be in an AVI container. There is also a command line version (http://forum.doom9.org/showthread.php?t=117553) sharing most of the same features which even runs in other OSes with Mono.
IMPORTANT: As of version 1.4.0, requires the .NET Framework 2.0. Versions 1.3.4 and earlier require the .NET Framework 1.1 or newer.
NOTE: Aspect ratio modification works by changing a flag in the VOL headers, which is ignored by most decoders.
Changes:
1.4.4:Fixed a few small issues that prevented DivX subtitles from working.
Added *.divx to the supported extension list in the file dialogs.
A default file name is now provided when saving.1.4.3: Doesn't remove delay frames anymore, this caused synch problems with joined videos.
FourCC and user data information are now shown in the "Video Info" text.
It's now possible to pack videos containing drop frames.1.4.2: Fixed several problems with OpenDML reading/writing (writing bad OpenDML index entries, out of memory exception or unnecessary reading when loading, incomplete loading of files with damaged/missing index).1.4.1: Fixed some problems with packing which also required corrections to the timestamp calculation code.
If you try to load a non-MPEG4 video, the error message now displays which codec the file uses.
Better default directories for load/save file dialogs.1.4.0: AVI handling code completely rewritten, supports OpenDML and incomplete files (rebuilds the index including keyframe flags).
Ability to add/readd packed bitstream.
Optimized some parts, runs significantly faster.
Added Cancel button on load/save progress window.
Doesn't freeze explorer while loading a file after dropping onto the source textbox.
Updated code to take advantage of C# 2.0 features, and lots of cleanup.1.3.4: Re-added support for files with packed bitstream containing real N-VOPs (apparently the XviD 1.1 betas do this)1.3.3: Fixed bug when unpacking files with missing N-VOPs (caused by cutting/joining)
Removed support for files with packed bitstream containing real N-VOPs to simplify code1.3.2: New feature: Video Info now shows how many warp points are actually used (for example, DivX indicates 2 warp points in the VOL, but the 2nd one is never used)
Added detection for corrupt RIFF chunk sizes
Fixed byte order problem in AVI index on big endian systems (for command line unpacker running on OS X)1.3.1: Added percent in titlebar of progress window
Added 1.85:1 display aspect ratio
Fixed saving AVIs with no index
Fixed small cosmetic issues in main window1.3.0:
New feature: option to automatically change user data when unpacking
Fixed bugs with 'rec ' list indexing
Added progress bar during load and save
A file can be loaded from the command line, or by dropping it on the AVI Source text box
Error checking is less strict (no more "No dummy N-VOP found for packed frame" and "Invalid VOL" errors)
Files are closed sooner, and output file is deleted if an error occurs during save
Other code improvements and clean-up1.2.0:
New feature: modification of field order for interlaced videos
New feature: video information (i.e. whether or not QPel/GMC were used, stats for how many I/B/P/S/N-VOPs were used, list of VOP type and timestamp for each frame, etc.)
Packed bitstream removal can now tell the difference between dummy N-VOPs and real N-VOPs (though I'm told no encoder currently writes real N-VOPs in a packed bitstream)1.1.0:
New feature: packed bitstream removal
New feature: userdata modification
Recognizes frames written in '00db' chunks1.0.0 (Changes over the "rp.exe" preview (http://forum.doom9.org/showthread.php?s=&threadid=76828)): Has a proper GUI
Warns if the AVI is OpenDML
Reads the frame width/height from the video (for DAR->PAR calculation)
Writes dwSuggestedBufferSize in the video stream header (it wrote 0 before)
Supports 'rec ' lists
Code has been restructured
http://www.moitah.net/MPEG4Modifier.png
Download: Binary (http://www.moitah.net/download/latest/MPEG4Modifier.zip) | Source (http://www.moitah.net/download/latest/MPEG4Modifier-Source.zip)
bond
14th June 2004, 18:48
seems to work great (also with other mpeg-4 codecs (not only divx5 and xvid), like 3ivx :) )
especially i like the display of already existing ar info stored in the stream :)
communist
14th June 2004, 19:04
Works fine for me. Tested with XviD encodes and VLC media player.
Thanks for the nice tool :)
SiXXGuNNZ
14th June 2004, 21:11
thanks for the app and now the gui :)
Moitah
14th June 2004, 21:20
I'm glad it's working okay :D. Could someone take a screenshot of it with a video loaded in Windows XP/2003 with the new visual style? I think it should display properly using the new style controls but I have no way to test it.
bond
14th June 2004, 21:57
it seems to need pretty long to load tough (i am under winme)
SiXXGuNNZ
14th June 2004, 23:48
Originally posted by Moitah
I'm glad it's working okay :D. Could someone take a screenshot of it with a video loaded in Windows XP/2003 with the new visual style? I think it should display properly using the new style controls but I have no way to test it.
?
http://www.10kbullets.com/xp-theme.jpg
this what you asking?
mikeX
15th June 2004, 00:14
visuals work fine here as well:
http://users.ntua.gr/el01707/downloads/mpeg4mod-1.png
It takes some time to load here as well for a 48KB executable (P4 1.8, nothing crazy though), but I guess that can't be helped with .NET.
Moitah
15th June 2004, 04:00
Yeah that's what I wanted to see, thanks guys, it looks fine.
mikeX: I looked at the AVI you sent. It will be simple to fix but I won't have time to mess with it until tomorrow evening.
sysKin
15th June 2004, 04:17
Hi,
now that you have a VOL header parser/rewriter, I have a feature request :)
Please pretty please let us re-write (or add, if there wasn't any) userdata info :D
Userdata has a startcode 0x000001b2 and is followed by normal ascii string. Comes after VOL, but might even come before it, I'm not sure.
It would be very very useful for the following two things:
- removing fake DivX userdata ("DivX999b000p") which makes xvid expect packed bitstream, and completely b0rks decoding from mp4. This *is* an xvid ussue but until it's fixed, it would be a great workaround.
- adding "old xvid" identification, which will make new xvid decode old (xvid .9) streams correctly. These streams do not have any userdata, and xvid assumes iso mpeg-4, but they are broken. If xvid can identify them with proper userdata, it would apply a workaround and decode them good.
The userdata for that is "XviD0001".
Regards,
Radek
Moitah
15th June 2004, 04:39
Originally posted by sysKin
Please pretty please let us re-write (or add, if there wasn't any) userdata info :D
I was thinking about doing this already, actually. That's why I gave the program a more generic name instead of "Aspect Ratio Modifier" :).
SeeMoreDigital
15th June 2004, 10:11
Originally posted by Moitah
I was thinking about doing this already, actually. That's why I gave the program a more generic name instead of "Aspect Ratio Modifier" :). I had wondered about why you named it what you did!
This is a fabulous tool I've already used it to change the AR of a couple of 800MB DivX encodes, prior to muxing into an MP4 container.
No speed problems here, as your tool could change the AR header and re-write a new file much faster than mp4UI can mux :D
Additional features, such as packed bitstream removal, 4CC changing, and being able to add/alter 'summary information' would be the icing on the cake.
That said, it's a really great tool already.
There are a lot of clever people on this forum... I just wish I was one of them!
Cheers
bond
15th June 2004, 20:56
hm i am not so sure if its a that good idea to make it too easy to change the user data of the bitstream
i mean it should represent the infos the encoder thinks should be set!
i dont think it should be compared to the fourcc, which the people change as they wish... the user data should really be a very accurate way to show the correct info about the bitstream!
for example i find it very usefull if i analyse a buggy mp4 file and see that the stream was originally packed by the encoder, which points to possible solutions
now if people start to mess around with this (who knows what people are going to do...) its not that good imo
maybe the editing should really be limited to very specific tasks, like the ones syskin mentioned and should not include a "you can change it all as you want" option
also about the "packed bitstream flag removing" option (as simply too many muxers exist which dont unpack the stream when muxing to mp4, its really important to know that the stream was packed originally!!) i think it would be a really better solution if the xvid decoder could ignore the bitstream description, than allowing the people to change the flag in avi, which means its in no way ensured that a correct mp4 muxer is used afterwards!
also maybe giving the user the false security that if this is changed, packed bitstream might cause less problems in mp4 or so, which is not the case of course
its good to have an easy way to identify originally packed bitstreams in mp4, as its really an important issue!
therefore i dont think people should be able to manually remove flags set by the encoder indicating that the stream was packed originally!
bond
17th June 2004, 08:58
i just thought about a possibility to make it work with the xvid decoder, but still have it marked that the stream has been initially packed:
only change the "p" at the end of the user data of divx5 and xvid to "n"!
that way the xvid decoder will not bork anymore, but its still clear if you analyse the user data, that the stream was output packed by the encoder :)
GrEEk_OuTcAsT
17th June 2004, 18:21
Hm, I think this that I ask is difficult. How about supporting matroska files? I know that in the video streams in matroska you can select AR, but it doesn't work to me ;).
Zhnujm
18th June 2004, 21:03
Just got the right firmware to try it with my Xoro311pro, works fine.
Thanks. :)
unmei
18th June 2004, 21:28
GrEEK_OuTcAsT: are you sure they are not written to the file? or is it just your player doesn't know what to do with it? Because if its a player issue no additional tool can fix it..
I set my aspect ratio always on muxing with mkvmerge and it always worked so far. The shell extesions shows it and both MPC and TCMP use it correctly (and these are the only players i use).
bond
19th June 2004, 10:39
Originally posted by GrEEk_OuTcAsT
Hm, I think this that I ask is difficult. How about supporting matroska files? I know that in the video streams in matroska you can select AR, but it doesn't work to me ;). they way AR is stored in matroska has nothing to do with the AR stored in mpeg-4 streams themselves, therefore mpeg4modifier isnt really the right tool for changing matroska aspect ratios
SeeMoreDigital
19th June 2004, 12:12
Moitah,
Have you had chance yet to decided what other features you are going to include?
Cheers
Soulhunter
19th June 2004, 17:47
Originally posted by bond
Also about the "packed bitstream flag removing" option...And, re-writing the AVI unpacked ???
Bye
SeeMoreDigital
19th June 2004, 17:50
Originally posted by Soulhunter
And, re-writing the AVI unpacked ??? This would be a dream come true :D
bond
19th June 2004, 17:52
Originally posted by Soulhunter
And, re-writing the AVI unpacked ???well if possible :D
but i think syskin meant more only the bitstream description changing not the whole video stream
Soulhunter
19th June 2004, 18:45
Ahh, thought it was a reply to S.M.D's post !!!
Originally posted by SeeMoreDigital
Additional features, such as packed bitstream removal, 4CC changing, and being able to add/alter 'summary information' would be the icing on the cake.
Bye
kassandro
20th June 2004, 18:25
Which players use these avi aspect ratios? Are there any hardware players too?
SeeMoreDigital
20th June 2004, 18:43
There is a MediaTek chipset based stand-player which can detect AR signalling incorporated into the bitstream.
Have a look in the "hardware section"!
Cheers
Moitah
24th June 2004, 23:28
Version 1.1.0 released, first post has been updated :).
Moitah
24th June 2004, 23:35
Originally posted by bond
hm i am not so sure if its a that good idea to make it too easy to change the user data of the bitstream I thought about your suggestion but couldn't think of a nice way to do it, and I would hate to limit its abilities. :(
sysKin
25th June 2004, 05:03
Originally posted by Moitah
I've just discovered that packed bitstream removal for DivX5 may be broken. An update: it isn't. It's xvid decoder that is broken, and the bug is really really stupid.
This happens on divx5 streams but not xvid PB streams. I'll commit the fix, but you'll probably need xvid 1.1alpha to have it working.
Radek
SeeMoreDigital
25th June 2004, 10:56
I've just removed the packed bitstream from an DivX 1B-VOP packed bitstream encode.
When you play it back via WMP9 or MPC the image shakes about like something from an Irwin Allen disaster movie. Forcing the encode to play via XviD's DSdec filter reveals the same symptoms. Everything is OK if you delete all the UserData though.
Perfect playback via the 3ivX DSdec filter or via Nero's ShowTime player, with or without the UserData!
Tried the same test with an XviD 1B-VOP packed bitstream encode. And the same thing happened...
Sadly this tool has not helped me with XviD 1B-VOP encodes played back via Sigma Xcard.... so god knows what makes XviD and DivX so different in this regard!
This tool is great fun... I love it...
pogo stick
25th June 2004, 21:46
Originally posted by Moitah
New feature: packed bitstream removal
Great! Thanks, Moitah!
So should I remove 'DivX999b000p' part in XviD movie or just change 'p' to 'n' when removing packed bitstream? And, just out of curiosity, what all the numbers and letters after DivX and XviD mean? I was told that 'p' is packed bitstream and 'c' is cartoon mode.
bond
25th June 2004, 21:55
Originally posted by pogo stick
Great! Thanks, Moitah!
So should I remove 'DivX999b000p' part in XviD movie or just change 'p' to 'n' when removing packed bitstream? And, just out of curiosity, what all the numbers and letters after DivX and XviD mean? I was told that 'p' is packed bitstream and 'c' is cartoon mode. change the "p" to "n"
that way no decoder will think that its still packed, but still it will be possible to detect that the stream had been outputted packed by the encoder if something is borky
Moitah
25th June 2004, 22:07
Originally posted by pogo stick
So should I remove 'DivX999b000p' part in XviD movie or just change 'p' to 'n' when removing packed bitstream? And, just out of curiosity, what all the numbers and letters after DivX and XviD mean? I was told that 'p' is packed bitstream and 'c' is cartoon mode. If it's an XviD encode, you can just remove the fake DivX userdata when unpacking the bitstream. The XviD encoder only writes DivX userdata when packed bitstream is used. For a DivX encode, I believe you can either remove the 'p', or change it to 'n'.
The XviD userdata string is 'XviD' followed by a 4 character bitstream version (for example, XviD 1.0.1 writes the userdata 'XviD0035'). If the character 'C' is appended to the end, this indicates cartoon mode. The DivX userdata string is 'DivX' + version + 'b' + build ('DivX503b1031' for DivX 5.1.1), followed by a 'p' if packed bitstream was used.
EDIT: bond was quicker :). Yeah, if you want to leave the fake DivX userdata string in there and just change 'p' to 'n' it won't hurt anything.
SeeMoreDigital
26th June 2004, 09:48
I noticed when you generate a DivX5.1.1 encode with 1B-VOP packed bitstream (PBS). MPEG4 Modifier displays the UserData as being, DivX503b1031p.
And when you generate a XviD1.0.1 encode with 1B-VOP packed bitstream (PBS). MPEG4 Modifier displays the UserData as being, DivX999b000p and XviD0035
The DivX user code is totally different. Could it be something as simple as this that confuses some stand alone players?
And... I remember some people on the DivX forum wanting a tool that could detect the exact version of DivX that was used in an encode. Could this tool do this?
Cheers
bond
26th June 2004, 10:01
Originally posted by SeeMoreDigital
The DivX user code is totally different. Could it be something as simple as this that confuses some stand alone players?i dont think so, as thats simply the way how divx5 and xvid mark packed bitstream AND a decoder should NOT look at the user data and in fact no decoder does it atm, except the one from xvid :(
And... I remember some people on the DivX forum wanting a tool that could detect the exact version of DivX that was used in an encode. Could this tool do this?should be possible
someone would have to investigate which version number used which "bitstream version" and create a list
i dont really like the idea that people can mess around with the user data, its simply a very accurate way to identify the used codec (including some codec settings) and there shouldnt be a reason why to change it (except with the xvid decoder, which syskin already announced to change to not care about the user data anymore :) )
SeeMoreDigital
26th June 2004, 11:04
Originally posted by bond
should be possible
someone would have to investigate which version number used which "bitstream version" and create a list I guess somebody at DivX could provide this and maybe throw in some beta codings!
I can see this tool being useful for some DivX users...
I've always found Sigma's AVIcheck (http://82.2.167.24/Uploaded_Files/Doom9_Forum_files/AVIcheck.zip) to be useful (I know - don't say it). Although it can't tell you the version of DivX used, it can very quickly, tell you if the stream contains B-VOP's, S-VOP and Qpel. To have something like this in MPEG4Modifier would be great, especially if it could tell you how many consecutive / variable B-VOP's were used!
Would this be possible?
Cheers
gotaserena
26th June 2004, 14:18
Originally posted by SeeMoreDigital
it can very quickly, tell you if the stream contains B-VOP's, S-VOP and Qpel. To have something like this in MPEG4Modifier would be great,
Yup something like a/v streams info would be nice...
BTW I'm finding the error "Startcode not found at the beginning of the frame" when I try some .avis. Is the problem in the stream or the program?
especially if it could tell you how many consecutive / variable B-VOP's were used!
But doesn't this require an extensive analysis of the stream? The program would turn into another DRFAnalyzer... FWIW I would like to have compatibility with .mp4 (or .mkv), but I guess that's too much work.
Great tool, Moitah!
Moitah
26th June 2004, 14:37
Originally posted by gotaserena
I'm finding the error "Startcode not found at the beginning of the frame" when I try some .avis...This happens when you load a video that isn't MPEG4 compliant.
Originally posted by gotaserena
Great tool, Moitah!Thanks :)
Moitah
26th June 2004, 14:48
Originally posted by SeeMoreDigital
... it can very quickly, tell you if the stream contains B-VOP's, S-VOP and Qpel. To have something like this in MPEG4Modifier would be great, especially if it could tell you how many consecutive / variable B-VOP's were used!
Would this be possible?
It would be possible, sure. I already have to determine each frame's VOP type (I/P/B/S/N) for removing packed bitstream. I don't know if generating stats is something I want to add, but I will think about it.
SeeMoreDigital
7th July 2004, 10:18
Moitah,
I've had yet another wild thought!
Would it be possible to create a tool that can alter the PAR and DAR of Mpeg1 and Mpeg2 streams?
And....
If you is possible to adapt MPEG4Modifier to show if an Mpeg4 stream contains B-VOP, Qpel and GMC. Would it also be possible to identify the type of GMC was used ie: 1WP or 3WP?
This sort of feature should prove useful for some of us hardware player users!
And....
Given that MPEG4Modifier is not specifically related to XviD, would it be better to move this thread to another part of the forum. I reckon loads of people are missing out.
Cheers
Moitah
9th July 2004, 04:40
@SeeMoreDigital: I'm not really interested in messing with MPEG 1/2. I would like to do some stats in the next version, including B-VOP/QPel/GMC information (yes, I believe I will be able to determine the number of warp points). Also I plan to allow the field order flag to be modified for interlaced encodes.
Thank you Moitah for nice tool, working good with 3ivx .avi and VLCplayer is reacting nicely for the changes done by Mpeg4Modifier.
Very interesting experiments can be carried out with anamorphic 2.35:1 pictures that are encoded with 3ivx with pixel matrix 720x576 and latter modified to 2.35:1 by Mpeg4Modifier.
eb
SeeMoreDigital
9th July 2004, 12:55
Originally posted by eb
Very interesting experiments can be carried out with anamorphic 2.35:1 pictures that are encoded with 3ivx with pixel matrix 720x576 and latter modified to 2.35:1 by Mpeg4Modifier. Have you been cropping 2.35:1 images and encoding them using 720x480/576 pixels. And then MPEG4Modifier to correct the DAR back to 2.35:1?
If so it's quite nifty feature. And such is the power of DAR over PAR. But you can do it with XviD and DivX too!
Cheers
SeeMoreDigital wrote:Have you been cropping 2.35:1 images and encoding them using 720x480/576 pixels. And then MPEG4Modifier to correct the DAR back to 2.35:1?
Yes, exactly croping then resizing to 720x576 and Mpeg4Modifier back to 2.35:1. All this tests are done on sattv records.
I see that you have SS2 card /my advice to you HotBird 13, 10911V, MCE radio, you can record simultaniously 10 (ten) MCE channels and every song or piece of music is recorded separately - it is only pity that MCE webpages with song titles and albums are not more working/.
Gretings
eb
Zhnujm
9th July 2004, 14:51
Originally posted by Moitah
.... Also I plan to allow the field order flag to be modified for interlaced encodes.
That would be really useful as xvid does not offer such option during encoding.
SeeMoreDigital
9th July 2004, 15:19
Originally posted by Moitah
@SeeMoreDigital: I'm not really interested in messing with MPEG 1/2. Oh well... Just a thought!
Originally posted by Moitah
I would like to do some stats in the next version, including B-VOP/QPel/GMC information (yes, I believe I will be able to determine the number of warp points). Great news!
Originally posted by Moitah
Also I plan to allow the field order flag to be modified for interlaced encodes. This would be clever!
Have you got something up your sleeve that can half the frame rate (ie: throw out the duplicate frames) from 60fps 720p encodes?
Cheers
Moitah
9th July 2004, 16:23
Originally posted by SeeMoreDigital
Have you got something up your sleeve that can half the frame rate (ie: throw out the duplicate frames) from 60fps 720p encodes?Nope, can't throw away frames since they are predicted from eachother. Why would a 60fps 720p encode have duplicate frames? Maybe if all the dupes were N-VOPs, but I don't think this would be reliable.
SiXXGuNNZ
10th July 2004, 20:23
Originally posted by Moitah
Warns if the AVI is OpenDML
I got an opendml avi because my avi is over 2gb(backing up to dvd), can I split the file in half, modify the aspect ratio in both files and join the back together and have it work? or do I need to do something else?
Moitah
11th July 2004, 00:11
Originally posted by SiXXGuNNZ
I got an opendml avi because my avi is over 2gb(backing up to dvd), can I split the file in half, modify the aspect ratio in both files and join the back together and have it work? or do I need to do something else? I haven't tried this, but I think it will work fine.
SiXXGuNNZ
11th July 2004, 03:15
Originally posted by Moitah
I haven't tried this, but I think it will work fine.
yep, it works just fine, so that is good news :)
SeeMoreDigital
27th August 2004, 10:18
Hi Moitah,
Hey there best friend, buddy, Pal, demi-god....
Would it be possible to make a version of this tool that can support different containers... such as MKV and (my personal favourite) .MP4?
Just curious!
Tanshu
1st September 2004, 13:08
Moitah, this is an excellent tools. Works wonders as far as changing the UserData of old XviD encodes is concerned (I had a few old ones which borked in the new decoder).
It may sound noobish, but I cannot get the AR changing to take place. I am using MPC and Koepi's Xvid 1.0.1 filter. It seems as though it ignores the AR set in the AVI file. I prefer using the XviD decoder, so is it possible or is it only possible with FFDShow?
And again. Thanks a lot for this gr8 tool and keep up the good work.
SeeMoreDigital
1st September 2004, 13:14
Originally posted by Tanshu
It may sound noobish, but I cannot get the AR changing to take place. I am using MPC and Koepi's Xvid 1.0.1 filter. It seems as though it ignores the AR set in the AVI file. Unfortunately Koepi's 1.0.1 DSdec filter does not decode and display anamorphic streams. So that's why MPC does not work yet!
I've tried a pre-release of version of Koepi's 1.1.x DSdec filter and it works very well indeed....
So hang on in there a bit longer!
Cheers
Tanshu
1st September 2004, 13:35
Didn't know about Koepi's 1.1.x .... and cannot wait for it now... :D
Thanx a lot for the info.
SeeMoreDigital
1st September 2004, 13:55
Originally posted by Tanshu
Didn't know about Koepi's 1.1.x .... and cannot wait for it now... :D
Thanx a lot for the info. My pleasure!
In the meantime, if you have the new version of Nero Vision Express installed, you could view your anamorphic encodes in their ShowTime player!
Cheers
Tanshu
1st September 2004, 15:49
I have Nero installed, but I love MPC a bit too much and haven't been able to use anything since I first got hold of it. (Hope Gabest keeps up the updates, the good news is that he commited a few changes just a few days back. :) )
bond
1st September 2004, 18:02
Originally posted by SeeMoreDigital
In the meantime, if you have the new version of Nero Vision Express installed, you could view your anamorphic encodes in their ShowTime player!hm, doesnt the anamorphic resize in their filters work in any dshow based player, like mpc?
SeeMoreDigital
1st September 2004, 18:11
Originally posted by bond
hm, doesnt the anamorphic resize in their filters work in any dshow based player, like mpc? Yes, Nero's new filters will (should) work now in all direct-show based players :D
That said users must either un-install, de-register or lower the priority of their any other Mpeg4 DSdec filters they may have installed, before Nero's kick in.
Or they could change the 4cc code of their entire collection of Mpeg4 .avi's :rolleyes:
Jeez, I don't know which option I should do myself now :D
Have you got your PC/living situation sorted out now?
Cheers
bond
1st September 2004, 18:28
or they could use .mp4 ;)
SeeMoreDigital
1st September 2004, 18:58
Ain't that the truth! :D
Cheers
Moitah
14th September 2004, 16:16
Version 1.2.0 released, first post has been updated.
SeeMoreDigital
14th September 2004, 16:28
Nice one Moitah, looks good...
Thanks
minolta
14th September 2004, 16:40
Whoa, everything I ever wanted and more! My new dvd/mpeg4 player does obey field-order, and my old interlaced videos were 'juddery'. When changed to 'tff' with your tool, they become smooth again. Also, knowing gmc or qpel is important, since the dvd/mpeg4 player can't handle these. Many thanks for a fantastic tool.
-Minolta
Moitah
16th September 2004, 21:14
Originally posted by SeeMoreDigital
Would it be possible to make a version of this tool that can support different containers... such as MKV and (my personal favourite) .MP4?
Matroska: Yeah it should be possible, and I would like Matroska support as well. But I don't think it's going to happen, just because I don't really feel like doing it :p.
MP4: I can't say I'm really interested in MP4, not because I don't like it, but I've never had a reason to use it. To answer your question, though, I don't see why it wouldn't be possible (though I haven't seen the specs for it).
Moitah
16th September 2004, 21:32
Some information about the stats in 1.2.0:
"Dummy N-VOPs" are N-VOPs used as placeholders for real VOPs when packed bitstream is used. These show up in the frame list as "N-VOP(D)", and they are not used in the stats for calculating the amount of N-VOPs in the video.
The calculation method for consecutive B-VOPs... I will give an example:
I B B P B
This would be shown as "1 consec: 50%, 2 consec: 50%" (as opposed to "1 consec: 33%, 2 consec: 67%").
Here's an example of what the stats shows, for those who haven't tried it:
Packed bitstream: Yes
QPel: Yes
GMC: Yes (3 warp points)
Interlaced: Yes (top field first)
Aspect ratio: Custom pixel shape (141:80 = 1.7625)
Quant type: MPEG Custom
Custom intra matrix:
8 9 10 11 12 14 16 18
9 11 12 13 15 16 18 20
10 12 14 16 17 19 21 22
11 13 16 18 20 22 24 26
12 15 17 20 23 25 28 30
14 16 19 22 25 29 34 38
16 18 21 24 28 34 46 52
18 20 22 26 30 38 52 72
Custom inter matrix:
16 16 17 17 18 19 21 23
16 17 17 18 19 20 22 24
17 17 19 20 21 23 24 27
17 18 20 22 24 25 28 32
18 19 21 24 26 29 36 40
19 20 23 25 29 40 48 52
21 22 24 28 36 48 60 64
23 24 27 32 40 52 64 106
I-VOPs: 3 (0.42%)
P-VOPs: 52 (7.29%)
B-VOPs: 460 (64.52%)
S-VOPs: 198 (27.77%)
N-VOPs: 0 (0.00%)
Max consecutive B-VOPs: 2
1 consec: 15.26%
2 consec: 84.74%
And the frame list:
0: I-VOP (0:00:00.000)
1: P-VOP (0:00:00.066)
B-VOP (0:00:00.033)
2: N-VOP(D) (0:00:00.066)
3: P-VOP (0:00:00.166)
B-VOP (0:00:00.100)
4: B-VOP (0:00:00.133)
5: N-VOP(D) (0:00:00.166)
6: P-VOP (0:00:00.233)
B-VOP (0:00:00.200)
7: N-VOP(D) (0:00:00.233)
8: P-VOP (0:00:00.333)
B-VOP (0:00:00.266)
9: B-VOP (0:00:00.300)
10: N-VOP(D) (0:00:00.333)
SeeMoreDigital
16th September 2004, 21:45
Originally posted by Moitah
...MP4: I can't say I'm really interested in MP4, not because I don't like it, but I've never had a reason to use it. To answer your question, though, I don't see why it wouldn't be possible (though I haven't seen the specs for it). I think it's a real shame that there are so many people on the forum who don't like the MP4 container ;)
What us MP4 enthusiasts need are people like your good self creating tools to help raise the profile of the container (so more people use it) because it really is rather flexible!
As you know, there's quite a buzz on the forum regarding Ahead's proposed h.264 (AVC) implementation. Which sufficed to say is in MP4 :D
Cheers
pogo stick
17th September 2004, 19:28
Originally posted by Moitah
New feature: modification of field order for interlaced videos
Great! New feature helped me also.
Originally posted by minolta
My new dvd/mpeg4 player does obey field-order...
Interesting, how about anamorphic video decoding? Did you try it on your dvd/mpeg4 player?
Originally posted by Moitah
MP4: I can't say I'm really interested in MP4, not because I don't like it, but I've never had a reason to use it. To answer your question, though, I don't see why it wouldn't be possible (though I haven't seen the specs for it).
SeeMoreDigital is absolutely right. MP4 is missing people like you.
Maybe new Ateme's H.264 codec will change your mind in time. ;)
People will definitely be needing tools for it.
oddball
25th October 2004, 02:12
I'm getting 'Invalid VOL.' when trying to open an XviD movie. Here is a 1.78MB sample of the offending movie which gives the same error.
=http://www.deadman3000.plus.com/test.avi
Oops! It's not XviD it's DiVX 5.02 or so Nandub says. Nevermind then.
Sharktooth
25th October 2004, 02:25
test.avi link points to the wrong URL...
SeeMoreDigital
25th October 2004, 17:29
Hi Moitah,
I noticed the other day that the current version does not put a little "dot" in DAR section, even if DAR has been set using Mpeg4 Modifier: -
http://img37.exs.cx/img37/3402/SMD_Mpeg4_Modifier_DAR_signalling_info.png
Can this be fixed?
Cheers
Moitah
25th October 2004, 18:09
Originally posted by SeeMoreDigital
I noticed the other day that the current version does not put a little "dot" in DAR section, even if DAR has been set using Mpeg4 Modifier
DAR isn't stored in the MPEG 4 bitstream. When you choose one of the DAR options, the PAR is calculated based on the resolution of the video.
EDIT: I want to clarify the way aspect ratio is stored in MPEG 4. It is a 4 bit number, here are the possible values:
1: Square pixels
2: 4:3 PAL pixel shape
3: 4:3 NTSC pixel shape
4: 16:9 PAL pixel shape
5: 16:9 NTSC pixel shape
15: Custom pixel shape
If the value is 15, two 8-bit integers follow, which specify the width and height of a pixel, respectively.
SeeMoreDigital
25th October 2004, 19:07
Originally posted by Moitah
DAR isn't stored in the MPEG 4 bitstream. When you choose one of the DAR options, the PAR is calculated based on the resolution of the video. I see... this explains a lot!
Strange then, that ESS chip-sets b0rk when playing encodes with 4:3, 16:9 and 2.35:1 "DAR" settings... maybe these setting are too accurate!
I notice XviD list their 4:3, 16:9 and 2.35:1 settings as "Picture Aspect Ratio". In hindsight, this terminology might prove less confusing than describing it as being DAR, since it's not DAR in it's truest sense... What do you think?
Now given that DAR information can't be stored in the Mpeg4 bit-stream. Do you know if it can it be stored in the AVI or MP4 container?
And do you know where the DAR information is stored with Mpeg2 streams. Is it in the stream or in the container?
Cheers
oddball
26th October 2004, 01:31
Fixed link
test.avi (http://www.deadman3000.plus.com/test.avi)
minolta
26th October 2004, 01:37
well, my dvp-642 b0rks on custom par settings also. in fact, i doubt the player reads AR flags at all, instead simply skipping ahead 8 bits. of course, a custom par is 24 bits! it becomes confused and dies...poor guy.
MrBunny
26th October 2004, 08:45
Hey oddball, what XviD build are you using on that? No version number (a la XviD0036) comes up for me when I try to check it out. I've seen that same VOL error before, only on things encoded with older builds from what I recall. They might have changed the header format somewhere along the way.
BTW Thanks Moitah for the great app! It's so useful to be able to pull up so much information about an encode so quickly.
SeeMoreDigital
26th October 2004, 11:35
Moitah,
I've just made a suggestion to sysKin. How about renaming the "Display AR" section to... "Pseudo DAR"?
http://img25.exs.cx/img25/552/SMD_Mpeg4_Modifier_GUI.png
Just a thought
Cheers
frank
26th October 2004, 17:19
Deleted!
SeeMoreDigital
26th October 2004, 17:34
Originally posted by frank
MPEG-4 Modifier hangs on MP4 files > 2 GB. I take it you mean "Mpeg4" and not "MP4"?
As you know MP4 is a container and just happens to be the generic container for Mpeg4 ;)
The 2GB limit is a problem with AVI files and is one of the reasons why I prefer to keep my Mpeg4 streams in the MP4 container.
But I'm lucky I can play MP4 contained files in hardware and view them on my TV...
What stand-alone player do you have?
Cheers
Moitah
27th October 2004, 02:18
Originally posted by oddball
I'm getting 'Invalid VOL.' when trying to open an XviD movie.I think this was encoded with a very old version of XviD. At the end of the VOL, padding bits are supposed to be added until a byte boundary is reached. What if the VOL already ends on a byte boundary? Well, it should be padded anyway (with 8 bits).
The VOL in this file ends on a byte boundary, but there is no padding following. If you really want to modify this video, send me a PM and I will make you a compile with the pad checking removed... I don't feel like making an offical release just for this :).
SeeMoreDigital
27th October 2004, 14:32
Hi Moitah,
I think it might be worth mentioning that when you use mp4UI to de-mux Mpeg4 streams to AVI, MPEG4 Modifier v1.2.0 also reports "Invalid VOL".... And that MPEG4 Modifier v1.1.0 reports no such problems!
Cheers
frank
27th October 2004, 21:38
Sorry, wrong thread...
No, it was MP4, encoded with Nero Recode 2. It produces files with MPEG-4 encoded video and muxed AAC. The quality is very good.
Because my new Daytek DVD PX 351 (ESS chipset) only can play AVIs with AC3 or MP3 I wanted to demux the 4 GB MP4 video (and mux with AC3). But MP4UI cannot open such big files. :(
Yes, AVI has the 2 GB limit, but not MP4. I'm wondering why VirtualDub doesn't have that problem.
SeeMoreDigital
27th October 2004, 21:57
Originally posted by frank
No, it was MP4, encoded with Nero Recode 2.
Because my Player (ESS chipset) can only play DivX AVI I wantred to demux the 4 GB MP4 stream (and mux with AC3). But MPEg-4 Modifier cannot open such long files. :( So, like I was trying to hint at, your encode is no longer Mpeg4 in MP4, it's now Mpeg4 in AVI...
I'm curious, what de-muxing tool did you use... and why do you need to use MPEG Modifier?
And... are you sure your stand-alone can play 4GB AVI's?
Cheers
frank
27th October 2004, 22:24
I've corrected my posting above. Sorry, I have mismatched the tools.
I don't know another demuxer than MP4UI for MP4 files. If the size is < 2 GB it works at all.
After demuxing the video I can mux with the original AC3 audio stream and get an AVI (video + audio in sync). Then I split the file into 2 GB parts with VirtualDubMod.
The f***d player cannot play AVI > 2 GB and doesn't like MP4.
It plays DivX and MPEG-4 streams from AVIs only.
Mouse
4th November 2004, 14:14
I'm trying to use the latest mpeg4modifier 1.2.0 but get this error
http://img114.exs.cx/img114/7444/120.jpg
Then i use the older version 1.1.0 and it seeme to work OK
http://img114.exs.cx/img114/2184/112.jpg
I have .NET 1.1 installed, latest xvid - do i miss something?
Moitah
4th November 2004, 21:28
@Mouse: Just use v1.1.0 for now. I should probably release a v1.2.1 to get rid of some of the error checking, or at least make them just warnings. Also, I was sent a patch that adds a progress bar during load/save, and allows loading a file via command line, which I haven't looked at yet... maybe this could be in v1.2.1 as well.
SeeMoreDigital
4th November 2004, 21:34
Yes please :D
Cheers
Mouse
5th November 2004, 02:19
Moitah,
Great news!
Reason i must remove "packed bistream" is that i have a Pioneer dv-575 with the mediatech chipset. Player plays the files, sound is OK, but video is somewhat "choppy", almost like a lag of frames.
Your software is a saviour for us ;)
unskinnyboy
18th November 2004, 03:03
Nice tool. I fixed the bad AR of an AVI using this, but the resultant fixed AR is only recognized by VLC Media Player. WMP and BSPlayer still plays back using the old bad AR.
Is it just me or is this how it is? If so, are there any other players which can recognize and playback corrected AR properly? :)
TIA
SeeMoreDigital
18th November 2004, 11:03
Originally posted by unskinnyboy
I fixed the bad AR of an AVI using this, but the resultant fixed AR is only recognized by VLC Media Player. WMP and BSPlayer still plays back using the old bad AR.
Is it just me or is this how it is? If so, are there any other players which can recognise and playback corrected AR properly? :)
VLC Player has its own "in-built" Mpeg4 decoder filter which is capable of PAR signalling detection.
If you want media players such as WMP9/10, BSplayer, MPC etc to recognise encodes with PAR signalling, you'll need to install an Mpeg4 direct-show decoder (DSdec) filter that can detect PAR signalling!
The new (beta 1.1.x) versions of XviD now come with such a DSdec filter. Or if you're happy with the version of XviD you already have and don't wish to install the beta, you could just swap the decoder filter with this version (http://www.public.iastate.edu/~chadspen/xvid.ax).
Sadly, there are very few Mpeg4 DSdec filters that can detect PAR/DAR signalling.
Cheers
unskinnyboy
19th November 2004, 03:09
Originally posted by SeeMoreDigital
VLC Player has its own "in-built" Mpeg4 decoder filter which is capable of PAR signalling detection.
If you want media players such as WMP9/10, BSplayer, MPC etc to recognise encodes with PAR signalling, you'll need to install an Mpeg4 direct-show decoder (DSdec) filter that can detect PAR signalling!
The new (beta 1.1.x) versions of XviD now come with such a DSdec filter. Or if you're happy with the version of XviD you already have and don't wish to install the beta, you could just swap the decoder filter with this version (http://www.public.iastate.edu/~chadspen/xvid.ax).
Sadly, there are very few Mpeg4 DSdec filters that can detect PAR/DAR signalling.
Cheers
Thanks for the reply. I uninstalled XviD-1.0.2-29082004 and installed XviD-1.1.-127-06112004 _Alpha Release_ (the latest I could find from Koepi's site). So when that is installed xvid.ax in C:\WINDOWS\system32 should have been replaced by the new one, right? It means when I playback the modified file now in BSPlayer, the new DSdec filter should kick in, detect the modified PAR and display the avi with the corrected AR, right? It didn't. Plays same as before.:(
SeeMoreDigital
19th November 2004, 10:32
It sounds like you need to visit XviD's "Configure Decoder" settings and press the "Reset" button.
Because the decoder filter is still in beta, you should be advised of one problem with it... It can't detect AR signalling of B-VOP encodes 'without bit-stream'.
To clarify, it works fine with: encodes without B-VOP. And encodes with B-VOP and with packed bit-stream).
Personally speaking, while the decoder is in beta, for everyday use I still prefer use the DSdec I provided a link to (ie: Minolta's version).
Cheers
unskinnyboy
19th November 2004, 23:22
Originally posted by SeeMoreDigital
It sounds like you need to visit XviD's "Configure Decoder" settings and press the "Reset" button.
Because the decoder filter is still in beta, you should be advised of one problem with it... It can't detect AR signalling of B-VOP encodes 'without bit-stream'.
To clarify, it works fine with: encodes without B-VOP. And encodes with B-VOP and with packed bit-stream).
Personally speaking, while the decoder is in beta, for everyday use I still prefer use the DSdec I provided a link to (ie: Minolta's version).
Cheers
I pressed the "Reset" button in the "Configure Decoder" settings. I replaced the xvid.ax with Minolta's version. And changed the AR of a 16:9 avi with B-VOP=1 and packed bitstream to 4:3. Same issue. Works with VLC, doesn't work with BSPlayer.:(
My sample specimen:
Packed bitstream: Yes
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Square pixels
Quant type: MPEG
I-VOPs: 6 (0.55%)
P-VOPs: 550 (50.14%)
B-VOPs: 541 (49.32%)
S-VOPs: 0 (0.00%)
N-VOPs: 0 (0.00%)
Max consecutive B-VOPs: 1
After setting PAR to 4:3 NTSC:
Packed bitstream: Yes
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Custom pixel shape (17:30 = 0.566666666666667)
Quant type: MPEG
I-VOPs: 6 (0.55%)
P-VOPs: 550 (50.14%)
B-VOPs: 541 (49.32%)
S-VOPs: 0 (0.00%)
N-VOPs: 0 (0.00%)
Max consecutive B-VOPs: 1
SeeMoreDigital
19th November 2004, 23:51
Very strange...
Can you try the XviD Mpeg4 .AVI encode (http://homepage.ntlworld.com/seemoredigital/PAL_Anamorphic_Tests.zip) with XviD's DSdec?
It works fine for me!
You might also want to check your video playback output settings: -
http://img51.exs.cx/img51/8505/MPC_Output_settings.png
Cheers
EDIT: Video output settings added
thop
28th November 2004, 02:51
Could someone take the source code and make a linux command line version from it? Unfortunately there is no such tool that unpacks AVIs available for linux :(
Infirmus
5th December 2004, 23:47
I reckon what would be useful would be the option to save changes to the avi file, and not rewrite the whole avi again. It would save heaps of time.
There should be a "Save" and a "Save as" button.
Moitah
18th December 2004, 19:05
I removed the "No dummy N-VOP found for packed frame" error (it silently discards the packed frame now), added the ability to a load file via command line, and added a progress bar during load/save. Also, there was a bug with "rec " lists (the AVI index wasn't being updated for the list chunks) which has been fixed.
I will try to release a new version sometime before Christmas :).
EDIT: I removed the strict padding check at the end of the VOL, this should fix some of the "Invalid VOL" errors.
EDIT2: The "AVI Source" text box now supports drag-drop so you can drag a .avi file into the text box to load it.
SeeMoreDigital
18th December 2004, 19:22
Sounds good....
Does this mean video streams de-muxed using AVI-mux (v1.16.11) will work again?
Cheers
Moitah
18th December 2004, 19:26
Are you referring to the "AVI index is invalid" error? I just discovered that now :) but yes it was fixed when I fixed the "rec " list code.
SeeMoreDigital
18th December 2004, 20:11
Originally posted by Moitah
Are you referring to the "AVI index is invalid" error? I just discovered that now :) but yes it was fixed when I fixed the "rec " list code. Yep... that's the one!
Thanks mate :D
Moitah
19th December 2004, 19:19
Originally posted by thop
Could someone take the source code and make a linux command line version from it? Unfortunately there is no such tool that unpacks AVIs available for linux :(
It should be pretty easy, if someone wants to try with Mono (http://www.mono-project.com/). Something like this will work (well, it doesn't change the user data, but that wouldn't be too hard either) assuming the rest of the code compiles:
static void Main(string[] args) {
UnpackAVI(args[0], args[1]);
}
static void UnpackAVI(string source_path, string dest_path) {
MPEG4FrameModifier mp4_mod = new MPEG4FrameModifier();
AVIModifier avi_mod = new AVIModifier(source_path, mp4_mod);
mp4_mod.Unpack = true;
avi_mod.Write(dest_path);
}
If someone does this, please wait before releasing it so it can be based on MPEG4 Modifier v1.3.0 (hopefully will be out within a few days).
EDIT: I just compiled an ran the above code with the Windows version of Mono, it worked fine. I'm not too familiar with Mono, but I assume a binary compiled in Windows with 'mcs' would run in Linux?
EDIT2: I had someone running Linux test it, no problems :D.
Moitah
20th December 2004, 14:30
Version 1.3.0 released, see first post for details.
SeeMoreDigital
20th December 2004, 14:43
Many thanks....
Cheers
Sharktooth
20th December 2004, 18:04
I was definatly waiting for it :)
Thanks a lot
PlazzTT
24th December 2004, 18:58
Nice, thanks!
Auto user data editing is a good addition, but what exactly was the correct way to edit the user data when I was using 1.2.0?
For example, when I wanted make an XviD file unpacked, I ticked "Unpack" and I removed the user data with "DivX" in it. Was this correct?
Moitah
24th December 2004, 19:20
Originally posted by PlazzTT
Nice, thanks!
Auto user data editing is a good addition, but what exactly was the correct way to edit the user data when I was using 1.2.0?
For example, when I wanted make an XviD file unpacked, I ticked "Unpack" and I removed the user data with "DivX" in it. Was this correct?
Yeah, that's correct.
With the DivX userdata string you can:
1) change the 'p' at the end to 'n',
2) remove the 'p' at the end, or
3) in the case of XviD, you may completely remove the fake DivX userdata string
MPEG4 Modifier v1.3.0 will do 2) or 3) depending on whether or not it finds a XviD userdata string.
PlazzTT
24th December 2004, 22:28
Thanks.
Support for batch unpacking would be an excellent addition. I recently had to unpack 30 or so XviD files, so that they would play on my standalone player. I was a long time doing it because I had to load each file, and click unpack and save for each one.
CCoug83
25th December 2004, 23:23
I tried this program with no success. I have two source files I have tried both encoded in Divx 5.2.1 with AutoGK. One file is 720x304 and 1.79GB and the other is 512x288 and 700MB. When I put them in the program I've tried selecting 16:9 NTSC PAR and 16:9 DAR and converting them. They come out the same aspect ratio as the original and play the same on my DVD player. Am I doing something wrong?
Moitah
25th December 2004, 23:36
Originally posted by CCoug83
I tried this program with no success. I have two source files I have tried both encoded in Divx 5.2.1 with AutoGK. One file is 720x304 and 1.79GB and the other is 512x288 and 700MB. When I put them in the program I've tried selecting 16:9 NTSC PAR and 16:9 DAR and converting them. They come out the same aspect ratio as the original and play the same on my DVD player. Am I doing something wrong? Your DVD player probably doesn't pay attention to the aspect ratio flag. Most software doesn't either.
SeeMoreDigital
25th December 2004, 23:47
Moitah is indeed correct.
Very few Mpeg4/DVD stand-alone players recognise Mpeg4 PAR/DAR signalling in AVI streams.
In fact your particular player does not like Mpeg4 "DAR" calculated streams at all (such as: 16:15, 8:9, 64:45, 32:27). They completely b0rk the player!
Cheers
CCoug83
25th December 2004, 23:53
Then what is this program used for? if it tags it with a DAR that nothing will recognize...? I'm confused. Is there anyway I can encode them differently if I can't do this to be able to fit my widescreen television correctly with this player?
Moitah
26th December 2004, 00:04
Originally posted by CCoug83
Then what is this program used for? if it tags it with a DAR that nothing will recognize...? I'm confused. Is there anyway I can encode them differently if I can't do this to be able to fit my widescreen television correctly with this player? This program was written because some decoders DO respect the aspect ratio flag. Take a look at this thread (http://forum.doom9.org/showthread.php?s=&threadid=76828) to see the birth of MPEG4 Modifier :). I've updated the first post and my site with a note about aspect ratio modification.
CCoug83
26th December 2004, 00:10
Any players that you know of that would respect the flags? It might be worth it for me to buy one if it'll allow me to keep my widescreen TV.
SeeMoreDigital
26th December 2004, 00:18
Have a look at some of the newer MediaTek chip-set based players!
I noticed that the image pixel frame sizes you mentioned represent 2.35:1 and 1.77(r):1, so adding PAR signalling wont help you anyway!
Sadly, from what I remember I think there is a problem with the Philips ESS chip-set based players displaying square pixelled images correctly.
Cheers
CCoug83
26th December 2004, 00:23
Instead of Adding Par signalling, is there any program that will physically change the aspect ratio of the movie then? Or would I have to go back and re-encode them? If I do go back and re-encode them with a 1 to 1 pixel ratio, would that play correctly on the player?
SeeMoreDigital
26th December 2004, 00:36
Hi CCoug83,
You only need to add PAR or DAR signalling to "anamorphic" ie: non square pixelled encodes!
Cheers
CCoug83
26th December 2004, 00:41
I see now. So then why will normal DVD's fill up all of the 16:9 TV while Divx have black lines on the top and bottom and are stretched to fit the width but not the height? I'm so confused as to why a 16x9 wouldn't just display it correctly if it is the correct aspect ratio.
SeeMoreDigital
26th December 2004, 01:04
You need to read-up about movie aspect ratios and anamorphic images ;)
CCoug83
26th December 2004, 01:14
I've read everything about it listed on the website in your signature. Whether I understand it all is a different story :D. Through it all though I haven't figured out how (if it's possible) to get this TV to display them correctly.
Is it because my DVD player believes my Divx files ARE Anamorphic and therefore stretches them left and right... but since they are not, it stretches them width wise as it would with an animorphic input, but divx files aren't squashed like anamorphic so it has black lines on the top and bottom when played.
Vladdy
26th December 2004, 02:42
Originally posted by Moitah
This program was written because some decoders DO respect the aspect ratio flag. Take a look at this thread (http://forum.doom9.org/showthread.php?s=&threadid=76828) to see the birth of MPEG4 Modifier :). I've updated the first post and my site with a note about aspect ratio modification.
I have a Zensonic divx/xvid player and all my encodes are in anamorphic and thank my lucky stars that this app was created otherwise i'd be in deep s$*t.. its based on the mediatek FE chipset and takes notice of the aspect ratio thats embedded into the avi. Its just a shame that the zensonic player downsamples to roughly a 640 x xxx whatever res, instead of an anamorphic 1024x432 (roughly).. it has VGA out but only does a 640 image ..
johnsonlam
26th December 2004, 21:42
Thank you Moitah.
It's really a useful software.
Moitah
29th December 2004, 02:10
I received a PM asking how accurate packed bitstream removal was compared to encoding without packed bitstream. I figured some others may find my response useful, so here it is:
It is perfectly accurate. In fact, one of the tests I do before each release is to take an AVI encoded with packed bitstream, unpack it, and do a binary comparison with the same AVI encoded without packed bitstream. They should be identical (minus some padding at the end if it was encoded with VirtualDub).
In MPEG4, frames (called VOPs) begin with a 4-byte start code: 0x000001B6. This is how MPEG4 Modifier determines where a VOP starts. If it detects 2 VOP start codes in the same AVI frame, it shifts the 2nd VOP and all following VOPs forward, until the placeholder N-VOP is found. Here is an example, each AVI frame is separated by spaces, each VOP is surrounded with braces ([N] is the placeholder N-VOP):
[1][2] [3] [4] [N] becomes:
[1] [2] [3] [4]
Scanning for a sequence of bytes may not sound like a reliable way to determine where a VOP starts, however, the MPEG4 standard guarantees there will be no false start codes.
I will add some more information now that I am thinking about it. N-VOPs are actually supposed to tell the decoder to show a duplicate of the last decoded VOP. For example, if the encoder determines a frame hasn't changed, it can output an N-VOP. Packed bitstream is a "hack" because it (ab)uses N-VOPs as placeholders, I call these "Dummy N-VOPs".
Can a video encoded with packed bitstream have real N-VOPs? And if it did, how would you know which ones are real and which ones are dummy? As far as I'm aware, no encoder currently does this. But I believe it is possible, and I added code in v1.2.0 to be able to handle it. If the timestamp of an N-VOP matches the timestamp of the last packed frame, it is a dummy N-VOP.
Something I noticed while working on avs2avi: At the end of an AVI, it is possible that the encoder outputs a packed frame, but the end of the video is reached before a corresponding N-VOP can be output. If you think about it, this is quite strange because there will actually be 1 more real VOP than there were frames in the source video. This extra VOP is made possible because of the way encoders handle delay introduced by B-VOPs. Let's use XviD and avs2avi as an example. During encoding, XviD may output a 1 byte (0x7F) frame which tells avs2avi that there is no frame for output due to delay from B-VOPs. avs2avi keeps count of how many of these "delay frames" were seen, and at the end of the encoding it sends XviD a duplicate of the last frame this many times to flush out the last VOPs. So, the extra VOP which may be present at the end of an AVI encoded with packed bitstream is actually one of the frames used to flush during encoding. [I left out a few details to simplify and because I don't feel like typing more right now :)]
Therefore, when unpacking an AVI, it is possible that you will lose a VOP at the end if there is a N-VOP missing. But, I think the result is the same as if packed bitstream hadn't been used in the first place.
Also, a similar situation can happen if the video is chopped after encoding, and a N-VOP is removed without removing the corresponding packed frame. But again, I think the frame lost when unpacking isn't worth worrying about, because the result would be the same if you were working with AVIs which hadn't been encoded with packed bitstream.
EDIT: The above information refers only to MPEG4 ASP in AVI, and not necessarily any other MPEG4 standards or containers.
split710
1st January 2005, 15:06
Hi Moitah
I tried to change aspect ratio to a Xvid 1.0.3 movie
Usings MPEG4Modifier 1.3.0
I opened that movie > AVI SOURCE
orignal movie is 2:35:1 with 528x224 AR
I sected CUSTOM DISPLAY AR to
528x208
SAVE
after that the result was exactly the same of before: 528x224
I tried again changing with CUSTOM PIXEL AR
result was the same again: 528x224
Do i made something wrong?????
ciao
PlazzTT
1st January 2005, 18:11
Originally posted by split710
Do i made something wrong?????
ciao
I'm sure somebody else will be able to give you a better answer, but AFAIK, not all players and decoders support the aspect ratio signalling.
split710
1st January 2005, 22:24
Thank's PlazzTT
Yes I heard about it, unfortunately I can't be able to change AR
so I can't double check it
ciao from Italy
SeeMoreDigital
2nd January 2005, 00:21
Originally posted by split710
I tried again changing with CUSTOM PIXEL AR
result was the same again: 528x224
Do i made something wrong????? Sounds like it!
A 528x224 square pixel encode already has a (near) perfect 2.35:1 aspect ratio. So there's nothing to gain by adding PAR/DAR signalling to it!
That said, in order to correctly view Mpeg4 encodes with PAR/DAR signalling, you need to either have the correct type of stand-alone player, or the correct type of software media player installed - complete with the correct type of direct-show decoder filter!
Cheers
Moitah
2nd January 2005, 01:13
I made a command line version (http://forum.doom9.org/showthread.php?s=&threadid=87516) just for packed bitstream removal. I did it for people running Linux/Mono, but of course it runs fine in Windows as well (you don't need Mono, just the .NET framework, run it like you would any other command line app). Also, it changes the userdata for you automatically. Enjoy :)
split710
2nd January 2005, 01:21
thank's Seemoredigital
I know that AR is aparently right 2:35:1, I thought the same before encoding.
Problem is that original source is SVCD PAL 16:9 grabbed in a 4:3 not cropped, could be possible that right 16:9 AR is not 2:35:1
I can assure you that right AR is 528x208 with crop. I encoded in Xvid 528x224 and I'm sure is wrong. Now I'm reencoding but I would like to taste this beautiful program just to know his potentiality.
Well in any case (right AR or not) I don't understund where I do something wrong.
thank's and Ciao
Moitah
2nd January 2005, 06:43
Originally posted by PlazzTT
Support for batch unpacking would be an excellent addition. I recently had to unpack 30 or so XviD files, so that they would play on my standalone player. I was a long time doing it because I had to load each file, and click unpack and save for each one.
You can try the command line unpacker, along with this batch file:
@ECHO OFF
md unpack
FOR %%I IN (*.avi) DO "C:\Program Files\UnpackCL\UnpackCL.exe" "%%~fI" "%%~dpIunpack\%%~nxI"
Make sure to change the path for UnpackCL.exe if that's not where you have it. Place the batch file in a folder with AVIs, and start it. It will make a new folder called "unpack" and unpack every AVI into the new folder (only the ones that have packed bitstream, it will skip the ones without it).
gst
3rd January 2005, 02:53
@ECHO OFF
md unpack
FOR %%I IN (*.avi) DO "C:\Program Files\UnpackCL\UnpackCL.exe" "%%~fI" "%%~dpIunpack\%%~nxI"
Works fine on windows xp. Thanks for making this command line, save me a lot of time :thanks:
SeeMoreDigital
3rd January 2005, 11:21
To split710...
As a matter of interest, how are you playing and viewing your encodes?
Cheers
Moitah
7th January 2005, 04:39
1.3.1 released, don't get too excited, it's just small changes :p.
Mtz
10th January 2005, 19:33
I'm posting just to reproduce some errors from another users which can't post on doom9.
User1:
"After having had some trouble with the 1.3 version, now I downloaded
the 1.3.1 version of MPEG4 Modifier tool.
The program dies on lots of packed bitstream avi`s when you try
to save the modified avi.
1.3 died on me using these settings
Unpack: ã
User data auto : ã
error : object reference not set to an instance of an object.
now 1.3.1 works, but few seconds after saving video it stops with the following error message :
non-negative number required.
parameter name:count "
User2:
"For me the 2nd CD of "The Forgotten". The 1st CD worked fine. And I tried with 1.3.1."
Original thread: http://www.my-yamada.co.uk/modules.php?name=Forums&file=viewtopic&t=1619&sid=1ea26c4a7287bf0c594961e368cb4793
enjoy,
Mtz
Moitah
10th January 2005, 22:17
@Mtz: Thanks for the bug report. On some other forums, I saw people posting about the "Object reference not set to an instance of an object error", but I could never get a sample AVI to try to reproduce it. After looking through the code, I had an idea about what might be causing it (AVIs with no index), and put a fix in 1.3.1. So, it seems that is working, but I'm not sure what this new error is.
Can you ask someone having this problem to double-click somewhere inside MPEG4 Modifier after this error occurs (just on an empty area, for example to the left of the Save/Video Info/About buttons). This will bring up a stack trace for the last error (stack trace feature was added in 1.3.1). That information would be useful to me (you can copy from a message box by using Ctrl+C). Or if someone can provide me with an AVI where this happens...
EDIT: Nevermind, I just registered on that forum, I will ask.
AsTimeGoesBy
11th January 2005, 18:51
Mpeg4 Modifier seems to be a very interesting programm!
Would is be possible maybe to complete the frames stat overview with an entry for consecutive b-frames? - Something like:
34.5% B-frames, whereof:
--------
17.2% in bundles of 3 consecutive B-frames,
37.5% in pairs (2 consecutive B-frames),
45.3% as single standing B-frame
yaz
12th January 2005, 11:11
Originally posted by AsTimeGoesBy
Would is be possible maybe to complete the frames stat overview with an entry for consecutive b-frames? - Something like:
34.5% B-frames, whereof:
--------
17.2% in bundles of 3 consecutive B-frames,
37.5% in pairs (2 consecutive B-frames),
45.3% as single standing B-frame sure, that'd be very useful ... and, maybe, adding some quantizer info would be also possible. just a kinda distribution info for the first (sg like generated by drfanalyzer).
many thx for the prog, anyway.
y
Moitah
12th January 2005, 11:29
It already shows information about consecutive B-VOPs. Or did you mean to calculate it in a different way?
AsTimeGoesBy
12th January 2005, 14:01
Does Mpeg4 Modifier really indicate anwhere if B-frames are consecutive on each other?
Sorry but i can't find it... - Or are consecitive B-Frames indicated by MPEG4 Modifier as "N-VOP"?
Moitah
12th January 2005, 19:04
Packed bitstream: Yes
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Square pixels
Quant type: H.263
I-VOPs: 3 (0.42%)
P-VOPs: 234 (32.87%)
B-VOPs: 475 (66.71%)
S-VOPs: 0 (0.00%)
N-VOPs: 0 (0.00%)
Max consecutive B-VOPs: 3
1 consec: 1.72%
2 consec: 92.70%
3 consec: 5.58%
AsTimeGoesBy
14th January 2005, 11:33
And suddenly the blinds were able to see (...scrollbars). ;)
Sorry for inconvenience. Thanks for your work on that great tool!
b0b0b0b
11th February 2005, 10:18
Hey Moitah thanks for releasing the source for this. I translated it to java and just got my version working tonight. Was a good way to learn some c#. As for avi / mpeg4 structure, I have to admit it's still quite opaque to me. Is there a document online that you'd recommend for an introduction or reference?
Thanks!
PlazzTT
11th February 2005, 19:34
Thanks again for this great tool Moitah! I use it every week! It's invaluable! ;)
Moitah
11th February 2005, 21:54
Originally posted by b0b0b0b
Hey Moitah thanks for releasing the source for this. I translated it to java and just got my version working tonight. Was a good way to learn some c#. As for avi / mpeg4 structure, I have to admit it's still quite opaque to me. Is there a document online that you'd recommend for an introduction or reference?
Thanks!
Do you plan on releasing your Java version? As for documentation, there's some on MSDN (http://msdn.microsoft.com/library/en-us/directshow/htm/avirifffilereference.asp) (AVI), alexnoe wrote documentation (http://www-user.tu-chemnitz.de/~noe/Video-Zeug/avi_docu/avi.pdf) (AVI), and take a look at XviD or libavcodec code or ISO/IEC 14496-2 for MPEG4. If you have any specific questions you can ask me, although I'm no expert on AVI/MPEG4.
Moitah
11th February 2005, 21:55
Originally posted by PlazzTT
Thanks again for this great tool Moitah! I use it every week! It's invaluable! ;)
You're welcome :).
b0b0b0b
12th February 2005, 09:40
Thanks for the pointers.
My tentative plan is to first verify mine behaves the same as yours as far as parsing and writing different mpeg4 streams. I'll need to cook up some different test cases some time.
Then I might post my source & how I changed yours in the forum as an attachment.
After that:
Fix my first cut at duplicating c#'s I/O and data types. It underperforms by about 10%, which I think can be improved on.
crazyed
13th February 2005, 14:35
I thankyou Moitah for a great product (and my standalone player thanks you also)
I think back now to the life I could have had (instead of converting avis) if I had known about this program :)
SeeMoreDigital
19th February 2005, 20:14
Hi Moitah,
I've just noticed (again) that when you feed MPEG4 Modifier v1.3.1 with an .AVI that has been de-muxed using mp4UI, they are reported as containing "Invalid VOL"....
MPEG4 Modifier v1.1.0 reported no such problems!
Cheers
Moitah
20th February 2005, 00:45
v1.1.0 stops parsing the VOL when it gets all the information it needs, and ignores the rest. The newer versions parse the whole thing, and then check how many bits are left (padding). There should be 1 to 8 bits of padding (though I allow 0 as well, that was a workaround added in 1.3.0), anything other and you get this error message.
This means the VOL in your file is too long, too short (if I have a negative number of bits left...), or MPEG4 Modifier parsed it wrong for some reason.
Can you provide a clip that I can use to reproduce this problem?
SeeMoreDigital
20th February 2005, 10:29
Originally posted by Moitah
Can you provide a clip that I can use to reproduce this problem? Sure thing,
Here's (http://82.2.167.237/Uploaded_Files/Doom9_Forum_files/mp4UI de-mux.7z) an example for you.
Cheers
Moitah
23rd February 2005, 03:45
@SMD: There are 16 zero bits between the end of the VOL and the next startcode. I'm not sure if this is valid according to the MPEG4 spec (it's hard for me to tell). I'll see about adding a workaround, but you may want to notify the developer of mp4UI (though it could be problem with the software you used to mux the MP4?). Also, I noticed mp4UI only writes the VOL/userdata and other extra info with the first AVI frame, whereas they are usually written with every keyframe to allow editing (cutting).
bond
23rd February 2005, 10:01
Originally posted by Moitah
Also, I noticed mp4UI only writes the VOL/userdata and other extra info with the first AVI frame, whereas they are usually written with every keyframe to allow editing (cutting)the vol/userdata has to be stored seperately from the video data in .mp4, therefore its not allowed in mp4 to simply punch the vol together with the keyframes as done in avi, mp4ui should do this correctly (as mp4creator does it)
Moitah
23rd February 2005, 14:28
Originally posted by bond
the vol/userdata has to be stored seperately from the video data in .mp4, therefore its not allowed in mp4 to simply punch the vol together with the keyframes as done in avi, mp4ui should do this correctly (as mp4creator does it)
I am talking about mp4UI's AVI export.
bond
23rd February 2005, 18:22
ic, well maybe the following is interesting here, dunno:
http://sourceforge.net/tracker/index.php?func=detail&aid=930662&group_id=99262&atid=623648
"the ES is prepended to the 1st frame"
Moitah
8th March 2005, 19:47
1.3.2 released, first post updated.
EDIT: No FourCC editing in this version, sorry SeeMoreDigital. Maybe next version...
SeeMoreDigital
8th March 2005, 20:12
Originally posted by Moitah
No FourCC editing in this version, sorry SeeMoreDigital. Maybe next version... Bummer!
Well how about adding support for changing (or adding) the Mpeg4 .AVI's: title, author, comment, etc information please?
Oh and don't forget .MP4 container support too!
Cheers
Sharktooth
8th March 2005, 20:18
LOL! Give him a break :)
SeeMoreDigital
8th March 2005, 20:41
Originally posted by Sharktooth
LOL! Give him a break :) I know... that will teach him not to include 4CC changing support :D
By-the-way Moitah, is the new version exactly the same as the "preview" version you very kindly let me try 25 Feb... Or have you tweaked it further?
Cheers
Moitah
8th March 2005, 21:05
@SeeMoreDigital: It's a little different. In the release version, I fixed the AVI index code to work on Mac OS X, but you won't notice that of course :). And IIRC, the preview version actually will ignore some extra bytes after the VOL padding, so files demuxed with mp4UI will work in it (I undid the change and forgot about it, I may add it back in but I think mp4UI should be fixed still). I didn't touch the warp point code.
ZdM_Asike
10th March 2005, 19:51
When i use your program i get this messages:
''Too man VOPs in a frame.''
or:
''Non-negative number required.
Parameter name: count''
Any solutions?
Thanks,
Ivica.
Moitah
11th March 2005, 01:20
Originally posted by ZdM_Asike
When i use your program i get this messages:
''Too man VOPs in a frame.''
or:
''Non-negative number required.
Parameter name: count''
Any solutions?
Thanks,
Ivica.
"Too many VOPs in a frame" -- you will get this if there are more than 2 VOPs in a AVI frame. Usually there is only one, or 2 for each packed frame when packed bitstream was used. I have never heard someone with this error before, did you encode this video yourself?
"Non-negative number required" -- which version of MPEG4 Modifier were you running when you saw this? This would happen in older versions if the AVI is corrupt, but you should get a different error message in 1.3.2.
Elias
13th March 2005, 08:56
Moitah: your tool is great. I'm just curious if it will ever support anything beyond *.avi 1.0 as input/output, like *.avi 2.0 or *.mp4?
Moitah
13th March 2005, 20:59
Originally posted by Elias
Moitah: your tool is great. I'm just curious if it will ever support anything beyond *.avi 1.0 as input/output, like *.avi 2.0 or *.mp4?
Thanks. I don't plan on it, due to lack of motivation :p. But OpenDML (AVI 2.0) would come first, then maybe Matroska. I've never used MP4.
SeeMoreDigital
13th March 2005, 21:05
Originally posted by Moitah
I've never used MP4. Shock... Horror :eek:
Elias
13th March 2005, 21:11
Originally posted by SeeMoreDigital
Shock... Horror :eek: hahaha :D
Arvidor
23rd March 2005, 05:07
I get the following message when I try to open one avi file. But it already worked fine for another...
Ideas?
http://people.freenet.de/arvidor/error.jpg
SteveHarding
23rd March 2005, 12:05
Just added an extra window for a batch unpack (ugly, as it's the first time I've used C# - please don't flame my code style guys!)
You can either just use the 'Batch Unpack' button from the GUI, or you can use command line.
MPEG4Modifier batch <folder>
MPEG4Modifier batch <file>
Will both open the program in batch unpack mode, with files already in the list, which I was thinking may be very useful for a right-click menu option - so you can just right click your folder and say 'Unpack MPEG4' :)
This post is the source - binaries follow. If our glorious leader wishes to borrow any of the code for the real version, they are of course welcome.
SteveHarding
23rd March 2005, 12:07
Hmm...did you know that previewing your post erases the contents of the 'attach file' field?
SteveHarding
23rd March 2005, 12:17
Hmm...that don't seem to be workin'.
In that case, grab 'em from this site if you are interested.
http://www.push-a-button.com.au/products/MPEG4Modifier%20with%20Batch%20Unpack%20-%20Source.zip
http://www.push-a-button.com.au/products/MPEG4Modifier%20with%20Batch%20Unpack%20-%20Binaries.zip
Sorry about the mess I made in the forum!
Sharktooth
23rd March 2005, 13:47
Attachments have to be approved by the mods. so they wont show until they get approved.
Itchy
26th March 2005, 21:52
ive just been trying to write a small program that uses unpackcl.exe to batch unpack files but was coming across some problems, this however solved them all :)
luckily i have visual studio installed so downloaded and compiled,
here is the compiled version in case anyone does not have the ability to do so, was compiled in windows xp if that makes a difference(im a noob here btw)
hope no-one minds that i made this available
http://www.bencole.co.uk/downloads/MPEG4Modifier_batch.rar
thank you to everyone involved this has made my prismiq viewing so much better and more versatile
SteveHarding
27th March 2005, 00:38
Didn't my binaries work? Darn - this is what happens when you upload stuff just before you go out. I really should test these things...
Problems with people building/distributing it? Hey, it's open source, and it's good to know someone appreciates a contribution :)
Itchy
27th March 2005, 01:51
ok think i was just foolish lol didnt even see that
but now people have two choices lol :)
Moitah
27th March 2005, 06:07
Originally posted by Arvidor
I get the following message when I try to open one avi file. But it already worked fine for another...
Ideas?
Maybe the file is corrupt, or made with some older encoder which produced an invalid bitstream. Try using an older version of MPEG4 Modifier, since this error message was added in 1.3.2 for the GMC warp point parsing code.
MSlv
27th March 2005, 12:03
Originally posted by Moitah
NOTE: Aspect ratio modification works by changing a flag in the VOL headers, which is ignored by most decoders.
Videolan doesn't ignore the AR flag.
Why do decoders ignore it? I don't get it. Is it that hard do make it happen?
Elias
27th March 2005, 12:09
Originally posted by MSlv
Videolan doesn't ignore the AR flag.
Why do decoders ignore it? I don't get it. Is it that hard do make it happen? Indeed VLC doesn't ignore it. I don't get it though, because ffdshow according to bond can through enabling overlay mixer decode the picture anamorphic, but I didn't get it to work.
tedgo
27th March 2005, 13:01
Originally posted by Elias
Indeed VLC doesn't ignore it. I don't get it though, because ffdshow according to bond can through enabling overlay mixer decode the picture anamorphic, but I didn't get it to work.
Have you enabled "Allow output format changes during playback" and "Connect to compatible filters only"?
With this settings ffdshow works fine with the AR-Flag.
SeeMoreDigital
27th March 2005, 13:44
Originally posted by MSlv
Videolan doesn't ignore the AR flag.
Why do decoders ignore it? I don't get it. Is it that hard do make it happen? Unfortunately "anamorphic signalling detection" is an implementation that has only recently started to be incorporated into Mpeg4 direct-show decoder (DSdec) filters.
Indeed, the DSdec filter that comes with DivX Fusion Codec Beta b1461, appears to support automatic AR signalling detection. But only if you select the following options: -
http://img17.exs.cx/img17/5181/divxfilter6uv.gif
And so does the DSdec filter that comes with (some of) XviD's 1.1.0 beta builds. However, encodes with B-VOP but without packed bit-stream are not currently supported: -
http://img70.exs.cx/img70/2311/SMD_Proposed_XviD_DSdec.gif
Nero on the other-hand has (nearly) always had a fully working DSdec filter.
Cheers
Elias
27th March 2005, 13:48
Originally posted by SeeMoreDigital
However, encodes without packed bit-stream are not currently supportedWell no wonder then, I never use Packed Bit-Streams with my XviD encodes. Could this be the reason for why it isn't working with ffdshow? I use libavcodec for decoding all MPEG-4 video streams, and I've checked "Allow output format changes during playback" and "Connect to compatible filters only."
tedgo
27th March 2005, 13:58
Do you use ZoomPlayer for Playback?
Then go to Player Options-->Filter Control-->Standard Media Playback and set "Video Renderer" to "System Default".
Or use MPC.;)
(But you have to set it to "System Default" too, to take effect)
Elias
27th March 2005, 14:01
Originally posted by tedgo
Do you use ZoomPlayer for Playback?
Then go to Player Options-->Filter Control-->Standard Media Playback and set "Video Renderer" to "System Default".
Or use MPC.;)
(But you have to set it to "System Default" too, to take effect) I use MPC, and it's on System Default, ain't working man :)
MSlv
27th March 2005, 14:02
It works with windows media player, mpc. But I can't get it to work with BSPlayer, latest build. I don't know why. I changed the video rendering from overlay mode 1 to mode 2 (overlay mixer) and it still doesn't use the AR flag. Could it be because BSPlayer has a built-in AR changer?
Anyway, I don't want to use ffdshow for my DivX and XviD movies. The DivX 5.2.1 decoder (DIV3, DIV4, DIVX, DX50) and XviD decoder (XVID or xvid? which fourcc?) are doing a great job and I haven't had any problems yet. I use ffdshow for everything else (3ivX, x264, etc.).
tedgo
27th March 2005, 14:09
@Elias
Do you have one of the latest builds of ffdshow?
http://ffdshow.sourceforge.net/tikiwiki/tiki-index.php?page=Getting+ffdshow&PHPSESSID=e9114a86a70ec08b678f99f1fd8aa348
It works great for me.
SeeMoreDigital
27th March 2005, 14:27
Originally posted by Elias
Well no wonder then, I never use Packed Bit-Streams with my XviD encodes. Could this be the reason for why it isn't working with ffdshow? I use libavcodec for decoding all MPEG-4 video streams, and I've checked "Allow output format changes during playback" and "Connect to compatible filters only." Sorry Elias... With regard to XviD's DSdec beta filter, I should have written: -
"encodes with B-VOP but without packed bit-stream, are not currently supported"
And I've corrected my previous statement accordingly!
Cheers
m99
27th March 2005, 20:46
Is there any applet for removing packed bitstream for those that don't have .NET installed?
Elias
27th March 2005, 20:53
Originally posted by SeeMoreDigital
Sorry Elias... With regard to XviD's DSdec beta filter, I should have written: -
"encodes with B-VOP but without packed bit-stream, are not currently supported"
And I've corrected my previous statement accordingly!
Cheers I neither use B-VOP nor do I use Packed Bit-Streams.
Originally posted by SeeMoreDigital
@Elias
Do you have one of the latest builds of ffdshow?
It works great for me.I use this one http://www.aziendeassociate.it/cd//ffdshow/ffdshow-20050312.exe
MSlv
27th March 2005, 21:24
Originally posted by m99
Is there any applet for removing packed bitstream for those that don't have .NET installed?
What? you don't have time for a 20 MB Windows update? Seriously now, M$'s servers are very fast and it should take you less than an hour to download... unless you have dial-up that is.
m99
29th March 2005, 01:51
Originally posted by MSlv
What? you don't have time for a 20 MB Windows update? Seriously now, M$'s servers are very fast and it should take you less than an hour to download... unless you have dial-up that is.
No, that's not the problem, have 1024/256kbps ADSL, but my PC don't have a lot of RAM.
SteveHarding
29th March 2005, 02:08
An easy fix - BUY MORE RAM.
Seriously, your PC needs every bit it can get - you should have at least 512MB now-adays - and it's dirt cheap.
But it should still run fine - it's a small app, so it shouldn't use too much of your RAM. And you can install .NET without using RAM, it only uses memory when you are actually running .NET applications.
BoNz1
10th April 2005, 06:53
Hi, is there anyway to re-write the DivX User Data ID? This changed in a recent XviD revision and I have some videos which have the new ID which seems to cause problems with my hardware player. Also, is it possible to fix user data like this? (http://list.xvid.org/pipermail/xvid-devel/2005-April/004960.html)
bond
10th April 2005, 11:20
Originally posted by BoNz1
This changed in a recent XviD revision and I have some videos which have the new ID which seems to cause problems with my hardware player. thats very strange, actually the the new user data has been updated in xvid to exactly enable better support for hardware players
you might want to post this on the xvid maillist, as breaking existing hardware players is surely not the goal the update wanted to achieve
Moitah
10th April 2005, 16:45
Originally posted by BoNz1
Hi, is there anyway to re-write the DivX User Data ID? This changed in a recent XviD revision and I have some videos which have the new ID which seems to cause problems with my hardware player. Also, is it possible to fix user data like this? (http://list.xvid.org/pipermail/xvid-devel/2005-April/004960.html)
Yes, you can use MPEG4 Modifier to edit the user data.
I don't think it is incorrect to have the user data precede the VOP, and DivX does this also. EDIT: I just checked ISO/IEC 14496-2, it looks fine to me.
Moitah
14th April 2005, 17:27
Thanks for the screenshots. A while back I tried running MPEG4 Modifier in Linux with Mono 1.1.4, and only MPEG4 Modifier 1.2.0 or earlier would start, because of the drag-and-drop code I added to the source AVI textbox in 1.3.0. It's good to see the progress they are making, and I think it will soon run fine since I didn't use any P/Invokes. I know most of the code already runs fine with Mono, because UnpackCL uses the exact same 3 main .cs files. It's just the Windows Forms stuff that doesn't quite work yet, but it looks like they are getting close :).
Flashmeister
15th May 2005, 03:32
Ooops... I accidently posted this outside of the MPEG4 modifier topic! Sorry for the extra post...
---
When I try to open a divX file (with MPEG4 Modifier) to unpack the bitstream, I receive the following error:
"This is not a valid MPEG-4 video (startcode not found at beginning of frame)" (See attached screenshot...)
Any idea why this would be occuring? It seems to happen with all divX files (haven't tried any other type of file).
Oddly enough, when I use the command line program (UnpackCL), it works perfectly. Just kind of a pain to have to keep switching to command prompt to fix files, so I would love to get MPEG4 Modifier working!
Has anyone seen this error before? I searched the forum but couldn't find and messages pertaining to this. Any advice on how to solve the problem?
Thanks!
Greg
SeeMoreDigital
15th May 2005, 09:11
I can't see the screenshot yet but.... are you sure it's a DivX5 file?
Cheers
note that divx3 is not mpeg-4 compliant (but also doesnt use packed bitstream)
robpiggott
16th May 2005, 00:33
answered my own question. sorry
Flashmeister
16th May 2005, 15:26
The divX files I downloaded are all recent television shows (recorded within the last couple of months), however I am unsure what format they are.
They play with the divX 5 codec that I downloaded from www.divx.com, however some files have a problem with audio sync (especially when played with my Prismiq Mediaplayer). The UnpackCL program solves this issue - just wish I could do it with a GUI (using MPEG4 Modifier).
Perhaps the files I downloaded are some weird DivX variant?
How do I tell?
I believe they are from an HDTV source, if that matters...
Thanks!
Greg
divx5 can decode divx3-4
try a tool, like gspot or open it in virtualdub(mod) to see if its divx3 or not
SeeMoreDigital
16th May 2005, 15:43
Originally posted by Flashmeister
The divX files I downloaded are all recent television shows (recorded within the last couple of months), however I am unsure what format they are.
...Perhaps the files I downloaded are some weird DivX variant?
Greg, please re-read the forum rules regarding "illegally obtained content"!
Cheers
Flashmeister
16th May 2005, 21:51
Not sure what you mean about illegally obtained content. I just re-read the posting rules.
I normally watch the television show in question "on air" and occasionally miss it so I keep a tape in the VCR. If I forget to put the tape in the VCR, I download the episode from the net.
Canadian law has upheld the legallity of downloaded content (yes, I live in Canada), but then again, I am not a legal expert. The CRTC might have something to say about Can-Con, but being that the show is on Canadian networks, I don't see a problem. I am sorry if my question is not legal wherever you are located. Please disregard it if this is the case.
Greg
SeeMoreDigital
16th May 2005, 22:12
I guess in your instance the legality of the content could be established by knowing more about where you downloaded the media.
For instance, is the web site authorized by the copyright holder?
Cheers
Flashmeister
17th May 2005, 01:01
According to GSpot and VirtualDubMod, the files are XviD. See attached screenshot from VDM. I didn't see a convenient way to log or screenshot the info from GSpot.
So, MPEG4 Modifier should open it, no?
Thanks,
Greg
Originally posted by Flashmeister
So, MPEG4 Modifier should open it, no?if its really xvid than yes
Originally posted by bond
if its really xvid than yes
...unless the file is an OpenDML AVI, which is currently biting me in the rectum...
np: Metamatics - Rapala Shad (From Death To Passwords Where You're A Paper Aeroplane)
Infirmus
24th May 2005, 12:36
My player (Zensonic Z330) just got a firware upgrade that allows it to play packed bitstream! Yay! Dont need to use MPEG4 Modifier anymore..! Thanks for the very usefull tool while I still needed it Moitah.
BigJim
29th May 2005, 15:59
Can someoe tell me how the use this prog?
I have an AVI standalone player (yamada DVX 6600) and the XVID support isn't that good.The XVID movies are played back jerky.
This programm could fix the jerky playback except I don't know excactly what to change or modify.Should I just unpack the film?
Is there a tutorial somewhere??
Sincerely
Simon
Birdy1
30th May 2005, 21:08
Can someoe tell me how the use this prog?
[Browse...] for the file, check the [unpack] checkbox, [save...] the file
derevo
31st May 2005, 17:53
i tried to modify xvid's aspect ratio, but it does not change. when i modified file by this program and i open this file in mpeg4 midifier and see video info there aspect ratio is changed, but when i watch it in any player aspect ratio is same that it was in non modified file. where is problem??
Birdy1
31st May 2005, 18:04
The only player I know of that supports the aspect ratio is VLC media player
SeeMoreDigital
31st May 2005, 18:05
... but when i watch it in any player aspect ratio is same that it was in non modified file. where is problem??What "direct-show" decoder filter are you using with your software media player?
If you can try these 16:9 AR Signalling Test Encodes (http://82.2.167.237/Uploaded_Files/Doom9_Forum_files/16.9_AR_Signalling_Test_Encodes.zip) and these 4:3 AR Signalling Test Encodes (http://82.2.167.237/Uploaded_Files/Doom9_Forum_files/4.3_AR_Signalling_Test_Encodes.zip) please!
EDIT: The only player I know of that supports the aspect ratio is VLC media player So does Nero's ShowTime 2 Player. And so do 3ivx's, XviD (newest beta) and DivX's (5.3.0.1461) DSdec filters...
Cheers
derevo
31st May 2005, 18:20
What "direct-show" decoder filter are you using with your software media player?
i don't know what is direct-show decoder filter.
where i can look it and change??
SeeMoreDigital
31st May 2005, 19:10
i don't know what is direct-show decoder filter.
where i can look it and change??If you are using say, Windows Media Player, it's stated under: "Files" then "Properties"... And you should see it here: -
http://img61.echo.cx/img61/7251/SMD_WMP9_properties.gif
Cheers
derevo
31st May 2005, 19:30
in my file it is also "XviD MPEG-4 Video Decoder".
in file wich come from satellite resolution is 720x576 and aspect ratio is 3:4,
but when i compress it in xvid aspect ratio becomes to 5:4.
here is screenshots:
http://www.saunalahti.fi/isos/5.4.gif
http://www.saunalahti.fi/isos/4.3.gif
mpeg4 modifier does not change it.
SeeMoreDigital
31st May 2005, 20:15
in my file it is also "XviD MPEG-4 Video Decoder".When you visit XviD's "Configure Decoder" settings, does the GUI look similar this one?
http://img70.echo.cx/img70/2311/SMD_Proposed_XviD_DSdec.gif
Cheers
derevo
31st May 2005, 20:50
not, it is an other.
here is screenshot:
http://www.saunalahti.fi/isos/xvid.gif
ChronoCross
31st May 2005, 21:04
That's the encoder screen. you can access the decoder config in Start Menu -> Programs -> Xvid -> Configure Decoder.
SeeMoreDigital
31st May 2005, 21:05
That's XviD's "decoder" panel, which is available via the "encoder"!
The "decoder" GUI I'm talking about is accessable via the "Start" button... Then, Programs/XviD/Configure Decoder (or something similar) ;)
Cheers
derevo
31st May 2005, 22:01
yes, encoder is same as that on your screenshot.
derevo
31st May 2005, 22:08
i tried to change options in there windows and now aspect ratio is right :)
thanks for answer.
it is very difficult to use computers.
Vladdy
9th June 2005, 02:53
Will we see a version that supports the openDML format?
I have some 2+ gb avi's that have an embedded AR and can't use this app :(
dimitrik
9th June 2005, 10:27
OpenDML DML support would be greatly appreciated.
I also have a lot of older files that I would like to convert. I guess openDML was very popular at one time :(
:thanks: for the great tool!
Vladdy
10th June 2005, 12:32
OpenDML DML support would be greatly appreciated.
I also have a lot of older files that I would like to convert. I guess openDML was very popular at one time :(
:thanks: for the great tool!
More to the point, standard avi files only support up to 2gb in size. You need to save avis in opendml format when you go over 2gb.
dimitrik
11th June 2005, 19:08
One way to get around mpeg4modifier's limitation on OpenDML avi's is to convert them to regular avi's if the file is less than 2GB is size. AVI's over 2GB can only be in OpenDML avi format.
However for smaller files, you can load them into VirtualDub, set both video and audio to 'direct stream copy' and then save the files with the 'save as avi' option. The result is a regular avi that you can open in mpeg4modifier and unpack (though all my OpenDML files turned out not to have packed bitstream anyway). :cool:
Is there a way to see if they have PB, before loading them in modifier? :confused:
dimitrik
12th June 2005, 12:58
I've just unpacked a whoe bunch of my videos but I noticed somethign worrying.
Many of my DivX cartoon encodes, when unpacked play back with a stuttering in high motion scenes. Moving objects appear to shake. This was the case in at leat a dozen animated encodes I checked. I compared them to the originals and the shaking is not there. Xvid files don't seem affected. :confused:
The strrange thing is that problem is visible when using Windows Media Player 9 and PowerDVD but it doesn't happen with Media Player Classic, VLC or DivX Player. I haven't tried them on my standalone yet.
I dont know why it happens in some cases, maybe it has something to do with how b-frames are decoded?
Any advice would be appreciated.
Vladdy
12th June 2005, 15:48
One way to get around mpeg4modifier's limitation on OpenDML avi's is to convert them to regular avi's if the file is less than 2GB is size. AVI's over 2GB can only be in OpenDML avi format.
However for smaller files, you can load them into VirtualDub, set both video and audio to 'direct stream copy' and then save the files with the 'save as avi' option. The result is a regular avi that you can open in mpeg4modifier and unpack (though all my OpenDML files turned out not to have packed bitstream anyway). :cool:
Is there a way to see if they have PB, before loading them in modifier? :confused:
I have a number of avi files that are roughly 2.5->3gb in size. And I don't want to split them either. Is there any other app that can modify the aspect ratio in avis? And that supports opendml?
toejam13
24th June 2005, 22:14
Are there plans to introducing MPEG4/H.264 support?
The "x264" codec for Windows is showing a good level of maturity at this point, as is the new "FFDShow". It would be nice to be able to modify AVIs with these video streams as well.
Keep up the good work and thank you VERY much for your tool!
boombastic
27th June 2005, 11:27
I don't know how to modify my file with this tool to obtain my target:my avi is 704*346 taken from a pal dvd.I watch it with an Amstrad standalone player.The images are too long horizzontaly. I could changhe the resolution to something like 704*304 but i must re-encode to do that. It's podssible do something with this tool? I put the AR ratio to 2.35:1 but on my standalone nothing as changed,why?Which setting should i try?
SeeMoreDigital
27th June 2005, 12:12
Yes.... 704x346 gives an square pixelled aspect ratio of 2.034:1. That said, 346 vertical pixels is very unusual because is does not conform to mod16, mod8 or mod4.
If the resolution (pixel frame size) of your encode really is 704x346, I'm very surprised your Amstrad can play it at all.
Plus, are you 100% sure your Amstrad can detect PAR/DAR signalling?
Cheers
boombastic
28th June 2005, 07:53
Yes.... 704x346 gives an square pixelled aspect ratio of 2.034:1. That said, 346 vertical pixels is very unusual because is does not conform to mod16, mod8 or mod4.
If the resolution (pixel frame size) of your encode really is 704x346, I'm very surprised your Amstrad can play it at all.
Plus, are you 100% sure your Amstrad can detect PAR/DAR signalling?
Cheers
That is the resolution for sure, i found it with Gspot; i don't know really if my amstrad can detect PAR/DAR signalling this evening i'll check the manual but i think ther's nothing about on it.What should i change with mpeg4modifier?It seems that also with mpclassic 6.4 on my pc the movie plays always with the same Aspect Ratio even if i set it to 2.35:1 or 16:9...
SeeMoreDigital
28th June 2005, 08:40
Hi boombastic,
It's vital you find out if your player supports PAR/DAR signalling detection.
Because if your player doesn't, there's no point in you using MPEG4 Modifier to add/change it ;)
Here's a link to a .ZIP file containing 2No "video only" 16.9 AR Signalling Test Encodes (http://82.2.167.237/Uploaded_Files/Doom9_Forum_files/16.9_AR_Signalling_Test_Encodes.zip). One has an Mpeg4 stream in .AVI, the other has an Mpeg4 stream in .MP4.
Burn the .AVI file to disc and try it in your player!
Cheers
boombastic
28th June 2005, 15:49
I can watch the avi file, and then...?I'm a bit slow!Does it mean that my player supports PAR/DAR signalling detection?Just because i can watch that file?
SeeMoreDigital
28th June 2005, 16:10
I can watch the avi file, and then...?I'm a bit slow!Does it mean that my player supports PAR/DAR signalling detection?Just because i can watch that file?Is the encode displayed at the correct aspect ratio on your TV screen?
If you have a 4:3 TV you should see black mattes (bars), above and below the image. If you have a 16:9 TV the image should completely fill your screen. Provided that is, your stand-alone player and TV are correctly set-up!
Cheers
boombastic
28th June 2005, 16:23
Doh!I've got a 4:3 TV, if i set 4:3 format in its setting i can't see no black bars, if i set 16:9 the black bars appear.I think that this meens that my player doesn't support PAR/DAR signalling detection.
SeeMoreDigital
28th June 2005, 17:20
I think that this meens that my player doesn't support PAR/DAR signalling detection.Agreed :(
What's the model number of your Amstrad?
Cheers
boombastic
28th June 2005, 19:39
It's a dvd recorder that can also play avi files.It's DR300
Leolo
30th June 2005, 00:37
Moitah,
I've just made a suggestion to sysKin. How about renaming the "Display AR" section to... "Pseudo DAR"?
http://img25.exs.cx/img25/552/SMD_Mpeg4_Modifier_GUI.png
Just a thought
Cheers
I second this motion. I've been thoroughly confused by the "DAR" option in MPEG4Modifier for a long time! Thank God I found this thread to find out what does it really mean.
SeeMoreDigital, I'd like to ask you a question: what is the difference between FAR (Frame Aspect Ratio) and DAR (Display Aspect Ratio)? When should I use them?
If I understood it correctly, PAR describes the shape of the pixels, FAR describes the shape of the whole image and DAR describes the shape of the physical TV set that is sitting in your living room. Is that correct? Please correct me if I'm wrong!
Thank you very very much.
Best regards.
@leolo
i'm quite simple-minded, so i tried to simplify this problem to my level ;) look :
dar = par x sar (the basic equation)
what u always got is sar (the dimensions of the frames in the stream pixelwise). instead of bothering with the meaning of 'display aspect ratio', consider dar as a request (say, 'i want to display that stream in that dimensions'; 4:3, 16:9, whatever) so the task is to find a par fitting the requirement -> par = dar / sar easy then ...
e.g.
- u have sar=720x576 (pal dvd) = 5/4
- u want it to play back at dar=16/9
- u must set par=(16/9)/(5/4)=64/45
this 'par' is usually called as 'custom (p/d)ar' or 'custom pixel shape'
what may confuse u (it confused me, at least) is the standard values for par listed many time here and there. it is 16/11 for a '16/9 pal dvd' which is 64/44. this slight discrepancy is coming from the different sar presumed (it'd be 704x576 for pal dvd) let's see:
dar = (16/11) x (704/576) = (16/11) x (11/9) = 16/9
so, setting par to 16/11 results in a 16/9 playback of a '16/9 pal dvd' (what a surprise ;) )
ok, getting back to mpeg4modifier.
u can set the 'standard' or the 'custom' par values in the left column or u can set the standard dar values in the right. either way u get the same result.
i hope it helps a bit
the bests
y
SeeMoreDigital
30th June 2005, 10:04
There's not a lot more I can add.....
In essence, I personally prefer to use DAR signalling calculations because I generate my back-up encodes at full DVD resolutions (ie: 720x576 for PAL or 720x480 for NTSC).
And the DVD format uses DAR signalling calculations because there are after-all only two shapes of TV (either 4:3 or 16:9) in the known universe :D
Unfortunately for us all, it's taken rather along time for software player/direct-show filters manufacturers to include reliable AR signalling detection... And even longer for stand-alone player/device manufacturers to do the same... Which is confusing the hell out of people!
Cheers
Leolo
30th June 2005, 18:32
Thank you Yaz and SeeMoreDigital!
It's much clearer to me now.
Also, I've found a post by Stegre here that explains it as well:
http://forum.doom9.org/showthread.php?s=&postid=562048
It seems that a lot of people are confused regarding Aspect Ratios, because I've seen quite a few AVI files with a resolution of 800x336 pixels and MPEG4Modifier shows that they have PAR signalling set to "16:9 NTSC"!
Thankfully, with MPEG4Modifier it's very easy to select "Square Pixels" and the problem is rapidly solved.
Regards.
SeeMoreDigital
30th June 2005, 23:00
Yes, the entire subject of anamorphically shaped encodes can be a difficult one to grasp!
And it does not help when people try adding AR signalling to encodes that don't require it :eek:
Cheers
QQ
26th August 2005, 17:43
Loading: 0,0%Error: No VOL found before first VOP
what's up with that? (GUI version says the same) :(
Moitah
26th August 2005, 23:10
Loading: 0,0%Error: No VOL found before first VOP
what's up with that? (GUI version says the same) :(
Maybe someone cut the video so that it doesn't start with a keyframe. Does it look okay when you play it?
XmyBit
6th September 2005, 21:40
Hi. I've just bought a new pc, AMD x2 3800+. Mpeg4modifier runs fine on my Intel P4 but on the new pc it just pops up with the following error. "MPEG4Modifier.exe - Fatal error, CLR error: 80004005. The program will now terminate." Any help with this would be appreciated. Im running XP SP2 and .NET both patched to the hilt.
Moitah
6th September 2005, 21:52
Hi. I've just bought a new pc, AMD x2 3800+. Mpeg4modifier runs fine on my Intel P4 but on the new pc it just pops up with the following error. "MPEG4Modifier.exe - Fatal error, CLR error: 80004005. The program will now terminate." Any help with this would be appreciated. Im running XP SP2 and .NET both patched to the hilt.
Try this (http://www.deerbrook.com/downloads/sysreqs/Bridging/new_page_2.htm) maybe? I don't know, that's what I found w/ Google.
XmyBit
6th September 2005, 22:58
That was the answer. :thanks: a million got tired of all the typing in dos :rolleyes: I did search but not with xp included..... Thanks again. You should have a paypal link on your website.
Moitah
6th October 2005, 19:27
You should have a paypal link on your website.
Okay, done :D.
madman1980
23rd October 2005, 15:44
VLC Player has its own "in-built" Mpeg4 decoder filter which is capable of PAR signalling detection.
If you want media players such as WMP9/10, BSplayer, MPC etc to recognise encodes with PAR signalling, you'll need to install an Mpeg4 direct-show decoder (DSdec) filter that can detect PAR signalling!
The new (beta 1.1.x) versions of XviD now come with such a DSdec filter. Or if you're happy with the version of XviD you already have and don't wish to install the beta, you could just swap the decoder filter with this version (http://www.public.iastate.edu/~chadspen/xvid.ax).
Sadly, there are very few Mpeg4 DSdec filters that can detect PAR/DAR signalling.
Cheers
I use media player classic with ffdshow. Which of those are to blame for the fact that the adjusted AR is not recognized? I'm going to bug those responsible to get this fixed.
Elias
23rd October 2005, 15:46
I use media player classic with ffdshow. Which of those are to blame for the fact that the adjusted AR is not recognized? I'm going to bug those responsible to get this fixed.You have to enable aspect ratio output in ffdshow first. So blame yourself :)
madman1980
23rd October 2005, 15:55
Oh well http://community.the-underdogs.org/smiley/misc/blush.gif
Where is that setting?
And BTW, shouldn't it be enabled by default? :)
SeeMoreDigital
23rd October 2005, 16:12
Where is that setting?
And BTW, shouldn't it be enabled by default? :)Here you go: -
http://img108.imageshack.us/img108/66/ffdshowanamorphicoverlaysettin.png
Cheers
Elias
23rd October 2005, 16:15
Oh well http://community.the-underdogs.org/smiley/misc/blush.gif
Where is that setting?
And BTW, shouldn't it be enabled by default? :)video decoder>output>use overlay mixer/allow output format changes during playback.
madman1980
23rd October 2005, 18:51
Thanks
Any idea why this is not the default setting in ffdshow?
Elias
23rd October 2005, 18:53
Thanks
Any idea why this is not the default setting in ffdshow?No idea. It should be though. Perhaps Celtic Druid can make it a default setting when compiling the binaries from source?
celtic_druid
24th October 2005, 04:01
Should be a simple matter of changing the nsi script. Could be a very good reason why it isn't the default setting though.
SeeMoreDigital
24th October 2005, 09:45
I must admit it confused me aswell.... I think AR signalling detection should be activated by default too ;)
kodlson
26th October 2005, 08:00
I was make simple script for batch removing PBS from avi files in same folder.
Save this text as ie: removePBS.bat and when you want removing PBS fro mall files in folder just run it :)
It is first release you can publish, edit and distributing as you want.
@echo off
rem Path to UnpackCL
set path=c:\windows
rem temporary directory
set temp_dir=temp
rem Set extension ie: AVI, DIVX
set filter=avi
rem ************************************
echo Removing PacketBit stream from Avi(Xvid) files ...
rem create temporary directory...
md %temp_dir%
for %%f in (*.%filter%) do (
echo ----------------------------------------------
echo Konverze: %%f
%path%\UnpackCL.exe -i "%%f" "%temp_dir%\%%f"
)
echo
echo ---- Cleaning up... -----
rem move thumbnails and remove temporary directory
rmdir %temp_dir%
echo ----------------------------------------------
echo "Done. Copyright by Lowprize. Visit www.lowprize.tk !"
echo ----------------------------------------------
pause
madman1980
8th November 2005, 23:10
Here you go: -
http://img108.imageshack.us/img108/66/ffdshowanamorphicoverlaysettin.png
Cheers
I tried e-mailing the ffdshow guy using the e-mail address in the 'about' section about making this a default setting, but I haven't gotten a reply. Is there some way to inform them about this or get a reply as to whether they can do it?
SeeMoreDigital
8th November 2005, 23:14
Try posting a request in one of the Doom9 FFdshow threads ;)
QQ
9th November 2005, 06:54
I was make simple script for batch removing PBS from avi files in same folder.
Save this text as ie: removePBS.bat and when you want removing PBS fro mall files in folder just run it :)
It is first release you can publish, edit and distributing as you want.
@echo off
rem Path to UnpackCL
set path=c:\windows
rem temporary directory
set temp_dir=temp
rem Set extension ie: AVI, DIVX
set filter=avi
rem ************************************
echo Removing PacketBit stream from Avi(Xvid) files ...
rem create temporary directory...
md %temp_dir%
for %%f in (*.%filter%) do (
echo ----------------------------------------------
echo Konverze: %%f
%path%\UnpackCL.exe -i "%%f" "%temp_dir%\%%f"
)
echo
echo ---- Cleaning up... -----
rem move thumbnails and remove temporary directory
rmdir %temp_dir%
echo ----------------------------------------------
echo "Done. Copyright by Lowprize. Visit www.lowprize.tk !"
echo ----------------------------------------------
pause
so this converts all the files to tempdir, then just removes them?;p
Moitah
10th November 2005, 03:43
so this converts all the files to tempdir, then just removes them?;p
It certainly looks like that but I haven't tried it :). Gambit's GUI (http://forum.doom9.org/showthread.php?t=102073) works very well, though.
eXistenZ_69
4th December 2005, 18:45
Hello all,
I read somewhere on Doom9 unpacking a packed bitstream has no effect on image quality. Still, since I've started unpacking only recently (for playing on DivX/XviD capable DVD-player) I always compare the unpacked file to the original one when I encounter artefacts to assure myself of this fact. Until now I never found artefacts that weren't present in the packed file. Below you find links to image samples of the artefacting after unpacking. Does anyone have an explanation for this? :(
After unpacking:
http://img431.imageshack.us/img431/2354/unpackedsamplecropped1hi.png
Before unpacking:
http://img431.imageshack.us/img431/9011/packedsamplecropped6re.png
Some more info on the source file:
Packed bitstream: Yes
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Square pixels
Quant type: H.263
I-VOPs: 686 (1,15%)
P-VOPs: 22864 (38,20%)
B-VOPs: 36298 (60,65%)
S-VOPs: 0 (0,00%)
N-VOPs: 0 (0,00%)
Max consecutive B-VOPs: 2
1 consec: 33,96%
2 consec: 66,04%
User Data: DivX999b000p, XviD0038
Regards,
eXistenZ_69
Elias
4th December 2005, 19:02
Hello all,
I read somewhere on Doom9 unpacking a packed bitstream has no effect on image quality. Still, since I've started unpacking only recently (for playing on DivX/XviD capable DVD-player) I always compare the unpacked file to the original one when I encounter artefacts to assure myself of this fact. Until now I never found artefacts that weren't present in the packed file. Below you find links to image samples of the artefacting after unpacking. Does anyone have an explanation for this? :(
After unpacking:
http://img431.imageshack.us/img431/2354/unpackedsamplecropped1hi.png
Before unpacking:
http://img431.imageshack.us/img431/9011/packedsamplecropped6re.png
Some more info on the source file:
Packed bitstream: Yes
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Square pixels
Quant type: H.263
I-VOPs: 686 (1,15%)
P-VOPs: 22864 (38,20%)
B-VOPs: 36298 (60,65%)
S-VOPs: 0 (0,00%)
N-VOPs: 0 (0,00%)
Max consecutive B-VOPs: 2
1 consec: 33,96%
2 consec: 66,04%
User Data: DivX999b000p, XviD0038
Regards,
eXistenZ_69This is a bug in MPEG4Modifier that needs to be fixed. Try importing the packed video stream directly to *.mp4 with MP4Box, MP4Box will unpack it and do it correctly. I've seen the same issue as you have right now when modifying MPEG-4 video with MPEG4Modifier, like for instance when changing Aspect Ratio from the left (not Display AR). Doing that has resulted in b0rked picture quality.
Packed bitstream has nothing to do with quality. What it does is to improve decoding in the *.avi container, because the *.avi container isn't really suited for MPEG-4 video, so it needs packed bitstream.
eXistenZ_69
4th December 2005, 20:51
This is a bug in MPEG4Modifier that needs to be fixed. Try importing the packed video stream directly to *.mp4 with MP4Box, MP4Box will unpack it and do it correctly. I've seen the same issue as you have right now when modifying MPEG-4 video with MPEG4Modifier, like for instance when changing Aspect Ratio from the left (not Display AR). Doing that has resulted in b0rked picture quality.
Packed bitstream has nothing to do with quality. What it does is to improve decoding in the *.avi container, because the *.avi container isn't really suited for MPEG-4 video, so it needs packed bitstream.
Oh no :scared: . Is this a rare bug? I mean what are the circumstances this does happen? Cause most of the time it seems to work well. The bad thing is that I don't have all original packed files anymore. I've unpacked a few and burned them and deleted the rest :(
If this is a known bug, why is MPEG4Modifier still so heavily promoted to do the unpacking???
Can the broken unpacked files be fixed?
Regards,
eXistenZ_69
Elias
4th December 2005, 21:51
I don't know how common this bug is in MPEG4Modifier. Moitah will have to investigate it with some of your samples :) If I remember correct, this also happens with AVC in avi, but I'm not sure if MPEG4Modifier can handle AVC.
bond
4th December 2005, 22:02
If I remember correct, this also happens with AVC in avi, but I'm not sure if MPEG4Modifier can handle AVC.mpeg4modifier doesnt handle avc
Elias
4th December 2005, 22:36
mpeg4modifier doesnt handle avcLike I said, I wasn't sure. But as can be seen on the snapshots, it's not a matter of quality, it's a matter of two frames getting intertwined with each other. Clearly a bug.
SeeMoreDigital
4th December 2005, 23:54
Like I said, I wasn't sure. But as can be seen on the snapshots, it's not a matter of quality, it's a matter of two frames getting intertwined with each other. Clearly a bug.I think it's too early to say it's a bug with MPEG4 Modifier....
It would be helpful to establish which MPEG-4 direct-show decoder filter eXistenZ_69 was using when this issue was first observed ;)
Cheers
celtic_druid
5th December 2005, 00:28
As far as I know it produces bit identical output and has when I have tested. Encode with XviD and pb enabled, run MPEG4Modifer to unpack, compare that to XviD with pb disabled and the output is the same.
There aren't still standalones that can't handle packed bitstream + multiple bframes are there though? Shouldn't they all have recieved firmware updates by now?
SeeMoreDigital
5th December 2005, 11:02
There aren't still standalones that can't handle packed bitstream + multiple bframes are there though? Shouldn't they all have recieved firmware updates by now?Yep.... I would have thought so.... Even for most of those players with weird names we've never heard of.... and are never likely to hear of again :eek:
eXistenZ_69
5th December 2005, 12:37
I noticed the artefacts first on my Pioneer DVD-575, which uses a MT1389EE chipset. Then I checked on my pc in MPC 6.4.8.4 using the XviD 1.0.3 DShow decoder.
If you need any more info, please ask...
Regards,
eXistenZ_69
laserfan
5th December 2005, 15:44
...There aren't still standalones that can't handle packed bitstream + multiple bframes are there though?Perhaps you are referring specifically to standalone DVD players, but my Pinnacle ShowCenter media players (SC1000, SC1000G, SC200) play these files, and AFAICT actually *prefer* pb. Anyway when I have a choice I PB and B-frames=2 for my conversions.
SeeMoreDigital
5th December 2005, 16:20
Perhaps you are referring specifically to standalone DVD players, but my Pinnacle ShowCenter media players (SC1000, SC1000G, SC200) play these files, and AFAICT actually *prefer* pb. Anyway when I have a choice I PB and B-frames=2 for my conversions.Well I have exactly the same stand-alone as eXistenZ_69, and I have no trouble playing XviD B-VOP stream, with or without B-VOP.
That said, I do have a DivX multiple B-VOP stream, the player does not like :eek:
eXistenZ_69
5th December 2005, 17:06
Well I have exactly the same stand-alone as eXistenZ_69, and I have no trouble playing XviD B-VOP stream, with or without B-VOP.
That said, I do have a DivX multiple B-VOP stream, the player does not like :eek:
Ahum, that's weird. What do you mean exactly with 'no trouble playing'? Cause the files DO play, BUT playback is jerky. This jerkiness isn't always very noticable. Most problematic are horizontal pans... And it only occurs with more than 1 consecutive b-frame.
Regards,
eXistenZ_69
SeeMoreDigital
5th December 2005, 17:59
Ahum, that's weird. What do you mean exactly with 'no trouble playing'? Cause the files DO play, BUT playback is jerky. This jerkiness isn't always very noticable. Most problematic are horizontal pans... And it only occurs with more than 1 consecutive b-frame.Hi
Try this XviD 720x576 2B-VOP with PBS (http://homepage.ntlworld.com/seemoredigital/Temp_Test_Files/XviD_720x576+2B-VOP_with_PBS.7z) sample with your Pioneer DV-575A player. Also, why not do as I did and remove the PBS (packed bit-stream) with MPEG4 Modifier.
Both files appear to play fine for me.....
eXistenZ_69
5th December 2005, 23:45
Hi
Try this XviD 720x576 2B-VOP with PBS (http://homepage.ntlworld.com/seemoredigital/Temp_Test_Files/XviD_720x576+2B-VOP_with_PBS.7z) sample with your Pioneer DV-575A player. Also, why not do as I did and remove the PBS (packed bit-stream) with MPEG4 Modifier.
Both files appear to play fine for me.....
I'm afraid you're missing the point :p
My problem is artefacting caused exactly by unpacking with MPEG4Modifier.
SeeMoreDigital
5th December 2005, 23:49
I'm afraid you're missing the point :p
My problem is artefacting caused exactly by unpacking with MPEG4Modifier.Eh!
What happens when you remove the packed bit-stream of the file I provided for you, using MPEG4 Modifier?
How well does it play in your DV-575A?
Cheers
eXistenZ_69
5th December 2005, 23:57
@SeeMoreDigital
I'll try the file tomorrow evening. Too late to do it today...
Greetz,
eXistenZ_69
eXistenZ_69
6th December 2005, 23:27
@SeeMoreDigital
Ok, I did the test with the sample you provided. The original packed version as well as the one I unpacked with MPEG4Modifier played fine without any noticable differences. But this doesn't change the fact that the Pioneer DV-575A doesn't handle packed bitstream well in general. I've encountered enough cases where there was very noticable jerkiness that got resolved by unpacking.
What was the intention of your test anyways? It's not my player that's causing problems here (well yeah, if it would handle PB well I wouldn't need to unpack of course), but MPEG4Modifier causing corrupt streams when unpacking under certain circumstances. Remember, the corruption is visible when playing back on pc in MPC 6.4.8.4 using the XviD 1.0.3 DShow decoder.
Greetz,
eXistenZ_69
SeeMoreDigital
7th December 2005, 00:03
@SeeMoreDigital
Ok, I did the test with the sample you provided. The original packed version as well as the one I unpacked with MPEG4Modifier played fine without any noticable differences. But this doesn't change the fact that the Pioneer DV-575A doesn't handle packed bitstream well in general. I've encountered enough cases where there was very noticable jerkiness that got resolved by unpacking.In my opinion that's too general a statement.
I think we need to know a lot more about the encoder settings you use and even how your player is set-up.... For all we know, in some cases you could be playing cropped and resized 23.976/29.970 FPS content and outputting it as PAL. Or you could have borked the MetaData AVI codes.
@What was the intention of your test anyways? It's not my player that's causing problems here (well yeah, if it would handle PB well I wouldn't need to unpack of course), but MPEG4Modifier causing corrupt streams when unpacking under certain circumstances. Remember, the corruption is visible when playing back on pc in MPC 6.4.8.4 using the XviD 1.0.3 DShow decoder.Hang on a minute.... In the above paragraph you said "this doesn't change the fact that the Pioneer DV-575A doesn't handle packed bitstream well ". But now you are saying it's MPEG-4 Modifier that's causing you "corrupt streams"....... I'm confused
The purpose behind providing you with an encode was so you could find out for yourself that the DV-575A can play MPEG-4 ASP streams "with" or "without" packed bit-stream. And that MPEG4 Modifier can indeed remove the packed bit-stream correctly..... Which it can.... and you did.
I think you may need to review your encoding techniques and the settings you've been using..... Including why you feel you need to remove packed bit-stream in the first place!
Cheers
eXistenZ_69
7th December 2005, 00:33
@SeeMoreDigital
Why are you making this so complicated? :)
1) Many PB files play noticably jerky on my Pioneer. Unpacking resolves that. Hence the need for me (and others if you look up some player-specific threads on specialized forums for DivX/XviD players) to do that. Encoder settings and player/TV settings can't be an issue since unpacking only changes frame order and after unpacking the file plays smoothly.
2) (Not directly related to my Pioneer player!) MPEG4Modifier messes up during unpacking in some cases resulting in corrupt stream (see my screenshots in one of my earlier posts). Why MPEG4Modifier? Cause good-looking PB file goes in and bad-looking unpacked file comes out :( Besides, Elias replied he witnessed this too on some occasions!
Now, regarding 1), if you want I can search for some samples where you can witness very noticable jerkiness that vanishes after unpacking...
And ragarding 2), I'll try unpacking my problem sample with MP4Box and see if the corruption still happens. According to Elias it should work fine in MP4Box...
Phew, I hope it is clear now :)
Regards,
eXistenZ_69
eXistenZ_69
7th December 2005, 22:52
I muxed the problem sample into an mp4 container with MP4Box (+ YAMB as gui). The stream should have gotten unpacked this way (remove N-VOP option was selected). The resulting mp4 file doesn't show the artefacting I noticed after unpacking with MPEG4Modifier.
Greetz,
eXistenZ_69
SeeMoreDigital
7th December 2005, 23:43
I muxed the problem sample into an mp4 container with MP4Box (+ YAMB as gui). The stream should have gotten unpacked this way (remove N-VOP option was selected). The resulting mp4 file doesn't show the artefacting I noticed after unpacking with MPEG4Modifier.Okay....
As a cross-reference, use YAMB again to de-mux the MPEG-4 in MP4 stream back to MPEG-4 in AVI. Then play this new .AVI file to see if it displays any artefacts!
Cheers
eXistenZ_69
8th December 2005, 01:12
Okay....
As a cross-reference, use YAMB again to de-mux the MPEG-4 in MP4 stream back to MPEG-4 in AVI. Then play this new .AVI file to see if it displays any artefacts!
Cheers
The 'Extract Visual Track [ 1] to an AVI file' option on the extraction tab is grayed out :-/
SeeMoreDigital
8th December 2005, 11:12
The 'Extract Visual Track [ 1] to an AVI file' option on the extraction tab is grayed out :-/Sounds like you are using an older versions of YAMB.... Here's an example of what you should be seeing: -
http://img224.imageshack.us/img224/9176/yambextract0jo.png
Cheers
eXistenZ_69
8th December 2005, 18:11
Ah, yes indeed! I was using v1.3.0 which I got from one of the Doom9 guides. I got the YAMB 1.3.2 installer (containing MP4Box) from another forum thread now and it worked.
The from mp4 extracted avi has no artefacts!
So what now? I can cut out a small part where artefacting occurs after unpacking with MPEG4Modifier and upload it so that someone can analyse the the cause maybe...
Regards,
eXistenZ_69
Moitah
8th December 2005, 23:23
So what now? I can cut out a small part where artefacting occurs after unpacking with MPEG4Modifier and upload it so that someone can analyse the the cause maybe...
Yes, please do (from the original video of course, don't unpack it).
Moitah
8th December 2005, 23:27
As far as I know it produces bit identical output and has when I have tested. Encode with XviD and pb enabled, run MPEG4Modifer to unpack, compare that to XviD with pb disabled and the output is the same.
Correct, I have tested it this way before.
SeeMoreDigital
8th December 2005, 23:30
So what now?
I can cut out a small part where artefacting occurs after unpacking with MPEG4Modifier and upload it so that someone can analyse the the cause maybe...Yes please....
That said, are you 100% sure you did not fart about with the "User Data" settings in MPEG4 Modifier, prior to removing the packed bit-stream ;)
eXistenZ_69
9th December 2005, 08:49
Yes please....
That said, are you 100% sure you did not fart about with the "User Data" settings in MPEG4 Modifier, prior to removing the packed bit-stream ;)
Well, define 'fart about' :D
It's on 'auto' by default and I don't touch that. I just load the file, check unpack and save it...
Greetz,
eXistenZ_69
SeeMoreDigital
9th December 2005, 10:08
I'm sure any information will be useful to Moitah ;)
eXistenZ_69
10th December 2005, 17:31
I uploaded a file named 'problem_sample.rar' to a free online file hosting service (see link below). It contains a small fragment from the file that has the artefacting after unpacking with MPEG4Modifier. I included the unpacked versions by MPEG4Modifier and MP4Box as well. Size of the rar is 1.31MB.
http://www.freefileupload.net/file.php?file=files/101205/1134231472/problem_sample.rar
I compared the info MPEG4Modifier shows for these three files and noticed the following: the unpacked version by MPEG4Modifier loses 1 P-VOP! The unpacked version by MP4Box still has all original VOP's. Another difference is that the MP4Box one has DivX999b000n, XviD0038 as user data, the MPEG4Modifier one only XviD0038 (auto setting was enabled during unpacking so this is as expected).
I hope this enables Moitah to find and fix the bug! :)
Regards,
eXistenZ_69
Moitah
10th December 2005, 21:00
Thanks for the sample files. I have found the problem. This video was encoded in segments and joined together. You can see this by using the "Write Frame List" button inside "Video Info", at frame 90 the timestamps jump backwards. The problem is that frame 89 is "packed" (it contains a P-VOP and a B-VOP), but there is no corresponding N-VOP placeholder to use for unpacking. In this case, I used to stop and show the error message "No dummy N-VOP found for packed frame", but in 1.3.0 I removed the error message and ignored the problem, without realizing more needs to be done.
I think I can fix this easily but I'm not sure yet, I don't have Visual Studio installed because I reinstalled Windows a few days ago. Hopefully I will have time tonight to do it.
eXistenZ_69
10th December 2005, 22:24
Great you found the problem! :) I'm glad I could be of assistance. Should have mentioned that it concerns an encoding of a tv series...
I got a few questions regarding your explanation:
1) Is the fact that the timestamps jump backwards normal?
2) Does the problem occur on the join points of the segments? Strange, cause the point where artefacting occurs doesn't look like a moment where commercials where cut out (it's in the middle of a scene).
3) Is the artefacting because of a packed frame that didn't get unpacked or just left out?
4) Is it possible to detect affected unpacked files?
4) Is it possible to fix affected unpacked files? I don't have the original packed files of all files I've unpacked until now :-/
Take your time for the fix. No need to rush out a new version of MPEG4Modifier with a solution that hasn't been properly thought through ;)
Regards,
eXistenZ_69
eXistenZ_69
10th December 2005, 22:36
Found a related forum thread:
http://forum.doom9.org/showthread.php?postid=518857
Moitah
11th December 2005, 00:46
1) Is the fact that the timestamps jump backwards normal?Normal? Not for a regular encode, but when you join several encodes then yes. I'm not sure if any decoders have a problem with this or not. But it's not what's causing the problem in this clip.
2) Does the problem occur on the join points of the segments? Strange, cause the point where artefacting occurs doesn't look like a moment where commercials where cut out (it's in the middle of a scene).Yes, it appears to have been joined on frame 90, which seems rather strange to me also. I can't think of anything else that would cause a missing N-VOP and a change in timestamps.
3) Is the artefacting because of a packed frame that didn't get unpacked or just left out?It happens because the first P-VOP of the next scene got removed. The code is holding a VOP in memory looking for somewhere to put it (an N-VOP). It never finds anywhere to put it, so the next time it encounters a packed frame, the frame it was holding gets overwritten.
4) Is it possible to detect affected unpacked files?It would be possible.
4) Is it possible to fix affected unpacked files? I don't have the original packed files of all files I've unpacked until now :-/Unfortunately, no. Sorry :(.
Moitah
11th December 2005, 03:50
I have fixed the problem. There's really no perfect way to handle this. If you make room for the extra VOP by shifting all the other VOPs forward (which I cannot do because of the way the code is currently structured), you will mess up the audio synch. The other way it to just remove the extra VOP, which is what I did. The latter is what would have happened anyway if the files were encoded with packed bitstream off before they were joined. Basically, the VOP sequence in this file isn't really valid because of the way it was cut. For anyone cutting/joining MPEG-4 ASP, I would recommend A) making all cuts on I-VOP boundaries (not only the beginning, but the end as well), and B) not using the frames after and including the last I-VOP, because XviD doesn't always end cleanly (it makes the last frame a B-VOP, which doesn't make any sense).
Also, I removed the "smart unpacking" code, which was supposed to handle files that contained real N-VOPs along with packed bitstream. I don't think any encoder does this, so it was just needlessly complicating the code.
I don't know when I'll get around to releasing it, tomorrow if I have time.
charleski
11th December 2005, 04:14
There aren't still standalones that can't handle packed bitstream + multiple bframes are there though? Shouldn't they all have recieved firmware updates by now?That would imply that the companies selling these standalone mpeg-4 players weren't running on razor-thin margins and could afford to provide more than a couple of months' worth of updates.
bond
11th December 2005, 12:48
missing n-vops occur at the end of encodes, when the last frame is a packed one?
eXistenZ_69
11th December 2005, 14:07
I have fixed the problem. There's really no perfect way to handle this. If you make room for the extra VOP by shifting all the other VOPs forward (which I cannot do because of the way the code is currently structured), you will mess up the audio synch.
With extra VOP you mean the missing N-VOP that should have been frame 90, right?
The other way it to just remove the extra VOP, which is what I did.
And here you mean the packed frame at position 89, correct? Won't removing it cause audio sync issues as well?
How does MP4Box handle this situation?
How come playback of the packed bitstream doesn't show artefacting? Isn't the missing N-VOP needed there as well??
Regards,
eXistenZ_69
eXistenZ_69
11th December 2005, 14:17
It happens because the first P-VOP of the next scene got removed. The code is holding a VOP in memory looking for somewhere to put it (an N-VOP). It never finds anywhere to put it, so the next time it encounters a packed frame, the frame it was holding gets overwritten.
I'm trying to understand your explanation here, but it's a bit confusing. Isn't the first sentence here contradictory with the rest? Doesn't frame 89 get overwritten with frame 91? The first sentence says it's the other way round...
Moitah
11th December 2005, 20:32
@bond: Yes, or it can add some B-VOPs afterwards. Ideally the end of the video should look something like:
(Frame#: VOPType)
57: P-VOP
B-VOP
58: B-VOP
59: N-VOP
However, XviD (maybe others too, I haven't tried) sometimes will end with:
58: P-VOP
B-VOP
59: B-VOPor
59: P-VOP
B-VOP
Moitah
11th December 2005, 21:07
eXistenZ_69: I think it's a lot easier to understand if you use the "Write Frame List" button and inspect the output.
Original packed video:
89: P-VOP (0:00:03.840)
B-VOP (0:00:03.756)
90: I-VOP (0:00:03.000)
91: P-VOP (0:00:03.125)
B-VOP (0:00:03.041)
92: B-VOP (0:00:03.083)
93: N-VOP(D) (0:00:03.125)
Unpacked in 1.3.2:
89: P-VOP (0:00:03.840)
90: B-VOP (0:00:03.756)
91: I-VOP (0:00:03.000)
92: B-VOP (0:00:03.041)
93: B-VOP (0:00:03.083)Notice the B-VOP previously in frame 89 was shifted forward one, and the I-VOP also shifted forward. The P-VOP previously in frame 91 was removed, and then the two B-VOPs were shifted forward. This doesn't really make sense of course, but that's just how it turned out with the way the code was written.
Unpacked in 1.3.3:
89: P-VOP (0:00:03.840)
90: I-VOP (0:00:03.000)
91: P-VOP (0:00:03.125)
92: B-VOP (0:00:03.041)
93: B-VOP (0:00:03.083)Now the code is smarter and only shifts B-VOPs forward. When it encounters the I-VOP, it realizes it needs to stop shifting, and discards the B-VOP from frame 89 that it was trying to shift forward.
Unpacked in MP4Box (frame numbers adjusted to compensate for MP4Box adding 2 delay frames near the beginning):
89: P-VOP (0:00:03.840)
90: B-VOP (0:00:03.756)
91: I-VOP (0:00:03.000)
92: P-VOP (0:00:03.125)
93: B-VOP (0:00:03.041)
94: B-VOP (0:00:03.083)All the frames are kept, which unless I am understanding something wrong, would offset all frames after 90 with respect to the audio.
bond
12th December 2005, 02:24
how is it ok that 1.3.3 skips one b-vop?
Moitah
12th December 2005, 03:17
how is it ok that 1.3.3 skips one b-vop?
It's the exact same way it would have turned out if the files were encoded without packed bitstream and then cut/joined.
bond
12th December 2005, 03:48
It's the exact same way it would have turned out if the files were encoded without packed bitstream and then cut/joined.skipping the b-vop as its refering to a future frame that is not existing?
Moitah
12th December 2005, 04:35
skipping the b-vop as its refering to a future frame that is not existing?
Actually the future frame is the P-VOP stored before it, remember the AVI contains the frames in coding order rather than in display order. This is why it's a bad idea to go cutting files outside keyframe boundaries.
You will end up with invalid sequences like this if you don't cut properly regardless of whether or not packed bitstream was used, even if MPEG4 Modifier didn't touch it (and the same thing happens at the end of the video when XviD decides to end on a B-VOP).
Moitah
12th December 2005, 06:40
1.3.3 released!
eXistenZ_69
12th December 2005, 13:02
1.3.3 released!
Great, thanks!
(Changelog is shown, but the download links on the webpage still say 1.3.2 though.)
What is the effect of skipping the B-VOP? Won't that result in artefacting as well? What about audio-sync?
You said previously that it is possible to detect an incorrectly unpacked file without the need for the source packed file. Would it be possible for you to provide a small tool for this, please? I'd like to get an overview how many of my files got affected and how bad the artefacting is. I was thinking in the lines of a command line tool that prints out timestamps for the problem locations so I know where to check visually. Would appreciate it very much! :)
Greetz,
eXistenZ_69
bond
12th December 2005, 14:18
as i see it the first cut ends with a p-vop, right?
yeah i am dumb, but i still dont understand how skipping the b-vop is ok? :D
SeeMoreDigital
12th December 2005, 16:05
The "frame list" of the MPEG-4 stream muxed and de-muxed with MP4Box, misses the first two frames: -
0: I-VOP (0:00:00.045)
3: P-VOP (0:00:00.170)
4: B-VOP (0:00:00.087)
5: B-VOP (0:00:00.128)
6: P-VOP (0:00:00.295)
7: B-VOP (0:00:00.212)
8: B-VOP (0:00:00.253)
9: P-VOP (0:00:00.420)
10: B-VOP (0:00:00.337)
11: B-VOP (0:00:00.378)
12: P-VOP (0:00:00.545)
13: B-VOP (0:00:00.462)
14: B-VOP (0:00:00.504)
15: P-VOP (0:00:00.670)
16: B-VOP (0:00:00.587)
17: B-VOP (0:00:00.629)
18: P-VOP (0:00:00.796)
19: B-VOP (0:00:00.712)
20: B-VOP (0:00:00.754)
21: P-VOP (0:00:00.921)
22: B-VOP (0:00:00.837)
23: B-VOP (0:00:00.879)
24: P-VOP (0:00:01.046)
25: B-VOP (0:00:00.962)
26: B-VOP (0:00:01.004)
27: P-VOP (0:00:01.129)
28: B-VOP (0:00:01.087)
29: P-VOP (0:00:01.213)
30: B-VOP (0:00:01.171)
31: P-VOP (0:00:01.296)
32: B-VOP (0:00:01.254)
33: P-VOP (0:00:01.379)
34: B-VOP (0:00:01.338)
35: P-VOP (0:00:01.504)
36: B-VOP (0:00:01.421)
37: B-VOP (0:00:01.463)
38: P-VOP (0:00:01.588)
39: B-VOP (0:00:01.546)
40: P-VOP (0:00:01.671)
41: B-VOP (0:00:01.630)
42: P-VOP (0:00:01.755)
43: B-VOP (0:00:01.713)
44: P-VOP (0:00:01.838)
45: B-VOP (0:00:01.796)
46: P-VOP (0:00:01.921)
47: B-VOP (0:00:01.880)
48: P-VOP (0:00:02.005)
49: B-VOP (0:00:01.963)
50: P-VOP (0:00:02.088)
51: B-VOP (0:00:02.047)
52: P-VOP (0:00:02.172)
53: B-VOP (0:00:02.130)
54: P-VOP (0:00:02.297)
55: B-VOP (0:00:02.213)
56: B-VOP (0:00:02.255)
57: P-VOP (0:00:02.422)
58: B-VOP (0:00:02.339)
59: B-VOP (0:00:02.380)
60: P-VOP (0:00:02.505)
61: B-VOP (0:00:02.464)
62: P-VOP (0:00:02.589)
63: B-VOP (0:00:02.547)
64: P-VOP (0:00:02.672)
65: B-VOP (0:00:02.630)
66: P-VOP (0:00:02.797)
67: B-VOP (0:00:02.714)
68: B-VOP (0:00:02.756)
69: P-VOP (0:00:02.922)
70: B-VOP (0:00:02.839)
71: B-VOP (0:00:02.881)
72: I-VOP (0:00:02.964)
73: P-VOP (0:00:03.089)
74: B-VOP (0:00:03.006)
75: B-VOP (0:00:03.047)
76: P-VOP (0:00:03.214)
77: B-VOP (0:00:03.131)
78: B-VOP (0:00:03.173)
79: P-VOP (0:00:03.339)
80: B-VOP (0:00:03.256)
81: B-VOP (0:00:03.298)
82: P-VOP (0:00:03.465)
83: B-VOP (0:00:03.381)
84: B-VOP (0:00:03.423)
85: P-VOP (0:00:03.590)
86: B-VOP (0:00:03.506)
87: B-VOP (0:00:03.548)
88: P-VOP (0:00:03.715)
89: B-VOP (0:00:03.631)
90: B-VOP (0:00:03.673)
91: P-VOP (0:00:03.840)
92: B-VOP (0:00:03.756)
93: I-VOP (0:00:03.000)
94: P-VOP (0:00:03.125)
95: B-VOP (0:00:03.041)
96: B-VOP (0:00:03.083)
97: P-VOP (0:00:03.250)
98: B-VOP (0:00:03.166)
99: B-VOP (0:00:03.208)
100: P-VOP (0:00:03.375)
101: B-VOP (0:00:03.291)
102: B-VOP (0:00:03.333)
103: P-VOP (0:00:03.500)
104: B-VOP (0:00:03.417)
105: B-VOP (0:00:03.458)
106: P-VOP (0:00:03.625)
107: B-VOP (0:00:03.542)
108: B-VOP (0:00:03.583)
109: P-VOP (0:00:03.750)
110: B-VOP (0:00:03.667)
111: B-VOP (0:00:03.708)
112: P-VOP (0:00:03.875)
113: B-VOP (0:00:03.792)
114: B-VOP (0:00:03.834)
115: P-VOP (0:00:04.000)
116: B-VOP (0:00:03.917)
117: B-VOP (0:00:03.959)
118: P-VOP (0:00:04.125)
119: B-VOP (0:00:04.042)
120: B-VOP (0:00:04.084)
121: P-VOP (0:00:04.251)
122: B-VOP (0:00:04.167)
123: B-VOP (0:00:04.209)
124: P-VOP (0:00:04.376)
125: B-VOP (0:00:04.292)
126: B-VOP (0:00:04.334)
127: P-VOP (0:00:04.459)
128: B-VOP (0:00:04.417)
129: I-VOP (0:00:04.501)
130: P-VOP (0:00:04.626)
131: B-VOP (0:00:04.543)
132: B-VOP (0:00:04.584)
133: P-VOP (0:00:04.751)
134: B-VOP (0:00:04.668)
135: B-VOP (0:00:04.709)
136: P-VOP (0:00:04.876)
137: B-VOP (0:00:04.793)
138: B-VOP (0:00:04.834)
139: P-VOP (0:00:05.001)
140: B-VOP (0:00:04.918)
141: B-VOP (0:00:04.960)
142: P-VOP (0:00:05.126)
143: B-VOP (0:00:05.043)
144: B-VOP (0:00:05.085)
145: P-VOP (0:00:05.251)
146: B-VOP (0:00:05.168)
147: B-VOP (0:00:05.210)
148: P-VOP (0:00:05.377)
149: B-VOP (0:00:05.293)
150: B-VOP (0:00:05.335)
151: P-VOP (0:00:05.460)
152: B-VOP (0:00:05.418)
153: P-VOP (0:00:05.585)
154: B-VOP (0:00:05.502)
155: B-VOP (0:00:05.543)
156: P-VOP (0:00:05.710)
157: B-VOP (0:00:05.627)
158: B-VOP (0:00:05.668)
159: P-VOP (0:00:05.835)
160: B-VOP (0:00:05.752)
161: B-VOP (0:00:05.794)
162: P-VOP (0:00:05.877)
The same stream re-built using the new version of MPEG4 Modifier lists all the frames in numerical order.... So it looks right :eek:
Cheers
Moitah
12th December 2005, 16:56
The "frame list" of the MPEG-4 stream muxed and de-muxed with MP4Box, misses the first two frames
These are 'delay' frames, DivX/XviD output them to let the encoding application know about delay introduced by B-frames, normally they aren't written to the file. I don't know why MP4Box puts them in the file.
SeeMoreDigital
12th December 2005, 17:03
These are 'delay' frames, DivX/XviD output them to let the encoding application know about delay introduced by B-frames, normally they aren't written to the file. I don't know why MP4Box puts them in the file.It's a curious thing indeed ;)
You see.... this is what happens when you give use lovely tools capable of writing frame lists :D
Thanks for working on the update...
Moitah
12th December 2005, 17:09
as i see it the first cut ends with a p-vop, right?
yeah i am dumb, but i still dont understand how skipping the b-vop is ok? :D
It's not okay, the output stutters at this point when I tested the sample file. But so does the original packed file with ffdshow (XviD seems to be fine). The file is already strange, and this is the best I can do with it.
Moitah
12th December 2005, 17:16
(Changelog is shown, but the download links on the webpage still say 1.3.2 though.)
Oops, forgot to change that :).
What is the effect of skipping the B-VOP? Won't that result in artefacting as well? What about audio-sync?
Yeah, the decoders I tried displayed a repeated frame in the output, but it doesn't cause any image distortion like it used to. I'm not sure about audio synch, I think it depends how it was cut.
You said previously that it is possible to detect an incorrectly unpacked file without the need for the source packed file. Would it be possible for you to provide a small tool for this, please? I'd like to get an overview how many of my files got affected and how bad the artefacting is. I was thinking in the lines of a command line tool that prints out timestamps for the problem locations so I know where to check visually. Would appreciate it very much! :)
Possibly, if it's not too much work.
Sectie.B
12th December 2005, 19:18
Moitah
Will you also be updating the command line version?
Moitah
12th December 2005, 19:41
Moitah
Will you also be updating the command line version?
Thanks for reminding me. I will do it today.
Moitah
12th December 2005, 19:58
Done, UnpackCL (http://forum.doom9.org/showthread.php?t=87516) 1.1.1 released.
Sectie.B
12th December 2005, 20:10
Talk about fast... just 40 minutes after my req.
:thanks:
Moitah
13th December 2005, 01:00
You said previously that it is possible to detect an incorrectly unpacked file without the need for the source packed file. Would it be possible for you to provide a small tool for this, please?
FindBadUnpack (http://www.moitah.net/download/latest/FindBadUnpack.zip)
It's a command line application, you pass it the path to the file you want to check, or you can give it a directory (leave off the trailing backslash) and it will check all AVI files inside (including subdirectories). If it finds a bad file, it will create "log.txt" in the same directory as the executable with a list of the frame numbers where each bad area starts.
Moitah
13th December 2005, 07:53
Removed support for files with packed bitstream containing real N-VOPs to simplify codeIf anyone does find a file with this, please let me know.
eXistenZ_69
13th December 2005, 08:53
@Moitah
Thank you so much for the MPEG4Modifier update as well as the
FindBadUnpack tool! You're awesome :)
Will, start using both today...
@others
Thanks for helping as well!
Greetz,
eXistenZ_69
eXistenZ_69
13th December 2005, 08:55
If anyone does find a file with this, please let me know.
How do I identify real N-VOPs?
Moitah
13th December 2005, 17:50
How do I identify real N-VOPs?
You will get an error message in 1.3.3. I removed the code because I don't know of any encoders that write real N-VOPs when packed bitstream is used. If someone finds an encoder that does this, I re-add support for it.
SeeMoreDigital
13th December 2005, 17:55
Hi Moitah,
Are you going to update this forum thread title?
Cheers
Moitah
13th December 2005, 18:11
Hi Moitah,
Are you going to update this forum thread title?
Cheers
I tried to a couple times, it won't completely change:
http://www.moitah.net/misc/d9titlechange.png
SeeMoreDigital
13th December 2005, 19:01
How odd...
That said, I've noticed the same, when trying to amend some old posts in the Hardware Players section of the forum too!
I ended up having to make up a short title first, save it. Open it again and then write the title I actually wanted, second time around :)
Cheers
Moitah
13th December 2005, 20:09
@Moitah
Thank you so much for the MPEG4Modifier update as well as the
FindBadUnpack tool! You're awesome :)
Will, start using both today...
You're welcome. Can you tell me how many bad files you find? I'm just curious.
bond
14th December 2005, 00:03
If anyone does find a file with this, please let me know.no need to worry, there is no encoder using packed bitstream plus real n-vops
still this doesnt mean syskin will not change that in xvid somewhen ;)
Moitah
14th December 2005, 00:20
no need to worry, there is no encoder using packed bitstream plus real n-vops
still this doesnt mean syskin will not change that in xvid somewhen ;)
Oh, good. I don't mind adding it back if that ever happens, but it was in my way for that last bugfix, and I didn't feel like messing with it if the code isn't even being used.
eXistenZ_69
14th December 2005, 16:08
Been experimenting with the new MPEG4Modifier 1.3.3 and just found a packed bitstream encode with real N-VOPs (at least the error message says so) :eek:
55178: I-VOP (0:38:13.000)
55179: P-VOP (0:38:13.125)
B-VOP (0:38:13.041)
55180: B-VOP (0:38:13.083)
55181: N-VOP(D) (0:38:13.125)
55182: P-VOP (0:38:13.250)
B-VOP (0:38:13.166)
55183: B-VOP (0:38:13.208)
55184: N-VOP(D) (0:38:13.250)
55185: N-VOP (0:38:13.291)
55186: I-VOP (0:38:13.333)
Moitah
14th December 2005, 16:38
Been experimenting with the new MPEG4Modifier 1.3.3 and just found a packed bitstream encode with real N-VOPs (at least the error message says so)
Wow, I wasn't expecting that. I wonder which encoder produced this, can you tell me what the "user data" is?
Moitah
14th December 2005, 17:43
After checking some files I had, I found one also:
8972: P-VOP (0:06:13.875)
B-VOP (0:06:13.792)
8973: B-VOP (0:06:13.834)
8974: N-VOP(D) (0:06:13.875)
8975: N-VOP (0:06:13.917)
8976: I-VOP (0:06:13.959)
The user data is marked XviD0038. So it looks like I have some more work to do.
bond
14th December 2005, 18:25
The user data is marked XviD0038. So it looks like I have some more work to do.is that an old version of xvid?
there was once a bug in xvid which made using the frame drop ratio option (placing real n-vops) possible together with b-frames, but it was creating borked streams, which caused syskin to fix it by simply disabling the framedropratio settings when using b-frames
so i wouldnt assume that such streams make much sense
Moitah
14th December 2005, 18:34
is that an old version of xvid?
there was once a bug in xvid which made using the frame drop ratio option (placing real n-vops) possible together with b-frames, but it was creating borked streams, which caused syskin to fix it by simply disabling the framedropratio settings when using b-frames
so i wouldnt assume that such streams make much sense
I think it's one of the 1.1 betas. I asked sysKin on IRC and he said 1.1 might insert them even when B-VOPs are used. I am doing some encoding right now to see if I can reproduce this.
celtic_druid
14th December 2005, 18:40
1.1beta1 throught till but not including beta2 or xvid.h v1.48 and 1.49.
I would still have all my old builds from that period (16 Jan 2005 -->04 Apr 2005) if anyone wants them.
Six builds including 1.1beta1.
eXistenZ_69
14th December 2005, 19:03
Wow, I wasn't expecting that. I wonder which encoder produced this, can you tell me what the "user data" is?
User Data: DivX999b000p, XviD0038
Packed bitstream: Yes
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Square pixels
Quant type: H.263
I-VOPs: 693 (1,07%)
P-VOPs: 23569 (36,37%)
B-VOPs: 40540 (62,56%)
S-VOPs: 0 (0,00%)
N-VOPs: 1 (0,00%)
Max consecutive B-VOPs: 2
1 consec: 24,33%
2 consec: 75,67%
Moitah
14th December 2005, 19:25
I was able to create a file like this using celtic_druid's latest CVS build (2005-Dec-10). It doesn't happen often, but it does (right before I-VOPs from what I've seen), and it's not a bug. I will fix MPEG4 Modifier very soon.
Moitah
15th December 2005, 04:21
1.3.4 released. It better work :D.
EDIT: UnpackCL just updated as well.
SeeMoreDigital
15th December 2005, 10:20
There's just no stopping the man.... he's on a roll :D
Thanks mate
eXistenZ_69
15th December 2005, 10:32
Excellent, will check out the new version later today...
Thanks,
eXistenZ_69
eXistenZ_69
22nd December 2005, 01:32
Finally got around to testing the new 1.3.4 version, as far as I can tell it works great. Problem cases behave much better now on my pc and stand-alone player, no more visual artefacting :) Sometimes a slight jerk is noticable, but that's as good as it gets I guess since the original packed files have an invalid bitstream. The file with real N-VOPs I have, got nicely unpacked as well.
So big thanks to you, Moitah :thanks:
Moitah
22nd December 2005, 04:54
@eXistenZ_69: You're welcome, thanks for testing.
trooper11
27th December 2005, 04:17
First Id like to say thanks alot for this tool. I use it mostly to check wether my avi anime files use GMC or QPEL so I coudl play them back on a divx/xvid player.
I did have a question though. Unfortunately, I foudn that some of my anime wont work with this tool and I get the error message that they are OpenDML types. I know you dont support that, but is there anyway to re-encode the file or just edit it so its not opendml? thanks
celtic_druid
27th December 2005, 07:23
Don't know if it supports ODML or not, but avicheck would tell you if a file uses qpel or GMC much quicker if that is all you want.
SeeMoreDigital
27th December 2005, 11:33
Don't know if it supports ODML or not, but avicheck would tell you if a file uses qpel or GMC much quicker if that is all you want.Agreed.... for a Sigma product it's pretty good ;)
olnima
27th December 2005, 12:56
First Id like to say thanks alot for this tool. I use it mostly to check wether my avi anime files use GMC or QPEL so I coudl play them back on a divx/xvid player.
I did have a question though. Unfortunately, I foudn that some of my anime wont work with this tool and I get the error message that they are OpenDML types. I know you dont support that, but is there anyway to re-encode the file or just edit it so its not opendml? thanks
...open the file in VirtualDub and save it with DirectStreamCopy-mode for Audio and Video. Maybe You have to save it with the "save old format avi"-option.
Olnima
trooper11
1st January 2006, 19:10
ok i was able to do that and it fixed the problem, but i had another question about the program itself.
what im wanting to do is resize my xvid/divx videos so that subs display properly. i have made several test runs by using a custom Pixel AR, but the results dont vary as I would expect when i try different values.
the source is 640x480 so ive tried 600x450, 580x435, and a few other non 1.333:1 values. The strange thing is that when i view them on my dvd player on the tv, everything looks the same , squished a bit too much. 600x450 is the only one that looks fine, but its just a little too wide and the subs still get cut a bit. I cant fine tune it anymore then that.
would i have to add borders to correct the issue properly, or do i need to do something else in the program to resize properly?
trooper11
4th January 2006, 06:21
is this an issue i can fix using the program?
celtic_druid
4th January 2006, 10:13
If you are talking about hard subs being cut off by overscan, then yes you need to add borders. I just changing the AR could stop the subs from being cut, but then you are compressing the image vertically.
nix0
25th January 2006, 13:57
I'd been searching for how to do batch unpacks and read this thread about peoplee using the command line option. In another search I found this
http://sibit.si/directsub/Mpeg4ModifierMod.1.3.4.zip
That modifies the GUI to add a directory select button for batch processing.
I'm glad the N-vop glitch was sorted - had the odd occurrance of this (on TV encodes usually) when I had 1.3.0.
Thanks Moitah for a great app
Moitah
25th January 2006, 23:51
Check out Gambit's GUI for UnpackCL (http://forum.doom9.org/showthread.php?t=102073) also.
nix0
30th January 2006, 21:37
Thanks, will check it out.
As Mpeg4Modifier doesn't handle openDML I'd been using Avidemux (http://avidemux.sourceforge.net/) for those instances (though as its primarily a Linux tool the windows implementation isn't as slick), though I've just recently seen dimitrik's tip (http://forum.doom9.org/showthread.php?p=667246#post667246) on using virtualdub with direct stream copy. Is OpenDML support something that will come (maybe the avidemux code would be useful), though it tends to be older files so maybe its relevance isn't so great?
Moitah
31st January 2006, 06:22
Is OpenDML support something that will come
Doubtful.
Appu
31st January 2006, 13:47
Hi,
How are you checking GMC or qpel is present in the stream?. Just by checking VOL header or do you parse further till macroblock level to find out the required motion vectors are present?..
I am trying to find a tool which provied these info and which can deal with corrupted/wrong VOL header parameters..
regards,
Appu.
Moitah
31st January 2006, 19:35
@Appu: QPel is determined from the VOL. But for GMC I actually do check the VOP, because DivX reports more warping points than it actually uses in the VOL.
SeeMoreDigital
23rd February 2006, 19:00
Hi there,
I've just been over to DivX's HD web site and downloaded their Thank You For Smoking (http://www.divx.com/movies/detail.php?movieID=74&cID=3) trailer.
When I ran it thru' MPEG Modifier it detects it as having just 4No B-VOP's.... Can this be correct?
Cheers
Moitah
27th February 2006, 05:40
That is rather strange, but it looks correct. If you check out the frame list, they're all in the same area, and there are dummy N-VOPs to go along with them:
3016: N-VOP(D) (0:02:05.791)
3017: P-VOP (0:02:05.874)
B-VOP (0:02:05.833)
3018: N-VOP(D) (0:02:05.874)
3019: P-VOP (0:02:05.958)
B-VOP (0:02:05.916)
3020: N-VOP(D) (0:02:05.958)
3021: P-VOP (0:02:06.041)
B-VOP (0:02:05.999)
3022: N-VOP(D) (0:02:06.041)
DFKT
27th March 2006, 02:25
Sorry if this question already came up in this thread, but i couldn't find the information: Does MPEG4 Modifier work on DivX3 files generally?
I tried two old DivX3's with wrong aspect ratio and M4M complained about them not being valid MPEG4 video (startcode not found at beginning of frame).
Elias
27th March 2006, 02:58
Sorry if this question already came up in this thread, but i couldn't find the information: Does MPEG4 Modifier work on DivX3 files generally?
I tried two old DivX3's with wrong aspect ratio and M4M complained about them not being valid MPEG4 video (startcode not found at beginning of frame).No. DivX3 is not MPEG-4 ISO compliant.
DFKT
27th March 2006, 03:00
So the chances that MPEG4 Modifier will support DivX3 in the future are slim?
Elias
27th March 2006, 03:02
So the chances that MPEG4 Modifier will support DivX3 in the future are slim?Nonexistent. What is there to support anyway? Support for DivX3 died out a long time ago. It's a hack after all.
celtic_druid
27th March 2006, 03:38
There is a modified version of ffmpeg that can convert (not re-encode) DivX3 to MPEG-4. After that it will work with MPEG4Modifier.
Elias
27th March 2006, 09:31
There is a modified version of ffmpeg that can convert (not re-encode) DivX3 to MPEG-4. After that it will work with MPEG4Modifier.I've read this before, but never gotten a link to any software that can do this.
squid_80
27th March 2006, 10:14
Sigh. :search:
http://forum.doom9.org/showthread.php?t=85229
DFKT
27th March 2006, 14:14
Great - thanks for your help, people!
I'll try it ASAP.
My DivX3 movies are of some historical/archaeological value to me, and in backing them up on DVD I'd like to have them at least in a correct aspect ratio (can't do anything against the sucky video-quality), so I don't have to re-correct it in MPC/VLC all the time while viewing...
EDIT: It worked fine, those nifty tools that can be found here in this forum are amazing!
Elias
27th March 2006, 14:16
Sigh. :search:
http://forum.doom9.org/showthread.php?t=85229It's not like I haven't seen that thread before. In fact, I've even posted in it. Still, that DivX3toMPEG4 tool isn't working.
celtic_druid
27th March 2006, 14:46
Worked when I tried it some time ago. A few artifacts so it could probably do with some work, but overall it worked fine.
Elias
27th March 2006, 14:46
Worked when I tried it some time ago. A few artifacts so it could probably do with some work, but overall it worked fine.I must have used it incorrectly then.
olnima
10th April 2006, 13:43
Are there any commandline-switches in "MPEG4Modifier 1.34" to set (Pixel/Display-) AR and save changed avi-file? If not, would someone be so kind to add them?
Thanks
Olnima
ReinerSchweinlin
17th April 2006, 14:18
download-mirror is here:
http://www.hardware-test.de/doom9/ffmpeg-mstomp4.rar
_ck_
18th April 2006, 17:27
I have an idea, how about the ability to actually remove n-vops without re-encoding right in the tool?
Perhaps this is possible to do
because the 3ivx directshow filter can do it:
http://www.3ivx.com/support/tbd_451.html
read at the bottom:
The 3ivx DirectShow Media Muxer can be used to remove NVops from an already coded bitstream
The reason why n-vops need to be removed is that they cause some
hardware players to get the audio out of sync. Apparently this is true,
it's not a vbr vs cbr issue or a packed bitstream issue. For every
n-vop, the audio will slowly get out of sync. You can read about that here:
http://www.jarnot.com/twiki/bin/view/Public/DVP642LisaBsAVIGuide?skin=print.pattern
N-VOPs - This is the rather interesting thing I discovered, that, to my knowledge, no one else has discovered. The Philips 642 seems not to recognize N-VOPs...in other words, it just skips right over them. This leads to audio synch problems. The audio can be brought back in synch by fast forwarding or rewinding a few frames, but then it will go back out of synch the next time it encounters more N-VOPs.
I experience this very problem from time to time on my dvp642
(which is one of the most popular divx/xvid players in the usa)
Perhaps you can make a checkbox to remove n-vops by duplicating the
previous or next frame available?
ReinerSchweinlin
18th April 2006, 17:30
correct me if I#m wrong, but isn´t that exactly what mpeg4modifier and it´s cli counterpart does? See link above.
celtic_druid
18th April 2006, 17:58
3ivX would be removing when remuxing to mp4/mov. mp4box can do the same. Doesn't help for avi though since it doesn't support VFR.
No problems with N-VOP's here on my MTK based standalone. Just another reason not to by an ESS based player.
_ck_
18th April 2006, 18:16
correct me if I#m wrong, but isn´t that exactly what mpeg4modifier and it´s cli counterpart does? See link above.mpeg4modifier does not remove nvops from already non-packed bitstreams from what I have experiemented with - though it does detect them better than any other tool including gspot, etc.
I may be misunderstanding something but from what I am seeing, it IS possible to have a bitstream that is not packed yet still has nvops and causes this sound sync issue?
Here is a screenshot of the situation existing:
http://img104.imageshack.us/img104/3167/nvop14ki.th.png (http://img104.imageshack.us/my.php?image=nvop14ki.png)
and sure enough the sound slowly goes out of sync on that video
3ivX would be removing when remuxing to mp4/mov. mp4box can do the same. Doesn't help for avi though since it doesn't support VFR.
No problems with N-VOP's here on my MTK based standalone. Just another reason not to by an ESS based player.Well some hardware players don't even care about QPEL or GMC but that doesn't mean it's not a good idea to avoid/remove it ;)
I'm still going to hope someone can come up with a way to remove/replace nvops without re-encoding...
ps. where can I find a list of non-ESS hardware players?
SeeMoreDigital
18th April 2006, 18:21
ps. where can I find a list of non-ESS hardware players?Here's a place where you can start your player search: -
http://forum.doom9.org/showthread.php?t=91616
And try using the forums "search" facility ;)
dukey
19th April 2006, 04:22
my player has this problem exactly
'N-VOPs - This is the rather interesting thing I discovered, that, to my knowledge, no one else has discovered. The Philips 642 seems not to recognize N-VOPs...in other words, it just skips right over them. This leads to audio synch problems. The audio can be brought back in synch by fast forwarding or rewinding a few frames, but then it will go back out of synch the next time it encounters more N-VOPs. '
Its a yamada player tho, its pretty old. No idea what chipset.
squid_80
20th April 2006, 09:06
I'm still going to hope someone can come up with a way to remove/replace nvops without re-encoding...
Would you be able to post a small .avi file that exhibits the problem somewhere?
celtic_druid
20th April 2006, 09:18
I wouldn't call it a problem. Decoders that can't handle N-VOP's are the problem. XviD only drops frames when two are 100% identical.
Here's a clip anyway.
I-VOPs: 1 (1.00%)
P-VOPs: 1 (1.00%)
B-VOPs: 0 (0.00%)
S-VOPs: 0 (0.00%)
N-VOPs: 98 (98.00%)
http://celticdruid.no-ip.com/test/nvop.avi
Without n-vops XviD would have had to encode 99 P-VOP's even though it is just 100 identical frames. Only does it when bframes aren't enabled to, which I guess would be hard to avoid in _ck_'s case since DXN doesn't allow interlaced content and B-VOP's.
edit: I guess not being about to disable N-VOP's even for 100% identical frames could be seen as a problem. ie. qpel isn't a problem since you can disable it if you want.
squid_80
20th April 2006, 12:50
Well if you did want to change N-VOPs into coded P-VOPs, you'd have to:
a) change the VOP header from not coded to coded
b) insert a run of binary 1s of length equal to (number of macroblocks)-1 followed by a 0
c) pad with 1s to the next byte boundary (I think)
d) adjust the avi headers and index
Unfortunately I don't have time to write something to do it right now.
_ck_
20th April 2006, 17:02
Yeah that example was a mpeg2 interlaced with a quick'n'dirty re-encoding to mpeg4, (attempting to) preserve interlace. But of course the interlace has nothing to do with the nvop problem. The capture source obviously caused the problem by inserting duplicate frames to try to stay in sync (possibly when unavoidably dropping real frames, hardware lag, etc)?
Not sure if it's a good idea to post it as a clip publically but it looks like the problem is at least understood anyway?
You short-circuited my brain on what little I do know about mpeg4 format with your technical solution but I look forward to one day when you do have the time to tackle it ;)
I am very grateful for any tools created to fix this issue without re-encoding, so many thanks whenever you finally get the chance...
SeeMoreDigital
20th April 2006, 20:24
I wouldn't call it a problem. Decoders that can't handle N-VOP's are the problem. XviD only drops frames when two are 100% identical.
Here's a clip anyway.
I-VOPs: 1 (1.00%)
P-VOPs: 1 (1.00%)
B-VOPs: 0 (0.00%)
S-VOPs: 0 (0.00%)
N-VOPs: 98 (98.00%)
http://celticdruid.no-ip.com/test/nvop.avi
Without n-vops XviD would have had to encode 99 P-VOP's even though it is just 100 identical frames. Only does it when bframes aren't enabled to, which I guess would be hard to avoid in _ck_'s case since DXN doesn't allow interlaced content and B-VOP's.
edit: I guess not being about to disable N-VOP's even for 100% identical frames could be seen as a problem. ie. qpel isn't a problem since you can disable it if you want.Hi CD,
I would like to conduct some more "hardware playback" tests with MPEG-4 SP N-VOP encodes.
Could you please generate a 30 second (or so) sample please?
Cheers
_ck_
21st April 2006, 06:59
I will attempt to find/create a clip that is suitable for open posting by tomorrow...
_ck_
21st April 2006, 08:49
Okay I found/made a clip that must be public domain because it's on the internet archive video sharing section.
It's packed bitstream with three n-vop's that also remain after the clip is unpacked.
http://rapidshare.de/files/18549148/test3.avi.html
(scroll down the bottom right and click the button that says "free")
Since the video has stills with a talking head inbetween them, it's good for watching the video get out of sync by the end of the clip on the dvp642 too (the audio is cbr).
Are the n-vop's created because of the stills?
The content is therefore indentical from frame to frame?
I hope this helps the cause!
celtic_druid
21st April 2006, 10:23
What build of XviD are you using? Even with 100 identical frames I get 0 N-VOP's with bframes enabled.
http://celticdruid.no-ip.com/test/nvoptest.7z
29.88 secs of test pattern, a white flash with a sound followed by 29.88 secs of test pattern. If N-VOP's cause audio sync, then the sound should be well off from the white flash.
Playsback perfectly on my player, including the correct AR.
squid_80
21st April 2006, 10:37
The reason you don't see them often when b-frames are used is because they can only occur on consecutive p-frames. If the difference between frames is small (such as when they're identical) frametype decision usually chooses b-frame, unless it doesn't have a choice like at the end of GOP. This seems to be the case with _ck_'s test clip, the n-vops occur right before I frames i.e. at the end of a GOP.
celtic_druid
21st April 2006, 10:47
Got one by re-encoding the clip.
744: P-VOP (0:00:29.840)
745: B-VOP (0:00:29.760)
746: B-VOP (0:00:29.800)
747: N-VOP (0:00:29.880)
748: I-VOP (0:00:29.920)
Follows two bframes though, not pframes.
squid_80
21st April 2006, 10:48
Nope... Look at the display times.
SeeMoreDigital
21st April 2006, 10:51
....29.88 secs of test pattern, a white flash with a sound followed by 29.88 secs of test pattern. If N-VOP's cause audio sync, then the sound should be well off from the white flash.
Playsback perfectly on my player, including the correct AR.Thanks mate,
I required your clip to use as a cross reference source for checking YAMB 1.6....
Cheers
_ck_
21st April 2006, 10:56
My xvid codec says "20:18:22 Dec 30 2005 xvidcore.dll 1.1.0 koepis vanilla CVS build"
I have dual core x2 if that might matter somehow bug-wise.
celtic_druid
21st April 2006, 11:22
Ok so,
741: P-VOP (0:00:29.720)
745: B-VOP (0:00:29.760)
746: B-VOP (0:00:29.800)
744: P-VOP (0:00:29.840)
747: N-VOP (0:00:29.880)
So, P,B,B,P,N
_ck_
21st April 2006, 11:30
29.88 secs of test pattern, a white flash with a sound followed by 29.88 secs of test pattern. If N-VOP's cause audio sync, then the sound should be well off from the white flash.
Playsback perfectly on my player, including the correct AR.
Remember, the n-vop audio sync is an ESS issue.
You said your player is MTK chip based so it doesn't suffer.
celtic_druid
21st April 2006, 11:48
Well I know it doesn't suffer under normal circumstances, but that was a whole lot of N-VOP's so I had to see if it made any difference.
People with other chipsets (ESS, Zoran, SunPlus, Sigma, etc.) might want to try.
SeeMoreDigital
21st April 2006, 12:29
...People with other chipsets (ESS, Zoran, SunPlus, Sigma, etc.) might want to try.You'll have to provide another N-VOP "test sample" without Q-PEL if you want ESS stand-alones to try ;)
Cheers
SeeMoreDigital
21st April 2006, 19:48
I think it's time I re-generated all of my MPEG-4 "test cards" from my PNG stills.
What front encoder and XviD settings are you using?
Please PM me if you wish!
Cheers
_ck_
21st April 2006, 20:03
Exactly! I wasn't able to play the original test sample cause it had qpel :(
I tried re-encoding but all the n-vop's went away, lol.
Virtualdub can build a clip from a series of stills, if you are asking?
SeeMoreDigital
21st April 2006, 22:31
Virtualdub can build a clip from a series of stills, if you are asking?So I've heard... Sadly I've never been able to work out how to do this though :eek:
Cheers
dukey
22nd April 2006, 00:42
my player has a cardiac arrest when u give it n-vops
regardless of packet bitstream etc.
Got some 24 eps, where theres a whole bunch of black frames, and sound goes outa sync by seconds when this happens lol.
_ck_
22nd April 2006, 04:52
So I've heard... Sadly I've never been able to work out how to do this though :eek:
Wow something I know you don't, heh... happy to help:
Virtualdub can read a series of numbered images as a video stream:
(they have to be numbered, ie. abc001.png abc002.png etc)
use File > Open video file... and select the first image
VirtualDub will then automagically step the filename and find
any sequentially numbered frames after the starting file.
(You need at least version 1.6.2 to load png/jpg's)
Once the sequence has loaded, use Video > Frame Rate to set the desired frame rate for the sequence.
ps. I like your icon - "the prisoner" was an awesome show (though confusing at times)
I have a problem with packed bitstream. I made a rip (by XviD 1.1.0) with 1 B-frame and packed bitstream on. Unfortunately, I made a mistake: wrong pixel aspect ratio in XviD settings. Then, I tried to correct PAR by MPEG4Modifier without unpack bitstream. But resulting video is playing jerky (under XviD directshow decoder) - only I- and P-frames are playing, B-frames are ignored; and strange chaotic movements of color also occur. Of course I can repeat whole rip with correct PAR setting, but I want to know where bug is...
Edit: Seems to be that was my mistake: together with changing PAR, I removed user data (two lines: "DivX503b1393p" and "XviD0041") accidentally. I repeated MPEG4Modifier (changed PAR but leaving user data intact) and resulting video looks OK, no jerkiness, no migrations of color.
Just a minor wish for a future version, could you please repeat the "user data" and perhaps add the fourcc code to the "video info" summary? Total frame count might be helpful too?
I'd love someone to take the multiple file mod version and make that video info do a tabular output with a new line for each file in summary.
weaver4
15th May 2006, 14:12
Quick Question.
Will MPEG Modifier "normilize" audio in a avi file?
If not does anyone know of a program that will?
Thubb
18th May 2006, 14:21
Hi,
i ported this excellent program to java. I wrote a mail to Moitah about that but he didn´t answer yet...
So i release the source and executables here, maybe someone is interessted in this...
Inside the attached zip file you find the following files:
- Directory MPEG4Modifier: contains the source as netbeans v5.0 project
- MPEG4Modifier.jar: selfexecuting jar-file. GUI and commandline ready. should run on all java-supported OSes
- JavaMPEG4Modifier.exe: windows GUI-only executable, made with the exe-wrapper JSmooth
- JavaMPEG4ModifierCL.exe: windows CommandLine-only executable, made again with JSmooth. Supports directories (it searches for *.avi files) and single avi-files to be unpacked only.
Notes:
1. if you use the jar-file u have to run it manually with the following switches:
java -jar -Xms128m -Xmx256m MPEG4Modifier.jar
If you don´t do this you will most probably get an OutOfMemoryException with larger video-files. The windows executables don´t need this, it is done automatically!
2. CommandLine works by providing a absolute path to a file or directory. I.e. JavaMPEG4Modifier.exe c:\\videos\\video.avi or JavaMPEG4Modifier.exe c:/videos
3. In commandline-mode you have to be aware to use either "\\" for a single "\" or use "/" for the path instead
Regards
Download (http://home.arcor.de/thubb/JavaMPEG4Modifier.zip)
loosenut
21st May 2006, 21:11
Cool.
Only thing I'd like to see added is a way to unpack multiple files in one go.
ReinerSchweinlin
23rd May 2006, 12:52
There is a frontend für universal-gui and also a gui-version of this. use the search, i don´t have the links right here for I am not at home right now, sorry.
DrNein
26th May 2006, 19:10
Thanks for the java version (not keen on .net).
I have a 1.82:1 (640x352) video which should be 2.35:1 to display correctly. However, when the DAR is changed to 2.35:1, the playback stretches horizontally to match the height rather than shrinking the vertical and thus loses quality by blowing up the image.
To correct, the player must be zoomed in to 0.77 x 0.77. Of course this makes the modification useless since the display could have been corrected in the first place by zooming to 1.00 x 0.77 but the object is to avoid having to do so.
Video is DivX4, decoder is libavcodec via fddshow and players MPC and VLC. I tried another incorrect AR video with the same result. I tried MPC with the DivX decoder and it did not use the DAR. Where am I going wrong?
idbirch2
28th May 2006, 16:31
This app is exactly what I was looking for but it says it doesn't support OpenDML files. Googling this tells me this is AVIs that are over 2GB in size. I have a huge AVI file, about 8GB, and it contains both an AC3 and DTS soundtrack. I don't have any DTS kit so want to strip the DTS out. Does anybody know what program I could use to do this?
Thanks.
edit: I found the answer, it was VirtualDub Mod, this allowed me to disable the DTS track and then save as a new AVI.
DrNein
30th May 2006, 19:29
I find it hard to believe this is how DAR is supposed to work and/or that no one else has noticed?
SeeMoreDigital
30th May 2006, 19:32
Video is DivX4, decoder is libavcodec via fddshow and players MPC and VLC. I tried another incorrect AR video with the same result. I tried MPC with the DivX decoder and it did not use the DAR. Where am I going wrong?As far as I'm aware... it's not possible to add/change "aspect ratio signalling" to DivX 4 MPEG-4 streams!
EDIT: I did some tests yesterday and it would seem it is possible to add/change "aspect ratio signalling" to DivX 4 MPEG-4 streams!
That said, I'm not sure whether DivX's own DSdec supports AR signalling detection, in the same way FFdshow and XviD's DSdecs do!
Cheers
InsulinJunkie
31st May 2006, 05:10
I have a 1.82:1 (640x352) video which should be 2.35:1 to display correctly. However, when the DAR is changed to 2.35:1, the playback stretches horizontally to match the height rather than shrinking the vertical and thus loses quality by blowing up the image.
That would seem to me to be the expected behavior.
If you set the video to have a 2.35:1 or 16:9 ratio, you're indicating that the file is horizontally squished and needs to be 'stretched out'...
DrNein
31st May 2006, 06:07
DivX 4 & 5 both behave the same when the DAR is set.
A 640x352 video with the DAR set to 2.35 is then displayed as if it is 828x352 but of course the resolution isn't there. It seems to me it should be displayed as if it is 640x272 to maintain the quality (or even enhance as original was anamorphic)? I certainly know the horizontal resolution is not 828, but rather 640 as the file properties show so only the vertical can be wrong.
InsulinJunkie
31st May 2006, 06:34
A 640x352 video with the DAR set to 2.35 is then displayed as if it is 828x352 but of course the resolution isn't there.
To use the example of a DVD:
A 2.35:1 anamorphic NTSC 720x480 DVD actually would be encoded with approx. 360 lines of vertical resolution (the rest would be black bars to fit the 1.78 widescreen TV, with the 16x9 flag set).
On playback on a 16x9 TV, it then gets stretched out horizontally to fill the screen if the 16x9 flag is set. That's the type of usage the AR flags are intended for, generally. You squish the picture to max out the available resolution on the DVD, and you need a way to get it back to its normal AR.
(By comparison, that same 2.35:1 movie, but letterboxed and NOT anamorphic, would be encoded for DVD with approx. 272 lines of vertical resolution, with the rest needed for black bars - since a non-anamorphic movie would have the 4x3 flag set and need to be 'scrunched' rather than 'stretched')
karellen
31st May 2006, 11:00
Hi,
i ported this excellent program to java. ....
Nice work!
I can confirm it works on Intel Macs.
I can finally get rid of my old Powerbook now - no more wating for a Universal version of mono that will run the command line version.
eXistenZ_69
4th July 2006, 13:56
@Moitah
Hi Moitah,
is MPEG4Modifier compatible with .NET v2.0? Your site only mentions v1.1 and I would hate to see that installing the new .NET version on my pc makes your program become unusable or behave abnormally...
Greetz,
eXistenZ_69
SeeMoreDigital
4th July 2006, 14:06
I have just .NET version 2 installed... works fine here ;)
Moitah
5th July 2006, 02:30
@eXistenZ_69: Both v1.1 and v2.0 of the .NET Framework can be installed at the same time. This is how it is on my computer and it works fine. If you were to only have v2.0 installed, it should still work, but some people have told me that it doesn't (it worked for me when I tried it on another computer in my house).
Moitah
31st July 2006, 01:50
Good news. I have OpenDML support working in MPEG4 Modifier. This involved completely rewriting the AVI handling code. It's also able to read incomplete AVIs and even rebuild the index including keyframe flags. I'm not quite ready to release it yet, but soon. It will require the .NET Framework 2.0 (instead of 1.1 like the current version).
ReinerSchweinlin
31st July 2006, 07:32
good news, indeed!!
SeeMoreDigital
31st July 2006, 17:11
That's amazingly good news ;)
Not wanting to sound ungrateful... but at sometime in the future will there any possibility of including MP4 container support too?
Cheers
Moitah
31st July 2006, 17:24
at sometime in the future will there any possibility of including MP4 container support too?
Probably not.
SeeMoreDigital
31st July 2006, 20:13
Probably not.I hope you understand.... I had to ask though ;)
cjaar
3rd August 2006, 10:44
Sometime back i saw a post explaining with pictures like how to set the correct AR using mpegmodifier, explaning with the help of gspot and a video cap also... now am not finding it here...
can any1 find that post ?
Nevermid: got it
http://forum.doom9.org/showthread.php?t=107039&highlight=Aspect+ratio+conversion+16%3A9+to+4%3A3
thanks
cjaar
Moitah
4th August 2006, 05:28
1.4.0 released, see my site or the first post of this thread. Needs .NET Framework 2.0 instead of 1.1 like the older versions, if you don't have it get it here: x86 (http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5) or x64 (http://www.microsoft.com/downloads/details.aspx?FamilyID=b44a0000-acf8-4fa1-affb-40e78d788b00).
EDIT: The feature to add packed bitstream hasn't been tested much, use it with care. The checkbox is enabled even if the video doesn't have B-VOPs, I think I'll release another version sometime to fix that.
olnima
4th August 2006, 13:06
A big big thank You Moitah !!!
I modified the new Version a bit (and it's really only a little bit):
After successfull saving a file the user is asked to delete the source-file. (I don't want to keep the original one after modifying).
The initial directory to open files is the one given in the icon as the working dir. (or the path where MPEG4Modifier is, when starting it by doubleclick on the .exe), the initial directory to save files is the same dir then the source-file-path.
If it's OK for You (Moitah) and somebody wants to have it, post here.
Thanks again
Olnima
SeeMoreDigital
4th August 2006, 13:13
Hi Moitah,
It's only a small request but is there any chance of creating an "icon" for MPEG4 Modifier?
Moitah
4th August 2006, 19:58
Looks like there's a bug when packing files that contain N-VOPs, don't pack files with N-VOPs until I get it fixed.
Moitah
5th August 2006, 03:40
1.4.1 released.
bond
5th August 2006, 12:34
moitah, i have heard that latest divx doesnt use fake n-vops anymore with packed bitstream. is this true? and if yes, do you use fake n-vops?
Moitah
5th August 2006, 15:05
moitah, i have heard that latest divx doesnt use fake n-vops anymore with packed bitstream. is this true?
I don't think so. I just tested by making an encode with DivX 6.2.5 and there were fake N-VOPs in it.
squid_80
6th August 2006, 17:18
Any thoughts on the topic of removing real n-vops (http://forum.doom9.org/showthread.php?p=815975#post815975), now that you've got nice avi rewriting code?
Moitah
6th August 2006, 19:16
I'll look into it.
Sectie.B
10th August 2006, 14:48
Moitah
:thanks: for this new version!
Any chance you will also update the command line version?
nix0
13th August 2006, 01:20
thanks, I just need to hope the modified version appear updated now. I often want to do a whole directory at a time, which the mod version ads. Yes I realise that the CL version can do this but it adds the risk that files are deleted if anything is wrong (has happened) where as the mod version saves as a new file (with _U appended to know which is which)
god2003
13th August 2006, 12:20
nix0 Mpeg4Toolkit is updated with Moitah's Mpeg4 Modifier 1.41. You can use it to process directories and more.
Downloads and more info at:
http://dark-g.sourceforge.net/
P.D. The program is described here:
http://forum.doom9.org/showthread.php?t=113637
nix0
14th August 2006, 00:44
thanks god2003, thats excellent - just what I wanted. :thanks:
thuongshoo
21st August 2006, 05:49
Unfortunately,I testd this program with 4 file AVI but DAR till remains . I don't know why reason is
SeeMoreDigital
21st August 2006, 09:03
Unfortunately,I testd this program with 4 file AVI but DAR till remains . I don't know why reason isWe'll need more information than this!
Are you playing your MPEG-4 files in a software or hardware player. If so which one(s)?
What's the resolution of your MPEG-4 files?
Do your MPEG-4 files contain any black mattes/bars?
....will do for starters!
Sumsebiene
5th September 2006, 04:15
Sorry if i am totally wrong in this thread but i am totally noob in such questions :X. I was just looking for a tool for changing the aspect ratio of a video file (no illegal it was recorded from a tv card by me) which is 544x576 (really ugly) to a nice 16:9 which it would be normally. So i didn't use virtual dub for this because it wouldn't be possible without recompressing the video file which would also mean a loss in quality and the video quality is even now bad enough. So I searched the whole web and finally found this thread combined with this tool. (again sorry if i am wrong and the tool has nothing to do with this). I have net.framework 2.0 and the latest version of this program but i tried every option pixel aspect ratio - display aspect ratio different options enabled/disabled but nothing will change the aspect ratio. What am i doing wrong ?
The video file is xvid encoded.
If this tool won't be able to help me it would be really great if you could tell me a way how i could resize my video without any quality loss (=reencoding).
Thx for reading
yours
Joshua
by the way: i dont think it is a good method avoiding spambots to don't allow posting before 5 days - why don't you use a random key whick you have to type in while you register ? I really wanted to post this but had to wait 5 days :(
foxyshadis
5th September 2006, 05:43
The 5 days are there to keep out human spammers, folks who don't read rules, and so on, there are lots and lots of posts (http://www.google.com/search?q=%225+days%22+site%3Aforum.doom9.org) about it.
Anyway, it sounds like it's the playback chain that doesn't support AR in your case. What player are you using, and what directshow filters (splitter and decoder, plus renderer) does it involve?
Sumsebiene
5th September 2006, 14:18
I use Media Player Classic with ffdshow, do you think that's the source of the fault ? Should i try another player like vlc or something ? Sorry i don't know anything about splitter, decoder, or renderer where do i find this information ?
If i got you right - this tool adds a line or manipulates some commands which changes the aspect ratio. But this line isn't asked by all media players - and my media player doesn't do this. If I am wrong please tell me :X
Is there any alternative if it also doesn't work with another media player ?
Sumsebiene
10th September 2006, 03:59
I use Media Player Classic with ffdshow, do you think that's the source of the fault ? Should i try another player like vlc or something ? Sorry i don't know anything about splitter, decoder, or renderer where do i find this information ?
If i got you right - this tool adds a line or manipulates some commands which changes the aspect ratio. But this line isn't asked by all media players - and my media player doesn't do this. If I am wrong please tell me :X
Is there any alternative if it also doesn't work with another media player ?
yeah great anybody out there able to help me ?
rse
15th September 2006, 18:50
Hi!
I open the AVI (2.05GB, XviD and AC3), do nothing and save it. The new file isn´t playable with MS Mediaplayer at all. VLC 0.8.4a only shows every second Keyframe. Same with VLC 0.8.5. Video Information is as follows:
Packed bitstream: Yes
QPel: No
GMC: No
Interlaced: No
Aspect ratio: 16:9 NTSC pixel shape
Quant type: H.263
I-VOPs: 1666 (0,75%)
P-VOPs: 81708 (36,81%)
B-VOPs: 138600 (62,44%)
S-VOPs: 0 (0,00%)
N-VOPs: 0 (0,00%)
Max consecutive B-VOPs: 2
1 consec: 25,11%
2 consec: 74,89%
If I change the Aspect Ratio (what I initially wanted to do) it works fine with the shown Keyframes. Unpacking Bitstream doesn´t change behavior. What am I doing wrong/is there a Bug?
Moitah
16th September 2006, 02:47
Yeah there are some bugs, I can reproduce it.
Moitah
16th September 2006, 03:31
The problem was that it set the keyframe flag wrong for OpenDML index entries. The keyframe flag is a single bit inside the chunk size field, a stupid mistake in the code made it set several bits instead which messed up the chunk size field for non-keyframes.
I found another bug too, I guess you didn't see it because the second RIFF chunk in your AVI is pretty small, but it tried to fully read RIFF extension chunks into memory which usually will cause an out of memory exception.
Fixed version coming soon...
ReinerSchweinlin
16th September 2006, 09:22
Thanx for keeping up the work on this excellent tool!
rse
16th September 2006, 11:02
I found another bug too, I guess you didn't see it because the second RIFF chunk in your AVI is pretty small...
I was patient enough to watch the first 3 shown keyframes, but I didn´t test it to the end. :rolleyes: (I suppose the second RIFF chunk to contain the part of the Video > 2GB?) It didn´t work anyways.
Fixed version coming soon...
Thanks a lot!
Moitah
17th September 2006, 01:53
1.4.2 released.
Sumsebiene
19th September 2006, 22:37
Ok i now answered my question which i had earlier in this thread by myself. Your tool really works ! Great job ! But it just worked with vlc-player for me. Media Player classic and windows media player same goes for winamp don't show the video file in 16:9. So i just changed to vlc player :O
Is this the same for you too ? Or with which media players should it work ?
Moitah
19th September 2006, 23:05
@Sumsebiene: It depends which DirectShow decoder you're using. It will work with XviD 1.1.0, and ffdshow if you have the "Use overlay mixer" and "Allow output format changes during playback" options checked ("Output" section in ffdshow config).
Sumsebiene
20th September 2006, 11:48
ah big thx to you :)
Bear
22nd September 2006, 10:15
I tried to add packed bitstream for some files, but I got this error message:
cannot pack a file with drop frames
How can I fix it?
altufaltu
9th October 2006, 09:57
Hi,
I get following error with UnpackCL v1.2.1:
Loading: 73.7%Error: This is not a valid MPEG-4 video (startcode not found at beginning of frame).
The error got shifted to 74.3% when I made another .avi through VirtualDub (direct stream copy).
Please help me get rid of this error.
Thank you.
ReinerSchweinlin
9th October 2006, 10:47
Maybe your AVI-File needs re-indexing? Just a guess, but try loading it in VD with "extended options" in the "open video file" dialog. then chose re-index. Afterwards save it again usind "direct stream copy". Might help.
Moitah
9th October 2006, 22:49
@Bear: There's not really anything you can do about it. I'll see if there's a better way to handle this for newer versions.
@altufaltu: The video is probably corrupt at that location. If you really need it unpacked, I think you're stuck with reencoding.
altufaltu
10th October 2006, 08:44
Thanks for the help. I ran it through AVIFixed 2.0 b1 and now I get another error:
Loading: 98.5%Error: Too many VOPs in a frame.
Please help.
Bear
10th October 2006, 11:57
I found the problem. I load the avi in virtualdub, I found some drop frame in the file, after I remove those drop frame, your program can pack the video without problem.
Is there any chance your program can handle drop frame as well?
eXistenZ_69
12th October 2006, 22:03
@Moitah
Hi,
I upgraded from MPEG4Modifier v1.3.4 to 1.4.2 a few days ago and noticed that unpacking the same avi in both versions results in files with different md5 checksums. The frame lists are identical though. Is this supposed to be like this? Has the non-OpenDML avi writing code been changed? Should I worry? :scared:
Kind regards,
eXistenZ_69
Moitah
13th October 2006, 03:01
@eXistenZ_69: The new AVI writing code is used all the time, not just for OpenDML, so it's normal for the files to be different than those written by previous versions. This is due to differences in the structure of the AVI files (padding or other small things) but the video/audio data are the same.
eXistenZ_69
13th October 2006, 18:47
Ah ok. Hopefully there are no new bugs or player compatibility problems then... ;)
Greetz,
eXistenZ_69
jack3216
19th October 2006, 13:13
could you give me the link please to download MPEG4 Modifier v1.3.4
ReinerSchweinlin
19th October 2006, 13:17
check moitah´s sig
jack3216
19th October 2006, 17:59
i have a video file which is not mpeg4 how can i convert it to use MPEG MODIFIER
foxyshadis
19th October 2006, 19:29
If it's not mpeg4 you can't use it at all. You just re-encode with divx or xvid, setting the options correctly so that you don't need mpeg4 modifier afterward.
SnakEye
24th October 2006, 11:07
I got a problem , maybe you can tell me what am I doing wrong.
I have a file (XviD) that is 960x544 and I want to resize it to a smaller ratio let say somthing like 720x408.
on "Aspect Ration" I choose 16:9 PAL and then press "Save"
but all I get is a new saved file that is exactly the save as the original file (no cahnge in Aspect ratio at all).
I tried also Custom inserting 720x408 and I got the same thing - The same File was saved not a resized file.
What am I doing wrong??
Please Help.
olnima
24th October 2006, 11:25
If it's not mpeg4 you can't use it at all...
...might have something to do with the name of the tool... :)
...You just re-encode with divx or xvid, setting the options correctly so that you don't need mpeg4 modifier afterward.
In divx You can't set the DAR/PAR-flag. In this case You have to use MPEG4Modifier.
@SnakEye: with MPEG4Modifier You can not resize. You only can set a flag that different soft/hardware can read and set the AR of Your monitoring hardware the right way. How do You watch the modifiered avi? SA-Player? PC? For example ffdshow is able to read out the AR-flag.
Olnima
SeeMoreDigital
24th October 2006, 11:34
I got a problem , maybe you can tell me what am I doing wrong.
I have a file (XviD) that is 960x544 and I want to resize it to a smaller ratio let say somthing like 720x408.MPEG4 Modifier does not alter output resolution of MPEG-4 sources. It adds "Aspect Ratio Signalling" (aka: PAR, DAR, SAR) to the MPEG-4 bit-stream to distort the shape of the existing pixels!
As your encoded MPEG-4 source contains a total resolution of (960x544 =) 522,240 pixels it will always contain a total resolution of 522,240 pixels - unless of-course, you re-encode it to a smaller resolution!
Cheers
SnakEye
24th October 2006, 12:02
@SnakEye: with MPEG4Modifier You can not resize. You only can set a flag that different soft/hardware can read and set the AR of Your monitoring hardware the right way. How do You watch the modifiered avi? SA-Player? PC? For example ffdshow is able to read out the AR-flag.
Olnima
I thought the program resize the video file , but I guess it doen't really.
any way I have a Hardware that plays the XviD file that doesn't support files larger then 720xPAL/NTSC
and I thought it could help me out.
here is the Haedware link that I use playback on my TV:
http://www.mvixusa.com/product.php?product=mv5000u
do you think the MPEG4 Modifier can help me in my case?
i need it to some how think it's a smaller (or play back it) resolution then 720x480 (etc).
celtic_druid
24th October 2006, 12:41
It can help in the fact that you could resize to 720x544 and set the DAR to 16:9. But with XviD you could do that during encoding anyway.
Really though you should stop downloading HR HDTVRips.
olnima
24th October 2006, 13:46
I thought the program resize the video file , but I guess it doen't really.
any way I have a Hardware that plays the XviD file that doesn't support files larger then 720xPAL/NTSC
and I thought it could help me out.
here is the Haedware link that I use playback on my TV:
http://www.mvixusa.com/product.php?product=mv5000u
do you think the MPEG4 Modifier can help me in my case?
i need it to some how think it's a smaller (or play back it) resolution then 720x480 (etc).
The way You need to change the video means reencode.
Olnima
SnakEye
24th October 2006, 18:21
It can help in the fact that you could resize to 720x544 and set the DAR to 16:9. But with XviD you could do that during encoding anyway.
Really though you should stop downloading HR HDTVRips.
The only reason why I still Insist on Finding a solution (resize) and D/L these files (HR.HDTV) files is only B/C HR.HDTV have 5.1Ch Dolby Sound , while the Regular HDTV has only 2Ch sound, if it wasn't for the sound I really wouldn't care.
any way what is the best solution I have with the minimum
Quality lose that I can resize these Files?
re-encodin XviD again to Xvid in my humble opinion is like taking a BMP file then save it as JPG file then edit the JPG file and saving it again as JPG , there is a big quality lose in this kind of action.
So what do you all think is my best option to resize it with minimum Quality lose?
SeeMoreDigital
24th October 2006, 18:29
The only reason why I still Insist on Finding a solution (resize) and D/L these files (HR.HDTV) files is only B/C HR.HDTV have 5.1Ch Dolby Sound , while the Regular HDTV has only 2Ch sound, if it wasn't for the sound I really wouldn't care.Then "de-mux" the 5.1 AC3 stream and "re-mux" it into your new 720x544 encode!
Okay... as it seems SnakeEye's source does not conform to this forums "fair-use" policy... I suggest no further help be offered in-accordance to the forum rules.....
Cheers
olnima
25th October 2006, 16:05
...any way what is the best solution I have...
I can't help but this reminds me of another rule...
Olnima
P.S.: Try it out and post your results. If You want to play it on a SA, You won't have too much codec-choices...
eXistenZ_69
5th November 2006, 17:28
@Moitah
Hi Moitah,
I upgraded from MPEG4Modifier v1.3.4 to the latest v1.4.2 a while ago and I'm experiencing audio sync issues after unpacking for some files :( The troubling source material are again TV shows. The packed original and the file unpacked with v1.3.4 don't have sync issues, the file unpacked with v1.4.2 does!
Do you have any idea what could be the cause? I thought unpacking behaviour hasn't changed anymore, only avi writing code :confused:
With kind regards,
eXistenZ_69
Moitah
6th November 2006, 00:45
I found the problem. The file contains delay frames (1 byte, 0x7F) which are supposed to be ignored by the encoding application and not written to the file. In MPEG4 Modifier 1.4.0 I added code to remove delay frames. Normally, doing this wouldn't affect synch negatively, but in this case the video was encoded in segments and joined together, so there are delay frames scattered throughout the video instead of just at the beginning. This causes every segment after the first to be shifted backwards a few frames, getting worse each segment. I'll fix this and release a new version soon.
Moitah
6th November 2006, 07:32
Fixed, and I made a few other small changes, 1.4.3 released!
eXistenZ_69
6th November 2006, 21:57
Thanks Moitah, you're fantastic!!! :). Your ongoing commitment is just marvelous :cool: The new version indeed fixed the sync issues I was experiencing. File lists for files unpacked with v1.3.4 & v1.4.3 appear to be identical again...
Just some more little questions:
1) Where do those delay frames come from? What is their purpose?
2) I noticed some skipping in frame numbering in the file lists of a file unpacked with v1.3.4 & v1.4.3, but not in v1.4.2. Are those skipped numbers the delay frames which were being removed in v1.4.2?
Regards,
eXistenZ_69
Moitah
6th November 2006, 23:17
VFW is relatively simple. A single frame is handed to the compressor at a time, and that one frame needs to be returned compressed before the next frame is given. When encoding a video with B-VOPs, XviD (DivX too) needs to know about future frames. So what does it do when it's supposed to compress frame 3, but it needs to know what frame 5 looks before that can happen? It can't output anything yet so it outputs delay frames until it gets the frame it needs. These delay frames aren't a useful part of the output, but just a side-effect of the work-around necessary to make B-VOPs work with VFW encoding. Some applications like VirtualDub and AVS2AVI recognize this and ignore the delay frames, so they're never written to the output (in addition, at the end of the encode, VirtualDub/AVS2AVI send a copy of the last frame to the compressor for every delay frame they received, for the purpose of flushing out the frames that the compressor has buffered).
Yes, the skipped frame numbers in the frame list that MPEG4 Modifier writes are either delay frames, or drop frames.
_ck_
7th November 2006, 06:56
1.4.3 is the first 1.4.x version I have tried but it won't run on my win2k setup. I installed the latest net 2.0 runtime (ugh) and all it's security patches - rebooted, and I still get
Microsoft Visually C++ Runtime Library
Runtime Error!
Program: MPEG4Modifier.exe
The application has requested the Runtime to terminate it in an unusual way.
celtic_druid
7th November 2006, 08:08
No such problems here (also running win2k) and I didn't update anything.
_ck_
7th November 2006, 09:34
Update: I moved the mpeg4modifer.exe to it's own folder, instead of my shared video tool folder and it now works. Apparently a local dll was conflicting with it, though I am uncertain as to which one.
Also I'd like to point out a growing problem with it not adapting to the use of large fonts:
http://xs108.xs.to/xs108/06452/mp4m.png
Now that it can actually reverse the pack/unpack, any chance we could get a better visual clue to it being packed, perhaps red vs green for the text color on YES or NO ?
ps. was the feature request to remove nvops from already non-packed bitstreams ever looked at? this is still a problem with dvp642 hardware dvd player and audio-sync Packed bitstream: No
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Square pixels
Quant type: H.263
FourCC: XVID
User data: XviD0037
I-VOPs: 880 (0.60%)
P-VOPs: 145951 (99.02%)
B-VOPs: 0 (0.00%)
S-VOPs: 0 (0.00%)
N-VOPs: 560 (0.38%)
eXistenZ_69
7th November 2006, 23:18
@Moitah
Thanks for the explanation! :)
SeeMoreDigital
8th November 2006, 11:04
ps. was the feature request to remove nvops from already non-packed bitstreams ever looked at? this is still a problem with dvp642 hardware dvd player and audio-syncMP4Box offers an N-VOP drop option when muxing to MP4...
That said, N-VOPs are useful... Technically there should be no reason why chip-set and player manufacturers don't support them!
Besides if your player does not support N-VOPs, removing them from your stream will most probably result in a loss of A/V sync...
Cheers
_ck_
8th November 2006, 17:44
Besides if your player does not support N-VOPs, removing them from your stream will most probably result in a loss of A/V sync...
Thanks for the info about mp4box, that utility sure does alot!
I probably should have said "replace" instead of "remove" - perhaps the frame before or after an n-vop could be duplicated to replace it. Granted the dvp642 is one of the few hardware players that has this issue but there are a huge number of people with them (sadly).
I'm still waiting for the HD divx players to drop in price but it probably won't be until late next year given how the market works.
SeeMoreDigital
8th November 2006, 18:54
I'm still waiting for the HD divx players to drop in price but it probably won't be until late next year given how the market works.Indeed...
More competition between chip-set manufacturers would help push prices down.... Especially as Sigma have cornered this sector of the market for a couple of years now!
_ck_
9th November 2006, 08:39
Indeed...
More competition between chip-set manufacturers would help push prices down.... Especially as Sigma have cornered this sector of the market for a couple of years now!
Is that single sigma chip still the only HD game in town?
That would explain why HD divx players are still $250+
Maybe the others are focusing on developing AVC/h264 decoding hardware to grab some of the bluray/hddvd market.
Sort-of on topic for this thread, I take that it's impossible to do any kind of near-lossless conversion of h264 to mpeg4-part2, even if the more advanced options of part10 are not being used? I wonder if an optimized process could be written to keep the re-encoding as lossless as possible? What I mean is that an xvid/divx stream that is using qpel and gmc has to be fairly close to the spec of avc/h264, no? I guess I don't know enough to ask the question properly...
foxyshadis
10th November 2006, 06:17
The quantization step is totally incompatible, and that's where most of the quality gets lost. You might be able to reuse motion vectors, since they're post-quantization in AVC instead of pre (like other mpegs), which is good, a lot of time gets wasted there. Hmm, but AVC has more motion vector modes, some of which are incompatible, but at least it's a head start. And it would be quite complex, rearranging b-refs into... something. Overall it's not worth the effort.
_ck_
10th November 2006, 07:26
Ah I suspected my ignorance was making it sound too easy,
thanks for the clarification foxyshadis...
SeeMoreDigital
10th November 2006, 21:11
You know, I can't help feeling there are many members missing out on this great little application... with it being located in this section of the forum 'n all
ReinerSchweinlin
10th November 2006, 21:16
Yes, I agree. Sometimes I even get confused where to get the binaries, the PR-Part could be imrpoved to give this great Prog the attention it deserves.
_ck_
11th November 2006, 07:36
Anyone with a DVP642 should be aware of it.
Either that or they are cursing half of their disc burns that don't work or they are wastefully doing complete re-encodes.
bond
11th November 2006, 12:13
afaik mp4box also drops delay frames (its full of workarounds and fixes for avi and vfw)
Moitah
11th November 2006, 19:01
Also I'd like to point out a growing problem with it not adapting to the use of large fonts
You can try out this version (http://www.moitah.net/download/byversion/MPEG4Modifier-1_4_3-MonoFix.zip), it should look better. It looks ugly with normal size fonts though :(.
ps. was the feature request to remove nvops from already non-packed bitstreams ever looked at? this is still a problem with dvp642 hardware dvd player and audio-sync
I looked at it a bit but it seemed difficult. I might be able to figure it out if I focused on it enough, I don't know.
_ck_
14th November 2006, 11:25
You can try out this version (http://www.moitah.net/download/byversion/MPEG4Modifier-1_4_3-MonoFix.zip), it should look better. It looks ugly with normal size fonts though :(
Just wanted to let you know the normal fonts version does indeed solve the issue here. I've seen other apps that can adjust the window size automagically if the system is set to use large fonts but I couldn't begin to suggest how it's done.
Allowing the window to resize might be a workaround?
dwallersv
21st December 2006, 02:07
I screwed up and used a FourCC code that some of the Divx tools don't like. I need to change it without having to re-encode a bunch of files, if at all possible.
Thought this tool would do it, but I don't see any way to modify the FourCC code with it (can read it out in the Info screen, but that doesn't help).
Am I missing something with MPEG4Modifier, or is there a different tool that will do the trick?
ReinerSchweinlin
21st December 2006, 02:10
Try NIcs FourCC Changer, its inkluded in KOEPIs XVID Build an sure is available somewhere on the net, maybe dvdrhelp.com? doom9 download-sektion? google it :)
dwallersv
21st December 2006, 02:18
Try NIcs FourCC Changer, its inkluded in KOEPIs XVID Build an sure is available somewhere on the net, maybe dvdrhelp.com? doom9 download-sektion? google it :)
Thanks ;)
Now I just have to find the program... :D
SeeMoreDigital
21st December 2006, 11:00
Thanks ;)
Now I just have to find the program... :DHere you go (http://82.10.220.174/Uploaded_Files/Doom9_Forum_files/Nic's_AVI_4CC_Changer.zip)...
Lord_KiRon
31st December 2006, 12:43
Hi !
I have a lot of files that won't open in MPEG4-Modifier giving something like "This is not valid MPEG-4 video (startcode not found on the beginning of the frame). Codec DIV3" or "This is not valid MPEG-4 video (startcode not found on the beginning of the frame). CodecMP43".
However both WMP and other soft players as well as my hardware based players (one MTK and one Sigma EM8620 based) play the file fine.
No other utility gives an error ...
Can you please explain why it happens ? If needed I can provide samples ...
foxyshadis
31st December 2006, 13:15
Microsoft MPEG-4 and DivX ;-) 3.11 aren't actually MPEG-4, they're based on an early draft, so you'll always get that message. You have to translate them into real MPEG-4 with another tool to use this one. YAMB/MP4box might be able to do it, but then you don't have an avi anymore.
Kurtnoise
31st December 2006, 14:09
Nope MP4Box doesn't support that files but there is a ffmpeg build somewhere in this forum to convert this kind of files losslessly...
I can upload it if necessary.
Lord_KiRon
31st December 2006, 15:00
Well the tool that REALLY converts DivX 3.11 or old ASF to MPEG-4 compliant LOSSLESSLY would be really welcome , I never knew such tool exists.
About my post - I still think MPEG-4 Mod. should hand this files at least for changing AR.
bond
31st December 2006, 15:19
http://forum.doom9.org/showthread.php?t=85229
Moitah
14th January 2007, 00:43
1.4.4 released. Fixes problem where DivX subtitles were broken after being run through MPEG4 Modifier, added *.divx extension to the file dialogs, and provides a default filename when saving (same as the source filename).
GrofLuigi
14th January 2007, 02:55
1.4.4 released.
Encountered INVALID VOL on an encode of mine with this (Xvid_cvs_head_2006_11_02, virtualdub 1.7.0 (build 25854), ac3 6ch audio, muxed with Virtualdubmod 1.5.10.2 (build 2542).
I see INVALID VOL was supposed to be fixed in one of the previous releases.
GL
Moitah
14th January 2007, 03:23
@GrofLuigi: I think it was a compiler problem with XviD, I just came across a discussion about it (http://celticdruid.no-ip.com/phpBB2/viewtopic.php?t=206&start=15). If you feel like uploading a sample that demonstrates this problem I will take a look at it anyway.
SeeMoreDigital
14th January 2007, 14:23
1.4.4 released. Fixes problem where DivX subtitles were broken after being run through MPEG4 Modifier, added *.divx extension to the file dialogs, and provides a default filename when saving (same as the source filename).Hi Moitah,
Any thoughts about starting a brand new thread about MPEG4 Modifier v1.4.4 within the "New and alternative video codecs" section of the forum?
Cheers
Moitah
14th January 2007, 20:12
I'm fine with this thread, but if a moderator wants to move it that's fine too.
migrena
14th January 2007, 23:06
but it would be good to change topic to be more acurate like: "MPEG4 Modifier v1.4.4 Released (Updated 2007-Jan-14)"
anyway thx for great tool
cainxxx
15th January 2007, 03:15
Hello Moitah, thanks very much for your work...
Sory for my english...
Its posible add a "Unpack Dir" option to MPEG4 Modifier like a mod version of your software?
http://img412.imageshack.us/img412/3893/mpgmh0.jpg
Thanks for your time!
ReinerSchweinlin
15th January 2007, 07:15
Why not use one of the GUIs plus the CLI Version? That should do the job.
GrofLuigi
15th January 2007, 12:09
@GrofLuigi: I think it was a compiler problem with XviD, I just came across a discussion about it (http://celticdruid.no-ip.com/phpBB2/viewtopic.php?t=206&start=15). If you feel like uploading a sample that demonstrates this problem I will take a look at it anyway.
It's not a big deal for me (and I don't understand much in that thread :sly: ) , but if you want to check, here it is: sample.avi (http://file2upload.com/file/9082/Sample.avi.html)
GL
likeatim
16th January 2007, 12:34
Why not use one of the GUIs plus the CLI Version? That should do the job.
Are there other GUIs besides the one from here http://www.burrrn.net/?page_id=6 ?
shae
16th January 2007, 12:57
Moitah, could you add an option for inplace patching of an avi, without the need to create a new file?
Thanks for the tool. :)
SeeMoreDigital
16th January 2007, 14:04
Moitah, could you add an option for inplace patching of an avi, without the need to create a new file?Interesting....
Are you (or anybody else) having issues with MPEG4 Modifier re-muxing files to AVI 2.0 compliance?
Cheers
likeatim
16th January 2007, 14:28
Interesting....
Are you (or anybody else) having issues with MPEG4 Modifier re-muxing files to AVI 2.0 compliance?
Cheers
i guess it would be a lot quicker and no need for extra space?!
Moitah
17th January 2007, 07:47
@GrofLuigi: Thanks for uploading the sample. Yeah, something was messed up with that XviD build I think, there's an extra byte tagged onto the end of the VOL, same thing with the user data. If you need to use this file in MPEG4 Modifier I can make a build that ignores this problem.
@shae: It's only possible to work in-place for a few situations, such as changing between one of the preset PARs (but not changing from custom PAR to one of the preset PARs, for example) or changing the interlaced field order. Usually, and this includes removing/adding packed bitstream, it's necessary to rewrite the file.
@cainxxx: It would be nice, I guess I haven't done it yet because I'd rather not do something at all than to do it sloppy. If you look in the thread for the command line version (http://forum.doom9.org/showthread.php?t=117553), theres a .bat file for batch unpacking.
GrofLuigi
17th January 2007, 13:01
[QUOTE=Moitah;938227]@GrofLuigi: Thanks for uploading the sample. Yeah, something was messed up with that XviD build I think, there's an extra byte tagged onto the end of the VOL, same thing with the user data. If you need to use this file in MPEG4 Modifier I can make a build that ignores this problem.
It' not necessary, this was all testing (both the encode and your program). :)
I already changed the XviD build.
GL
Freakazoidalmaniac
19th January 2007, 15:03
Can someone tell me does this remove QPEL and GMC from a file without reencoding?
Moitah
19th January 2007, 15:21
@Freakazoidalmaniac: No, it does not.
shae
21st January 2007, 20:45
Are you (or anybody else) having issues with MPEG4 Modifier re-muxing files to AVI 2.0 compliance?If an AVI works fine, and I only want to tweak options like preset PARs, I'd rather have the least amount of changes to the file. It's faster, requires less space, and has less potential for destructive behavior (i.e., bugs in rebuilding). (Aren't all AVIs nowadays OpenDML?)
Can someone tell me does this remove QPEL and GMC from a file without reencoding?This is probably impossible as these options alter the encoding process.
Squee0
22nd January 2007, 00:39
does anyone have a version like this that would allow us to change the User Data / Metadata of MPG2 files?
ReinerSchweinlin
22nd January 2007, 00:42
Therer are several tools for this, what exactly do you need to change? AR or Average Bitrate, Res, etc is possible afaik. Try "restream"
Squee0
22nd January 2007, 03:06
I just want to change/add User Data/Metadata that appears when using gSpot, so I can identify files I've created and store other important info here. Basically replacing the text created by the encoder I use, I know that HEX Editor will work, but that only allows me to replace, but not add, plus there's a larger room for error then a program designed to modify the user data/metadata.
Therer are several tools for this, what exactly do you need to change? AR or Average Bitrate, Res, etc is possible afaik. Try "restream"
Sharktooth
22nd January 2007, 03:25
Can someone tell me does this remove QPEL and GMC from a file without reencoding?
Nothing in the universe can do that... it's simply impossible.
foxyshadis
22nd January 2007, 11:21
If you're willing to take a hit on quality, you could convert qpel to hpel. You could even do it in such a way that it looks ahead to minimize damage. But I'm not aware of any such thing to do it.
DivX GMC can be converted to non-GMC, Xvid GMC cannot ever be.
akupenguin
22nd January 2007, 17:38
3-point GMC can be approximated with block MC, in exactly the same sense that qpel can be approximated with hpel. In both cases, no matter how careful you are, artifacts will accumulate over the course of a GOP, and the result will be ugly. Unless you requantize too, in which case it is a reencode, just faster because you skip the motion estimation.
Note: the difference between qpel and hpel is not just the precision of the motion vectors. A hpel-aligned mv in a qpel video is not computed the same way as the same mv in a hpel video. hpel uses bilinear interpolation, while qpel uses 8-tap. Hence why an encode of an unfiltered dvd source sometimes gets higher psnr with hpel.
foxyshadis
23rd January 2007, 12:11
So it's like that in ASP as well? I had thought 8-tap was only for AVC qpel, thanks for clarifying that.
akupenguin
23rd January 2007, 15:14
AVC is 6-tap (yes, it's simpler and faster than ASP qpel).
olnima
23rd January 2007, 20:24
@Moitah (@everyone else too :) ), just for interest:
If I'm counting all the I- p- b- ... frames together ("Video Info"-Button) there are allways a few (5-10) frames missing to reach the length of the avi-file, shown in, for example VirtualDub but also in every other soft I tried. Why? FPS is (should be?) exactly 25, also shown in VirtualDub.
Thanks anyway for MPEG4Modifier, it's great.
Olnima
//edit: sorry, have to correct myself, it's only but seems to be always 1 frame less then the length, shown in VDub.
Moitah
24th January 2007, 01:33
@olnima: It's probably because the video contains "delay" frames, a hack used by DivX/XviD to allow B frames with VFW encoding. If the video was encoded in VirtualDub or AVS2AVI, the delay frames are ignored and not saved in the AVI file, but some programs leave them in. MPEG4 Modifier doesn't count delay frames.
It's also possible for there to be one more VOP than there are frames if packed bitstream was used.
olnima
24th January 2007, 11:08
o.k., understood.
Thanks for the reply
Olnima
cainxxx
28th January 2007, 18:54
The Option "Unpack Dir..." is really powerful. I hope Moitah include this option in the original MPEG4Modifier.
This is the link for the new mod version:
http://sibit.si/directsub/Mpeg4ModifierMod.1.4.4.zip
Saludos para todos...
http://img165.imageshack.us/img165/5527/mpg4ft9.jpg
trippinhard
31st January 2007, 19:38
Having an issue with an avi file im hoping someone can solve.
When i set pixel AR to 16:9 NTSC the ratio of objects is correct but there is a small black patch on right side when played on my 32 samsung lcd.
When i set the avi to display ar 16:9, there is no black patch but the objects seem to be a little zoomed (ie:there might be some object like an arm not showing on the screen when in the other way the whole body including the arm will show.
hopefully someone can help me correct this, thank you.
SeeMoreDigital
2nd February 2007, 16:54
Unfortunately MPEG4 Modifier doesn't seem to work with my software player: A 720 x 576 recording PARed or DARed to 16:9 won't be stretched to 16:9 with Media Player Classic. Maybe a wrong setting in MPC?It's more likely an issue with your MPEG-4 direct-show decoder filter.... Not all support MPEG-4 streams containing (ARS) aspect ratio signalling.
Cheers
SeeMoreDigital
2nd February 2007, 18:05
I wish Media Player Classic would too. But I don't know which MPEG4 direct-show filter it uses.It will do if you use the an appropriate MPEG-4 direct-show decoder filter.... Such as provided by FFdshow (http://forum.doom9.org/showthread.php?t=120465) (which use the same filter approach as VLC Player).
In-fact FFdshow is able to provide most (if not all) of anybodies audio and video direct-show decoder needs...
At first glance the options within FFdshow will look a bit overwhelming. Needless to say there are many options you'll probably never use.... But it's well worth the effort ;)
Cheers
nickrout
5th February 2007, 08:28
mpeg4modifier isn't working for me on mono:
[nick@bilbo ~/mpeg4modifier]$ mono MPEG4Modifier.exe
Mono System.Windows.Forms Assembly [$auto_build_revision$]
Keyboard: United States keyboard layout (phantom key version)
Could not set X locale modifiers
KDE colorscheme read
** (MPEG4Modifier.exe:36789): WARNING **: Missing member add_Shown in type Form, assembly /usr/local/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
Unhandled Exception: System.MissingMethodException: Method not found: 'System.Windows.Forms.Form.add_Shown'.
in <0x00000> <unknown method>
in <0x00015> JDP.frmMPEG4Modifier:.ctor (System.String[] args)
in (wrapper remoting-invoke-with-check) JDP.frmMPEG4Modifier:.ctor (string[])
in <0x00028> JDP.Program:Main (System.String[] args)
Anyone got any clues on how to progress this?
subspawn
16th April 2007, 10:02
For all people using linux having the Kiss issues (which require modifications to the file's headers): See http://forum.doom9.org/showthread.php?t=124794 for a wee bit faster program than MPEGModifier.
It's only an alternative it you only want to modify the header towards DivX999b000p!
Btw, keep up the good work Moitah!
GimmeAreason
8th August 2007, 01:38
I just read through this whole thread and various offshoot links too which has been really interesting. I still can't get my head around bloody DAR/PAR and NVOPs and all the rest of it.! I am but a simple soul.
I have used your program almost since the start and I still need it as my standalone is still working away pretty well although without unpacking the bitstream it's so jerky as to be quite useless!
I hadn't updated it for ages and thought I'd drop in to check on the program and it's nice to see how far it has come. I am still on version 1.3.4 or 1.3.2 I think.
Just wanted to thank you Moitah for all the work you obviously put in.
:)
enjoyer
27th September 2007, 02:21
very nice tool :)
a MPEG-4 AVC version would be awesome :D
lazaruz
8th October 2007, 16:55
Thank you Moitah for a great tool
I used the code and made MPEG4Watcher to unpack automatically, maybe someone else has use for it.
*Edit* Updated version which allows you to monitor multiple folders and unpack Rar-files
Here's a link
http://johanmartensson.se/
and a screenshot
http://johanmartensson.se/programming/csharp/app/images/mpeg4watcher.png
Thanks again Moitah and keep up the good work
Pepin
16th November 2007, 09:52
The Option "Unpack Dir..." is really powerful. I hope Moitah include this option in the original MPEG4Modifier.
This is the link for the new mod version:
http://sibit.si/directsub/Mpeg4ModifierMod.1.4.4.zip
Saludos para todos...
http://img165.imageshack.us/img165/5527/mpg4ft9.jpg
Both (original and modified) versions works ok under Ubuntu using Mono.
But there is only a very little problem with modified version. When processing a full directory, the name for the unpacked files is not correct, the program puts the full path as the name (for example, "VideoFiles\MyVideo1.avi", "VideoFiles\MyVideo2.avi", etc), and it's placing the files always at main personal directory.
I think it's because on Linux the separator for directories is "/", and on Windows, it's "\", so the system takes the full path as the name for the files. It can be corrected if the program changes first the default path to the correct directory, and then it names the files. At this way, the program will can be runned without any problem on Windows, and on Linux.
PD: Cainxxx, do you speak spanish? Me too...
effort_ac
19th November 2007, 16:51
I'm glad it's working okay
gatekeeper_007
9th January 2008, 20:49
A simple question:
I have an (*.avi) XviD 1.1.0 with a broken aspect ratio of (720x432).
I have to force aspect ratio to (720x314) so it can display as it should be.
Now I've tried this app. in several ways but the output is always the same as the input (720x432).
1. Is this normal ? can Mpeg-4 Mod. do what I need it to do?
2. Is there a way to do this except re-encode ?
Thx
RedDwarf1
9th January 2008, 22:45
All you could do is change the Pixel Aspect ratio to alter the Display aspect ratio to get it closer to what you want. You cannot change the resolution without re-encoding and you can only alter the horizontal resolution by stretching the pixels to correct it.
Try entering 992 and 432 in the Custom Display aspect ratio boxes. That should stretch the picture and should make the Aspect ratio look correct if played on your PC. It will not look correct on a TV.
gatekeeper_007
9th January 2008, 22:58
I've all ready tried that but nothing... I even tried to change it to 4:3, just to see what happens -nothing still the same output (as the input).
It seems I'll have to re-encode it after all
I'll try out a few more things... and hopefully avisynth will help out with the quality loss.
Thx for the replay
EDIT: there is a way to correct an avi like that (wrong aspect ratio) with Quicktime pro but you'll have to save it as a (*.mov) and it doesn't work with all the avi files.
SeeMoreDigital
9th January 2008, 23:08
gatekeeper_007,
What media player are you using. Maybe it is not set-up correctly?
Cheers
gatekeeper_007
9th January 2008, 23:39
I really don't think so... but then again who knows,
Same result with : WMP11, NeroShowTime, DivxPro6, VLC... and others.
and of course I passed it in a flashUSB -pluged it to a divx/xvid player (widescreen TV output) same aspect ratio problem.
Thx
EDIT: In Nero I have to force it to 16/7, In divx 720x314(320) or 640X272 so that can be correct
SeeMoreDigital
10th January 2008, 09:54
Can you run your file thru' MediaInfo and/or GSpot and post what's reported?
gatekeeper_007
10th January 2008, 14:07
General #0
Complete name : D:\Sam (BAD_AspectRatio).avi
Format : AVI
Format/Info : Audio Video Interleave
Format/Family : RIFF
File size : 1.18 GiB
PlayTime : 1h 40mn
Bit rate : 1690 Kbps
Writing application : VirtualDubMod 1.5.10.1 (build 2424/release)
Writing library : VirtualDubMod build 2424/release
Video #0
Codec : XviD
Codec/Family : MPEG-4
Codec/Info : XviD project
Codec profile : Streaming Video Profile/Level 1
Codec settings/Packe : Yes
Codec settings/BVOP : Yes
Codec settings/QPel : No
Codec settings/GMC : 0
Codec settings/Matri : Default
PlayTime : 1h 40mn
Bit rate : 15 Mbps
Nominal bit rate : 1277 Kbps
Width : 720 pixels
Height : 432 pixels
Display Aspect ratio : 1.667
Frame rate : 25.000 fps
Resolution : 8 bits
Chroma : 4:2:0
Interlacement : Progressive
StreamSize : 10.8 GiB
Audio #0
Codec : AC3
PlayTime : 1h 40mn
Bit rate : 15 Mbps
Nominal bit rate : 384 Kbps
Bit rate mode : CBR
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, Subwoofer
Sampling rate : 48 KHz
StreamSize : 10.8 GiB
------------------------------------------------------------------------------------------
FILE_NAME Sam (BAD_AspectRatio).avi
FILE_NAME_WITH_PATH D:\Sam (BAD_AspectRatio).avi
FILE_SIZE 1,267,943,424
CONT_AUDIO_STREAM_COUNT 1
CONT_BASETYPE AVI(.AVI)
CONT_BYTES_MISSING 0
CONT_INTERLEAVE_ALIGN Split
CONT_INTERLEAVE_PRELOAD 512
CONT_INTERLEAVE_TIME 40
CONT_SUBTYPE OpenDML (AVI v2.0),
CONT_TOTAL_BITRATE 0
VIDEO_ASPECT_CONVERT_AVI1
VIDEO_ASPECT_CONVERT_AVI2
VIDEO_ASPECT_CONVERT_CVD1
VIDEO_ASPECT_CONVERT_CVD2
VIDEO_ASPECT_CONVERT_DVD1
VIDEO_ASPECT_CONVERT_DVD2
VIDEO_ASPECT_CONVERT_SVCD1
VIDEO_ASPECT_CONVERT_SVCD2
VIDEO_ASPECT_CONVERT_VCD1
VIDEO_ASPECT_CONVERT_VCD2
VIDEO_ASPECT_SOURCE_MATCH
VIDEO_ASPECT_TYPE_NTSC
VIDEO_ASPECT_TYPE_PAL
VIDEO_BITRATE 1296
VIDEO_CODEC_NAME XviD 1.1.0 Final
VIDEO_CODEC_STATUS Codec(s) are Installed
VIDEO_CODEC_TYPE XVID
VIDEO_DAR 1.667
VIDEO_DURATION 1:40:02
VIDEO_FIELDS_PER_SEC
VIDEO_FRAME_COUNT 150045
VIDEO_FRAMES_PER_SEC 25.000
VIDEO_H264
VIDEO_MPEG2
VIDEO_MPEG2_3X2
VIDEO_MPEG2_BFF
VIDEO_MPEG2_I_L
VIDEO_MPEG2_PPF
VIDEO_MPEG2_PROG
VIDEO_MPEG2_TFF
VIDEO_MPEG4 MPEG-4
VIDEO_MPEG4_BVOP B-VOP
VIDEO_MPEG4_GMC
VIDEO_MPEG4_NVOP
VIDEO_MPEG4_QPEL
VIDEO_PAR 1.000
VIDEO_PICS_PER_SEC 25.000
VIDEO_QF 0.167
VIDEO_SAR 1.667
VIDEO_SIZE_X 720
VIDEO_SIZE_Y 432
AUDIO_BITRATE 384
AUDIO_BITRATE_TYPE CBR
AUDIO_CHANNEL_COUNT 6
AUDIO_CODEC 0x2000 (Dolby AC3) AC3
AUDIO_CODEC_STATUS Codec(s) are Installed
AUDIO_MPEG_STREAM_ID
AUDIO_MPEG_SUBSTREAM_ID
AUDIO_SAMPLE_RATE 48000
FILE_NAME Sam (BAD_AspectRatio).avi
FILE_NAME_WITH_PATH D:\Sam (BAD_AspectRatio).avi
FILE_SIZE 1,267,943,424
CONT_AUDIO_STREAM_COUNT 1
CONT_BASETYPE AVI(.AVI)
CONT_BYTES_MISSING 0
CONT_INTERLEAVE_ALIGN Split
CONT_INTERLEAVE_PRELOAD 512
CONT_INTERLEAVE_TIME 40
CONT_SUBTYPE OpenDML (AVI v2.0),
CONT_TOTAL_BITRATE 0
VIDEO_ASPECT_CONVERT_AVI1
VIDEO_ASPECT_CONVERT_AVI2
VIDEO_ASPECT_CONVERT_CVD1
VIDEO_ASPECT_CONVERT_CVD2
VIDEO_ASPECT_CONVERT_DVD1
VIDEO_ASPECT_CONVERT_DVD2
VIDEO_ASPECT_CONVERT_SVCD1
VIDEO_ASPECT_CONVERT_SVCD2
VIDEO_ASPECT_CONVERT_VCD1
VIDEO_ASPECT_CONVERT_VCD2
VIDEO_ASPECT_SOURCE_MATCH
VIDEO_ASPECT_TYPE_NTSC
VIDEO_ASPECT_TYPE_PAL
VIDEO_BITRATE 1296
VIDEO_CODEC_NAME XviD 1.1.0 Final
VIDEO_CODEC_STATUS Codec(s) are Installed
VIDEO_CODEC_TYPE XVID
VIDEO_DAR 1.667
VIDEO_DURATION 1:40:02
VIDEO_FIELDS_PER_SEC
VIDEO_FRAME_COUNT 150045
VIDEO_FRAMES_PER_SEC 25.000
VIDEO_H264
VIDEO_MPEG2
VIDEO_MPEG2_3X2
VIDEO_MPEG2_BFF
VIDEO_MPEG2_I_L
VIDEO_MPEG2_PPF
VIDEO_MPEG2_PROG
VIDEO_MPEG2_TFF
VIDEO_MPEG4 MPEG-4
VIDEO_MPEG4_BVOP B-VOP
VIDEO_MPEG4_GMC
VIDEO_MPEG4_NVOP
VIDEO_MPEG4_QPEL
VIDEO_PAR 1.000
VIDEO_PICS_PER_SEC 25.000
VIDEO_QF 0.167
VIDEO_SAR 1.667
VIDEO_SIZE_X 720
VIDEO_SIZE_Y 432
AUDIO_BITRATE 384
AUDIO_BITRATE_TYPE CBR
AUDIO_CHANNEL_COUNT 6
AUDIO_CODEC 0x2000 (Dolby AC3) AC3
AUDIO_CODEC_STATUS Codec(s) are Installed
AUDIO_MPEG_STREAM_ID
AUDIO_MPEG_SUBSTREAM_ID
AUDIO_SAMPLE_RATE 48000
*all I want to do is to make the display aspect ratio--> 2:35:1
SeeMoreDigital
10th January 2008, 15:47
*all I want to do is to make the display aspect ratio--> 2:35:1Try adding "64:45" in the "Custom" boxes. And don't forget to select the "Custom" radio button: -
http://i1.tinypic.com/6jdksk0.png
Cheers
gatekeeper_007
10th January 2008, 16:03
nothing...
is there something wrong with the avi's bitstream..? because it seems it won't change to anything else.
I think that I wont be able to avoid the re-encode after all.
anyway...
thx for your help!!
SeeMoreDigital
10th January 2008, 18:26
Please try this sample and report back: -
http://rapidshare.de/files/38263049/Test_File_01.zip.html
gatekeeper_007
10th January 2008, 19:30
- WMP11, Divxplayer..., Divx/XviD standalone - display's wrong aspect ratio
- NeroShowtime and VLC will display it with the correct
EDIT: same happens with my avi, only Nero/VLC will display it correct after the change.
EDIT 2: same result if I set the Display AR to 2.35:1, and if I set Pixel AR 64:45
I mean 2.35:1 -output will be playable but again only with nero and vlc
SeeMoreDigital
10th January 2008, 20:26
Play the sample file again with WMP11. Then click on: File -> Properties and find out which Video Codec you're using.
Personally speaking, I would not recommend using WMP11 to play any type of media file. It's too limited.
gatekeeper_007
10th January 2008, 20:57
-I don't :)
It seems that this app does work, but the 'new' stored info can only be read by certain pc players.
But the thing is that I don't really care much about how it display's on the pc, after all I don't mind to force the aspect ratio via the player so I can watch it.
I was just wondering if I can overwrite the AR info in avi's bitstream permanently so it will display ok on a standalone and I can avoid more quality loss by (re-encode) but if not it's ok -not that big deal.
:thanks:
SeeMoreDigital
10th January 2008, 21:37
What stand-alone player are you using... Not all of them are clever enough to understand AR signalling embeded within the MPEG-4 video stream.
Cheers
gatekeeper_007
10th January 2008, 22:03
I have 3 but only use 1
LG DNX190H
KiSS DP 508
Silvercrest KH6515/16 HDMI
It may sound funny but the one I mostly use is the Silvercrest, not because of the HDMI (if u ask me HDMI is almost useless is the player doesn't support HD playback).
I can't test it on the Kiss (because is somewhere in the boxes with my old staff, after all it can't read packed bitstreams), but the other two won't display it as I want it to.
SeeMoreDigital
10th January 2008, 22:15
Your KiSS player (with Sigma chip-set) is more likely to automatically recognise AR signalling.
The firmware in your Silvercrest player (I have a similar Tevion player) can't automatically detect AR signalling. Neither can most other players fitted with Zoran Vaddis chip-sets.
By-the-way, your KiSS player can read packed bit-stream, as long as only 1B-VOP is encoded. Which is in accordance to DivX's certification.
Cheers
gatekeeper_007
10th January 2008, 22:40
I never updated the firmware on any of them except one time on Kiss because of my little sister -(she wanted GR (*.srt )subs).
I don't care about the Kiss anymore I stopped using it a long time ago - since 90% I encode with 2 b_vops and packed bitstream, but I'm almost 100% sure back when I was using it, it wouldn't accept packed bitstreams of any kind 2 and 1 b_vop neither, so there must be a fix/update in a firmware they released.
...out of topic now I think 99% :)
THX again
Honeyko
16th January 2008, 09:14
Is there ANY alternative to MPEG4 Modifier that does NOT need .net framework installed? (Gawd I hate that Microsoft bloatware.)
Moitah
16th January 2008, 19:28
@Honeyko: Not that I'm aware of, but it runs just fine in Mono (http://mono-project.com/Downloads) even on Windows aside from some cosmetic issues. In fact I just compiled a special version to work around those problems (related to form scaling) in Mono: MPEG4Modifier-1_4_4-MonoFix.zip (http://www.moitah.net/download/byversion/MPEG4Modifier-1_4_4-MonoFix.zip).
EDIT: Now I remember MPEG4 Modifier was ported to Java (http://forum.doom9.org/showthread.php?p=829175#post829175), it's based on 1.3.4 I think so no OpenDML and no packing.
Honeyko
17th January 2008, 17:14
Color me stupid, but is there an intrinsic necessity for .net software in order to alter VOL headers? I'm just curious, is all. (I've been getting along without that stuff for years; the only software I've ever encountered which needs it are some x264 encoding utilities, and this program.)
(The ideal solution here would be a direct volume sector-access hex-edit which doesn't require stream-copying a whole enormous file just to change a few kilobytes. I seem to recall hearing of such a utility already existing awhile back, but forgot the name of it.)
squid_80
17th January 2008, 17:50
You can figure out the binary format of a VOL and do a search/replace with your favourite hex editor.
Moitah
17th January 2008, 19:18
@Honeyko: The predefined PARs are stored as 4 bits in the VOL, custom PARs use an additional 16 bits (8 width, 8 height). So in certain cases it is possible to modify the file in-place, but not always. Of course it's not necessary for it to be written in .NET, but C# is the language I'm most comfortable with. MPEG4 Modifier is something I did mostly for fun, I didn't really even need it, and for me writing it in C++ would have been more frustrating than anything and I wouldn't have written it at all.
@squid_80: ;)
Honeyko
17th January 2008, 23:28
You can figure out the binary format of a VOL and do a search/replace with your favourite hex editor.On the off chance you've already done this, could you help save me some time and tell me what to look for in what part of the file?
(Have hex-editor, and ready to hack....)
Ruud00
18th January 2008, 01:11
why is it that when i change the aspect Ratio to 16:9 in the display AR side that it does display the video 16:9 but when i burn the video onto a DVD and play back on my Divx dvd player it display the Aspect ratio before and not the 16:9 that i change to?
Thank you
Moitah
18th January 2008, 04:13
@Ruud00: Your DVD player must be ignoring the aspect ratio information stored in the video header. Unless there is a firmware update to support this, you will have to reencode the video to correct aspect ratio.
@Honeyko: It's a pain to do in a hex editor. For example let's say you want to set a custom PAR and insert 2 8-bit values for the width/height. The VOL is a stream of bits and these width/height fields will never fall on byte-boundaries, so it's not as simple as just inserting a few bytes.
squid_80
18th January 2008, 06:12
On the off chance you've already done this, could you help save me some time and tell me what to look for in what part of the file?
(Have hex-editor, and ready to hack....)
OK. I'll only describe how to do it for a file using one of the pre-defined PARs, Moitah's already explained why it's a lot tougher if you want to go from predefined->custom or back again so I won't do that (we'd be here all day, the program is a lot quicker).
To start with, search for the first occurrence of (hex) 00000120. That's the VOL start code. Directly after that there's a byte that you don't need to change, just remember its value (in my case it's 0x08). Bits 5-2 in the next byte describe the PAR. The file I'm looking at right now has 0x96 at this byte. In binary this is 10010110, bits 5-2 = 0101 = 5. This stands for 16:9 NTSC, or a PAR of 40:33. Here's the full table:
(1)0001 = 1:1
(2)0010 = 12:11 (4:3 pal)
(3)0011 = 10:11 (4:3 ntsc)
(4)0100 = 16:11 (16:9 pal)
(5)0101 = 40:33 (16:9 ntsc)
(15)1111 = custom
So if I wanted to change the PAR to 12:11, I need to change those four bits to 0010. Which makes the new whole byte 10001010 = 0x8A.
From here you use the hex editor to do a search/replace on all the VOL headers. In this case I'd search for (in hex):
00 00 01 20 08 96 87 FF FB (take the next few bytes as well for good measure)
and replace with
00 00 01 20 08 8A 87 FF FB
If your hex editor reports how many occurrences were replaced it should be equal to the number of I-frames in the file since there's a VOL header stored at each one.
SwissDude
25th April 2008, 19:44
Taking inspiration from the Linux ipsr (http://forum.doom9.org/showthread.php?t=124794) and the MPEG4 Mod programs, a friend has written the attached KiSSconv utility.
The utility will check if the file needs the change in the User Data from DivX503b1393p to DivX999b000p and make the changes on the fly, directly in the avi file.
Run it either from the command line, with the filename (full filename, for example Blahblah.avi) as the parameter (if you want to see how many times it changed the string in the file, which is the output of the utility) or just drop the avi file onto the executable (which will open a cmd window but that will close once it has finished processing the file).
Attached zip file has both source and exe.
WARNING
Use with care as the utility modifies the file in-place, thus as your original file will be directly modified there will be NO backup copy of it. Therefore please make a backup of the avi file before running the utility if needed/unsure/etc. I have been using the utility and it has never corrupted a file, but just in case...
Koepi
26th April 2008, 05:53
FIle seems to be clean, approved attachment: http://www.virustotal.com/de/analisis/ef6f6f249709946b74af566e4963eecf
shae
10th August 2008, 02:46
Moitah: I've added CQM identification to v1.4.4. Will you be interested in adding it to the next official version, or should I release it as a "branch" of some sort?
Moitah
10th August 2008, 05:55
@shae: Yeah, I'd like to take a look at it, can you upload the code somewhere?
mahendra
4th April 2009, 20:05
can someone assist me to change the aspect ratio of avi file. i am new to this software & cant find a guide
the problem is when i play this on windows media player, the movie is all stretched up & when i open it with virtualdub & then change the aspect ratio to 16:9 (wide screen), the video looks just perfect. (actually from where i downloded this, there was a note stating "set aspect ratio manually to 16:9")
any help will be much appreciated
& i have a few more files with exactly the same problem but they all have different frame sizes, like one is 512*384 & so on.
These are the screen caps:
http://i41.tinypic.com/1125vmd.jpg
http://i40.tinypic.com/v76ono.jpg
this is the info from mediainfo:
General
Complete name : E:\abcd.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 699 MiB
Duration : 1h 38mn
Overall bit rate : 988 Kbps
Writing application : VirtualDubMod 1.5.4.1 (build 2178/release)
Writing library : VirtualDubMod build 2178/release
Video
Format : MPEG-4 Visual
Format profile : Streaming Video@L1
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Custom
Codec ID : XVID
Codec ID/Hint : XviD
Duration : 1h 38mn
Bit rate : 842 Kbps
Width : 624 pixels
Height : 464 pixels
Display aspect ratio : 4/3
Frame rate : 29.970 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.097
Stream size : 596 MiB (85%)
Writing library : XviD 1.0.2 (UTC 2004-08-29)
Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Codec ID : 55
Codec ID/Hint : MP3
Duration : 1h 38mn
Bit rate mode : Variable
Bit rate : 131 Kbps
Nominal bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 93.0 MiB (13%)
Alignment : Aligned on interleaves
Interleave, duration : 24 ms (0.72 video frame)
Interleave, preload duration : 273 ms
Writing library : LAME3.90.
Encoding settings : ABR
Language : English
SeeMoreDigital
4th April 2009, 20:24
.... (actually from where i downloded this, there was a note stating "set aspect ratio manually to 16:9")..... Midsomer Murders S03-E02 Blue Herrings.aviPlease refer to forum rule 6...
Nobody here can help you with copyrighted files you have downloaded!
any updates to this great program since Jan 2007? Love to see batch file support in the GUI (I know you can through command line already). Thanks!
Ryo94
26th June 2009, 22:36
Sorry, edited.
SeeMoreDigital
26th June 2009, 23:34
Ryo94,
The file mahendra wanted help with was illegally downloaded, so your reply post is in violation of rule 6.
You better remove it before a moderator strikes you!
gonwk
1st July 2013, 22:55
Hi folks,
First of all Moitah Thanks for your Tool is a Life Saver ... I have a question, may be someone can help ...
When I use MPEG4Modifier to correct the Playback Aspect Ratio of an AVI ... I happen to check the output AVI with MediaInfo and I noticed that under "Container and General Info" the Writing Application Info now are gone.
Q: Is there a Way that I can Keep that info even after I use MPEG4Modifier tool?
Thanks,
G! :)
GravuTrad
9th June 2020, 00:40
Hello.
To update a little bit this post, moitah has updated the tool to 1.4.6 version in 2015:
http://www.moitah.net/
Changes since 1.4.4 version:
1.4.6 (2015-Jan-10):
Marked as system DPI aware to fix blurry UI with high DPI settings.
Changed license to MIT (was GPL v2).
1.4.5 (2012-Sep-02):
Ability to export custom quantization matrix to .cqm file.
Fixed window layout with high DPI settings.
Supports loading on .NET 4.x runtime (not required; still 2.0 compatible).
SeeMoreDigital
9th June 2020, 09:24
Whatever happened to Moitah :(
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.