View Full Version : MeGUI development
Sharktooth
16th August 2006, 12:55
Just use .NET 2.0 FtpWebRequest class (look @ my previous post)
PS. I'm planning to return to active MeGUI development next month. Currently I'm too busy @ my primary work + I'm preparing for futher certification...
PS2. Now I'm
http://img157.imageshack.us/img157/3261/mctsrgb512514507tl8.png
Thanx dimzon im already working on it
Sharktooth
17th August 2006, 13:27
0.2.3.2189
Commit by Doom9
- Audio overhead for AVI files is properly calculated
- DTS/MP2 audio no longer throws the bitrate calculator out of whack
- Creating a new profile no longer overwrites the currently active one
- New way of doing profiles... updating a profile now requires selecting the profile, make changes, press update
As a result, config windows no longer serve as profile selectors, you always have to select the desired profile where profiles are being used
- Swapped the position of OK and Cancel button to correspond to the Windows standard
- Autocrop no longer crashes when the preview is being closed and reopened before cropping
0.2.3.2190
Commit by Doom9
- Added a mod4 horizontal crop mode to the anamorphic cropping modes (to be used instead of non mod16 as this can cause non mod4 horizontal resolutions which cannot be encoded)
- Added VobSub subtitles as supported subtitle type to the mkv muxer - this will prevent weird mux paths containing an avi job to include the subs
- Added chapter handling to the automatic mux path finding so that chapters will be taken into account in autoencode and the adaptive muxer
- Added support for audio track names in the mkv muxer
- Enabled vobsub muxing in the mp4 muxer
- Added autoencode defaults in the settings (keep in mind that the container selection will work only if you select compatible input types, avc video, mp4 audio and avi output just don't go together ;)
Doom9
17th August 2006, 16:54
@berrinam: what's the difference between a muxed input and a video input in the muxwindow? When I load a job that has an mp4 video input, it is loaded as muxed input, and then update doesn't work because pressing update triggers the procedure in the base muxer class where the muxedinput isn't known.. and so it thinks there's no video input.
Doom9
17th August 2006, 18:24
Umm.. so I was looking at automating vobsub and as usual I run into trouble.
Interestingly, rundll32 and vobsub accept paths with spaces without requiring any quotes (well, once you figured it out it's not a problem anymore).. but here's where I'm definitely stuck: you have to specify which PGC you want to rip.. and we don't know that since megui never rips anything.
On top of that, there's of course no way to automatically cut subs (and while I'm at it... AC3 and DTS sources are going to be deadly for the upcoming cutting feature if the user wants to keep them.. I have no idea how to handle that).
Sharktooth
17th August 2006, 19:23
0.2.3.2191
Commit by Doom9
- Fixed adaptive muxer when loading a raw video stream (MediaInfo can't handle those, leading to mux scenarios that cause a crash)
- Fixed delay and settings being overwritten when audio streams were being changed
- Added audio delays for mux-only sources
- Added audio delays to one click mode (taken from the filename), applied to both mux-only and encodable audio sources
- Added language codes for divxmux (not all languages may be supported, divxmux is even more limited than mp4box)
- Added cancel button (ESC) to all dialogs that have a cancel / abort button
- Swapped out a few remaining Cancel and OK/Queue buttons
- Existing mux job with a muxed video input can now be updated
- Added DRC for AC3/DTS sources when "increase volume" is checked
berrinam
17th August 2006, 22:16
@berrinam: what's the difference between a muxed input and a video input in the muxwindow? When I load a job that has an mp4 video input, it is loaded as muxed input, and then update doesn't work because pressing update triggers the procedure in the base muxer class where the muxedinput isn't known.. and so it thinks there's no video input.
The mux window basically copies the internal representation of mux paths, which means that there is one muxed file which we keep adding to until it has all the required files and is in the right format. The video file, on the other hand, is only for use at the step when we mux video in.
The distinction is there because muxed input files have all their input tracks muxed in, and video input files only have video muxed in. Additionally, if video is muxed in in the second leg of the mux path, then you need to be able to select two inputs: the output of the previous leg, and the video file.
The fact that update doesn't work is a bug.
berrinam
17th August 2006, 22:19
Wow, with all these updates, the branch I made is getting more out of date. It can be merged, but with a reasonable level of difficulty. My question is this: do you want to continue adding little features to the current 'stable' version, or shall we make another big leap with refactoring and go back to development versions?
I would like to declare a current version stable and then continue the refactoring, so that the code becomes more organised, as I have started to do in the refactor which is in a branch.
Doom9
17th August 2006, 23:30
Well, I'm not sure if it's really stable. I had to refactor a little bit to add vobsub functionality and there's a lot of untested code in there right now. But if you want to go ahead and merge, feel free. The next thing I'll be working on is adding the vobsub functionality to the one click mode (obviously, quite a bit of change needed), and then the whole avisynth cutting thing.
BTW, for VobSub, you must specify a PGC. If you've set dvddec to use the PGC for filenames, megui will recognize this and set the proper PGC automatically.. the problem is that dvddec doesn't use the PGC number for IFO files, which in turn makes vobsub miss the vob files.. and it just stays there doing nothing and not telling anybody that something has gone wrong, which is terribly annoying.
If anybody has an idea how to get some useful error messages when running vobsub automatically, please let me know.
Sharktooth
18th August 2006, 03:30
x264 rev.544 (https://trac.videolan.org/x264/changeset/554) got a new option: --no-ssim (disables SSIM computation)
It now uses SSIM as default metric (instead of PSNR).
Do you think we should add it to the x264 config and profile?
foxyshadis
18th August 2006, 08:30
Turn "Enable PSNR calculation" into a "Metric calculation:" dropdown with "None", "PSNR", and "SSIM".
check
18th August 2006, 09:04
If you are going to keep PSNR (I'd be happy for it to simply be replaced), foxyshadis' idea seems good, but sounds like "both" was forgotten (unless x264 can only do one or the other).
Sharktooth
18th August 2006, 13:14
PSNR is always calculated even if --no-psnr is specified.
AFAIK --no-psnr disables the PSNR calculation visualization while --no-ssim should switch from SSIM to PSNR.
So, coupling those 2 options may be misleading.
Doom9
18th August 2006, 13:41
Does --no-ssim have any effect other than display wise?
Sharktooth
18th August 2006, 13:45
uhm, maybe i was wrong.
i had a second look at the r544 diff and --no-ssim should act exactly like --no-psnr.
Sharktooth
18th August 2006, 13:51
Doom9's on fire:
0.2.3.2192
Commit by Doom9
- Subtitle processing via VobSub
Question: is a special build of mp4box needed for vobsubs support?
Doom9
18th August 2006, 15:07
Question: is a special build of mp4box needed for vobsubs support?Anything starting with gpac 0.4.2 will do. I have not tried it though.. kinda waiting on bugreports on the whole thing and suggestions on how to make it better (I have little use for subs ).
@berrinam: do you plan to document the methods used in the muxpath finding? I've just added chapter support to the adaptive muxer and one click window and I'm hoping I did it the right way.. lacking any documented methods I could only guess what is best to be used. It appears to be working as desired, but I don't have the time to read through every single method and find an instance where it's used and then step through it to try and understand what's going on. Having fixed a couple problems before I have a pretty good idea what is being done but when I see all the overloaded versions of getShortestMuxPath or CanBeMuxed, I'm feeling a tad bit unsure.
cyberbeat
18th August 2006, 17:18
Anything starting with gpac 0.4.2 will do. I have not tried it though.. kinda waiting on bugreports on the whole thing and suggestions on how to make it better (I have little use for subs ).
I usually use VobSub to rip the subtitles out and keep them in separate files. I turn them on, if needed, using ffdshow audio configuration. If I were to use megui to mux the subtitles within my MP4 container, would they always show up as part of the video or would I be able to turn them on and off?
Thanks,
cyberbeat
akupenguin
18th August 2006, 18:41
PSNR is always calculated even if --no-psnr is specified.
The point of --no-psnr is to slightly speedup encoding by not computing PSNR. If it were just a question of displaying it or not, there wouldn't even be an option.
Yes, rate-distortion optimization inherently computes SSD, but not in a manner that could easily be reused to derive PSNR. For one thing, the PSNR that gets printed refers to the deblocked picture, while RDO applies before deblocking.
berrinam
19th August 2006, 00:50
I've merged the refactor with Doom9's changes. I have kept as much as possible but owing to the changes I've made, the shortcuts on the tools are lost, and the vobsubber is not adding jobs properly. I will endeavour to fix this up.
Doom9: Yes, I will add documentation, and also look at the changes you made to see if they look ok.
berrinam
19th August 2006, 02:06
Ok, I've merged my refactor with 0.2.3.2192, and it is all now committed in the trunk folder. For anyone with a working copy that you want to use with this, use TortoiseSVN's Relocate functionality to relocate the repository from https://svn.sourceforge.net/svnroot/megui to https://svn.sourceforge.net/svnroot/megui/trunk
New checkout's of the trunk should be done from
https://svn.sourceforge.net/svnroot/megui/trunk
Sharktooth
19th August 2006, 03:55
uhm... i guess the compile.bat didnt get updated...
berrinam
19th August 2006, 05:30
Fixed in revision 40. Also disabled warnings in compile.bat, so errors are more clearly visible.
Doom9
19th August 2006, 12:36
@berrinam: unfortunately, there will be at least another update to the productive branch.. I've already made some bugfixes and enhancements (muxpathfinding never took chapters into account) before your merge and the subtitle integration into the one clicker is already quite advanced.
And, do you have an answer to this: http://forum.doom9.org/showthread.php?p=864315#post864315 (it's about checking for YV12.. I can't find that check).
berrinam
19th August 2006, 13:15
Well I've unfortunately removed the previous branch. Since merging is somewhat a pain, perhaps you can zip your entire working copy (including the .svn folders) when you're finished, and then PM it to me? Then, I can merge it.
Sharktooth
19th August 2006, 14:03
The Update Copier compile.bat is empty and the UpdateCopier folder is not in trunk (?!?). However what about a global compile.bat?
@doom9: could you please send me your folder as well? I have to re-do a massive work on the mono port and the old source will help me with the transition to the berrinam's refactor.
berrinam
19th August 2006, 22:19
Sharktooth: Do you have any tips for us so we can ease the mono port for you? Classes to avoid using, etc....
Also, I don't actually see this as the end of all the code changes, so I don't know if it is wise to work on porting this to mono yet.
I took all extra projects out of the trunk so that I could use /recurse:*.cs for the compile.bat in megui. The distinction also seems appropriate, considering that the update copier is indeed a different application, and doesn't use any of the same code.
Doom9
19th August 2006, 23:58
My changes are based on the standard tree.. so all you need to do is get a working copy of the current tree... that is assuming I can still do a commit next time. I actually have to experiement somewhat before adding the vobsub functionality
Sharktooth
20th August 2006, 04:00
Sharktooth: Do you have any tips for us so we can ease the mono port for you? Classes to avoid using, etc....
Also, I don't actually see this as the end of all the code changes, so I don't know if it is wise to work on porting this to mono yet.
I think i will freeze the port until we get definitive structures.
Tips? .NET 1.1 compatible code and avoid windows specific stuff... but at this point i guess it's not possible ;)
berrinam
20th August 2006, 06:34
My changes are based on the standard tree.. so all you need to do is get a working copy of the current tree... that is assuming I can still do a commit next time. I actually have to experiement somewhat before adding the vobsub functionality
Well.... I've merged my changes into the main tree, so it probably won't be so easy for you to commit, considering that the folder structure is now quite different, and some code has been moved around, etc. Since I've already done a merge and I also know the code in the refactor, I figure that I would probably be able to merge your changes in most easily.
Doom9
20th August 2006, 12:40
ok, I'll upload a zipped copy of all sources when I'm done.
Sharktooth
20th August 2006, 14:31
I updated the compile-updatecopier.bat file so it does something (it was empty).
Doom9
20th August 2006, 21:50
just to make sure... do we still have the stable tree so that if any bugfixes are neede for that, we can keep on compiling and use that three for the autoupdate and distribute builds on the refactored changes manually until the point where we decide to label it stable?
berrinam
21st August 2006, 08:13
I have just made two tags in in the tags directory: 2188 and 2189. I believe they are the two bugfixing versions, so we can distribute them with any bugfixes required. The reason I put both in is because I don't know whether we want Doom9's new form of profile selection or not in what is meant to be a stable version (considering it is a new feature).
Sharktooth
21st August 2006, 13:04
2191 was the latest bugfix version.
2192 the vobsub stuff was added.
so latest tag should be 2192 (rev31).
However 2192 clean sources are here: http://mirror05.x264.nl/Sharktooth/MeGUI/MeGUI.src.2192.7z
Also, i would propose to change the MeGUI versioning adding the SVN revision.
berrinam
21st August 2006, 13:38
I don't see the point of MeGUI versioning coinciding with SVN versioning. If we always write the version number for changes in the log message when committing, then we should have no problem working out which version is which. However, a purely revision-based system doesn't allow us to say which are stable, etc.
Doom9 added some stuff in 2190 (AutoEncode defaults) which isn't really tested much yet, so I think it shouldn't be part of a tagged line (note that by tags I mean a line which is pretty much ready for the user, and we don't plan to develop except for bugfixes). It's very easy to make tags from old revisions, though, so if we find it necessary to revive a tag from 2192, then we can do it later if we so decide. Suffice it to say that SVN keeps enough info to handle our needs.
Sharktooth
21st August 2006, 14:02
2192 is already distributed thru the autoupdate. So if it's not stable (i doubt it though, coz i use it almost every day) we'll know it soon... :)
Doom9
21st August 2006, 19:05
look at my tentative changelog for the next version... it contains a bugfix, too: (overcropped preview)
0.2.3.2193
Commit by Doom9
- Adaptive muxer now takes chapter files into account (divxmux currently doesn't support chapters)
- One click mode now takes chapter files into account
- Added a button to delete the chapter file in one click mode
- Restructured the AviSynth window so that cropping is no longer possible once we switched from show input to preview mode
Sharktooth
21st August 2006, 19:55
2192 is now in tags directory so you can commit your changes over it.
Doom9
21st August 2006, 20:34
do I have to reconfigure tortoisesvn somehow?
And I'm actually not done.. I need to do some vobsub muxing tests to figure out if my planned oneclick gui changes really play out (e.g. what happens if a .sub file contains multiple track.. and how to set the language in such a case).
Sharktooth
22nd August 2006, 02:09
You can do it in several different ways.
One of them is to relocate function or just modify the files in the 2192 tag directory and then commit...
check
22nd August 2006, 02:13
Hi, just a heads up. I've been running into some problems with the wiki as I installed it in a sort of hackish way and it's coming back to bite me. Basically the problem comes down to a change of a letter halfway through the installation, and after updating with a bugfix some of the tables reverted to the old name.
The end result is that I'm just going to backup the page content and reinstall the wiki software onto a new subdomain. Since I noticed it's actually linked in MeGUI now (! I didn't even realise :P) I'll leave the old one up and running until the url change is put through with another commit. I'm planning just to stick it into meguiwiki.project357.com (no caps this time). Is this ok with everybody?
ps, shouldn't the menu link say "wiki" rather than "guide"?
Sharktooth
23rd August 2006, 13:33
ok, some things that should be taken into account:
1- Adding audio section to the avisynth script creator for non vob/mpg sources. It should create an AVS to feed to the megui audio input.
2- colormatrix filter should be added in a different place (after deinterlacing)
3- regional settings (commas, etc... create problems for OSes with different regional settings than EN/US in avisynth script creator)
4- Denoising filters are not so good. Undot should be replaced by RemoveGrain(mode=2), FluxSmooth is slow and should be replaced by RemoveGrain(mode=2) and TemporalSoften(5,2,2,scenechange=15,mode=2), Convolution3D (the YV12 version) has no temporal filtering and IMHO is not doing what it should... to be replaced by a stronger filter.
5- We also need a compression check. It could be done with the CRF profile.
6- MeGUI should visulize ONLY the selected codec profiles in every window.
7- PSP support can be added coz the recent mp4box versions support PSP MP4 format (atomchanger is no longer necessary).
Doom9
23rd August 2006, 16:16
Adding audio section to the avisynth script creator for non vob/mpg sources. It should create an AVS to feed to the megui audio input.I don't follow.. I don't see a way to list or select audio tracks from within avisynth.. the only thing that can be done is turn audio on/off.
We also need a compression check.People pay too much attention to the parts of my guides I don't care about.. the usefulnes of a compressibility check has become doubtful with xvid and is even more so with x264.
MeGUI should visulize ONLY the selected codec profiles in every window.What do you mean by that?
PSP support can be added coz the recent mp4box versions support PSP MP4 formatAnd how? And can't the PSP 2.80 firmware handle normal MP4 files now?
Sharktooth
23rd August 2006, 18:52
I don't follow.. I don't see a way to list or select audio tracks from within avisynth.. the only thing that can be done is turn audio on/off.
Just a checkbox that enables to create a simple DirectShowSource("source.ext") avs for audio.
People pay too much attention to the parts of my guides I don't care about.. the usefulnes of a compressibility check has become doubtful with xvid and is even more so with x264.
I know but... ppl wants the comp-check...
What do you mean by that?
The dropdowns for profiles should show only the profiles related to the selected codecs (AVC profiles for x264, Xvid profiles for Xvid, NeroDigital profiles for Nero AAC encoder, etc.)
And how? And can't the PSP 2.80 firmware handle normal MP4 files now?
Right, i didnt recall 2.80 could play standard MP4s.
Doom9
23rd August 2006, 19:18
The dropdowns for profiles should show only the profiles related to the selected codecs (AVC profiles for x264, Xvid profiles for Xvid, NeroDigital profiles for Nero AAC encoder, etc.)Uh.. in the x264 config I only see x264 profiles.. in the xvid config only xvid profiles, in the naac config only naac profiles.. so I really don't know what you're refering to here.
Sharktooth
23rd August 2006, 19:45
to main form and one click encoder form.
cyberbeat
25th August 2006, 01:24
0.2.3.2189
[code]0.2.3.2190
Commit by Doom9
- Added a mod4 horizontal crop mode to the anamorphic cropping modes (to be used instead of non mod16 as this can cause non
mod4 horizontal resolutions which cannot be encoded)
@Doom: I setup an AVS profile to automatically select mod4 and anamorphic encode when I go into AviSynth Creator. When I load a new video and tell it to autocrop, I go to the EDIT tab and it has the DARx and DARy set to "-1". Is that correct or does it matter? If I click on resize to mod16 and then back to mod4, the EDIT tab shows DARx and DARy set to "4" and "3", respectively.
A quick question on subtitles... It probably does not belong in this area, but since VobSub support was recently added, I thought it might be appropriate. How does megui do subtitles? Are they added to the video footage permanently or can the players turn them on and off (they are just part of the MP4, etc. containers)? Thanks.
JarrettH
25th August 2006, 07:22
Take the check for neroAacEnc.exe off of update! :sly:
Doom9
25th August 2006, 08:36
vobsub subs are per definition decoded by vobsub.. and vobsub allows you to switch off subs. You don't think I'd do something as stupid as burn in subs into the video stream, did you?
holzi
25th August 2006, 15:09
sometimes I think burned in subs are not a bad thing.
Like movies where they talk in a lot of languages and the subs on the dvd are forced anyway.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.