View Full Version : MeGUI development
berrinam
22nd March 2006, 07:47
0.2.3.2115 22 March 2006
Commit by berrinam:
- Source Detection now runs with the priority specified by the settings.
- Script Generation window is now smaller through the use of tabs.
dimzon
22nd March 2006, 12:29
0.2.3.2116 22 March 2006
Commit by dimzon:
- New tab - Changelog.txt.
Sharktooth
22nd March 2006, 14:13
CVS Update:
Updated compile.bat. It now creates a "Dist" directory and will copy all the necessary files for MeGUI binaries distribuition.
SF binaries are up to date too.
IMOON
22nd March 2006, 16:56
I think the prblem is in the "UpdateGUIStatus" function.
You dont check if next job was started or not, you only check if the current complete job has an error or if the queue was stoped.
here my solution, I have tested it and seems to work.
code from form1.cs in the UpdateGUIStatus function.
private void UpdateGUIStatus(StatusUpdate su)
{...
int nextJobStart = 0;
if (continueStatus <= 2 && this.queueEncoding)
{
nextJobStart = startNextJobInQueue(); //new with the return value to check if there was another job
}
else
{
nextJobStart=2;
}
if (nextJobStart == 2) { //new test if this was the last job or a job was stoped
this.isEncoding = false; //moved out the else before
this.queueEncoding = false;
this.startStopButton.Text = "Start";
this.abortButton.Enabled = false;
this.shutdown();
}
...}
ChronoCross
22nd March 2006, 18:21
great job. it works.
Doom9
22nd March 2006, 18:45
Question for you guys: since at the moment I just can't get myself to finish the work started, is anybody willing to look at the half-finished code? Mainly what's missing is a "codec" -> outputtype finder that goes along with the outputtype -> container finder and then integrate this into the autoencode and one click guis, and creating the proper mux jobs. It's not quite trivial but it's probably better if somebody else has a crack at it or this will loom over our heads for some time to come.. the work situation is going to get any better for the foreeable future.
dimzon
22nd March 2006, 18:49
Question for you guys: since at the moment I just can't get myself to finish the work started, is anybody willing to look at the half-finished code? Mainly what's missing is a "codec" -> outputtype finder that goes along with the outputtype -> container finder and then integrate this into the autoencode and one click guis, and creating the proper mux jobs. It's not quite trivial but it's probably better if somebody else has a crack at it or this will loom over our heads for some time to come.. the work situation is going to get any better for the foreeable future.
I can take look @ it
max-holz
22nd March 2006, 20:06
But cvs is working? No update in the public one for version 2115 and 2116
ChronoCross
22nd March 2006, 20:07
But cvs is working? No update in the public one for version 2115 and 2116
they only updated it this morning. it can take up to 8 hours for it to update. Be patient. I already posted another build.
Sharktooth
22nd March 2006, 20:41
CVS Update:
0.2.3.2117 22 March 2006
Commit by Sharx1976:
- Fixed the shutdown problem (patch by IMOON).
Sharktooth
22nd March 2006, 20:45
But cvs is working? No update in the public one for version 2115 and 2116
you can always find updated sources here:
http://files.x264.nl/Sharktooth/?dir=./megui/Sources
berrinam
23rd March 2006, 10:03
Thinking about the current system we have for AR signalling, I realised just how unreliable it is -- it only sets the AR if you encode the script immediately after creating it. This means that the unsuspecting user might create the script, then encode it some days later, and be surprised to discover that the AR turned out wrongly. I remembered dimzon's idea from back here (http://forum.doom9.org/showthread.php?p=785540#post785540) and I wanted to see what the conclusion on that was. Turns out, after an initial no by Doom9* and a yes by Sharktooth, it seems to just have been forgotten. I want to say now that I also think this is a good idea, and from a design viewpoint, it also makes sense; information about the source file should be contained in the source file, and since AviSynth can't signal AR, then it is up to us to create some form of compromise (unless there is a way to communicate directly with avisynth.dll so that the filters can keep track of the AR, but I suspect that would be too complex).
Just for reference, here is the suggestion that dimzon made:
Maybe we can add some magic macros to avs script? Something like
bla bla bla
bla bla bla
# $MeGUI_SAR(1.34)
and analyze avs when opening?
*Doom9 initially said no, but he was away for a while after dimzon's explanation of why, so I wanted to bring this up again. What do you think?
Sharktooth
23rd March 2006, 10:40
you know i like it and a lot of useful things can be done thru "macros".
for example you can even set codecs and their settings (usefull for debugging)...
sysKin
23rd March 2006, 14:57
Thinking about the current system we have for AR signalling, I realised just how unreliable it is -- it only sets the AR if you encode the script immediately after creating it.
At least in my case, I first create a script and then load a codec profile, which effectively ruins all AR calculations every time.
The only solution I can see is to redesign whole AR thing - it's not a codec setting at all, it's a picture setting.
Unfortunately I have no good ideas how to do that properly :(
Richard Berg
23rd March 2006, 18:57
@berrinam - I would prefer to see us read it from a "magic variable" instead of a "magic comment." That way we can use the Avisynth scripting language to calculate the AR for us. For example, I often use this function:
function ResizeAR(clip c, int "dest_x", int "dest_y", string "ar")
{
Assert(!ar.Defined || ar.LCase == "sar" || ar.LCase == "dar",
\ "rb-ResizeAR: If defined, 'print' must be 'sar' or 'dar'.")
dest_x = default(dest_x, c.width)
dest_y = default(dest_y, c.height)
dest_ar = float(dest_x)/dest_y
dar = (float(c.width)/c.height) * (4320./4739)
sar = dar / dest_ar
out = c.LimitedSharpen(dest_x = dest_x, dest_y = dest_y)
return !ar.Defined ? out : out.SubTitle(ar + ": " + string(eval(ar)))
}
It would be great if instead of printing the AR on the screen for manually typing into MeGUI, I could just stick the result into a magic variable.
berrinam
23rd March 2006, 23:07
I like that idea. While it is easier to calculate dars with floats, integers are used by most encoders. I propose that AviSynth scripts with AR signalling have two globals: outputDARX and outputDARY. MeGUI could read those globals and pass them directly on. We can then make two AviSynth script functions to manage that: SignalFloatDAR(float DAR) and SignalDAR(int x, int y), the first of which would convert the float to a fraction, and the second of which would just save x and y as outputDARX and outputDARY respectively.
ChronoCross
24th March 2006, 17:37
@devs
I did some work this week with mencoder compiling and finally managed to make a good working version specifically for megui using a MingW workaround for largefiles from the mplayer mailing list. It has xvid 1.1 final and libavcodec only everything else is disabled. This works well since megui only uses it for xvid and huffy.
I played around with the commandline for pre-rendering. Here's what I found.
"D:\OFFICE_SPACE\VIDEO_TS\Office.avs" -o "D:\OFFICE_SPACE\VIDEO_TS\hfyu_Office.avi" -of avi -forceidx -noodml -ovc lavc -lavcopts vcodec=ffvhuff:vstrict=-2:pred=2:context=1
Works only for lossless under 4GB(approx a single episode of an anime 24-25Mins). Once it hits the 4GB barrier it no longer produces a valid avi file. However the following command line works for all sizes.
"D:\OFFICE_SPACE\VIDEO_TS\Office.avs" -o "D:\OFFICE_SPACE\VIDEO_TS\hfyu_Office.avi" -of avi -forceidx -ovc lavc -lavcopts vcodec=ffvhuff:vstrict=-2:pred=2:context=1
I think the second one should be used. I will be posting the mencoder I built for megui later today. It's just a matter of removing the -noodml switch.
Doom9
24th March 2006, 17:46
@ChronoCross: mencoder for xvid encoding is at a dead end.. the next stable version won't support it anymore.
ChronoCross
24th March 2006, 17:59
Understood. In the current megui it's actually the method I prefer. With xvid_encraw not being totally stable yet(I'll do some tests later to try it out more) I think the important thing is the large file support for lossless in huffy. I can remove the xvid compilation at any time.
dimzon
24th March 2006, 18:15
@ChronoCross: mencoder for xvid encoding is at a dead end.. the next stable version won't support it anymore.
So it's time to change project name, isn't it? :eek:
sillKotscha
24th March 2006, 18:39
So it's time to change project name, isn't it? :eek:
why??
just name it: mediaencodingGUI :rolleyes:
dimzon
24th March 2006, 18:42
why??
just name it: mediaencodingGUI :rolleyes:
Fine trick :cool:
ChronoCross
24th March 2006, 18:44
why??
just name it: mediaencodingGUI :rolleyes:
To be honest I always thought that's what it stood for.....lol. I never thought the name had anything to do with mencoder.
sillKotscha
24th March 2006, 18:49
To be honest I always thought that's what it stood for.....lol. I never thought the name had anything to do with mencoder.
well, shall I copyright the name :D
just kiddin' and back on topic, 'cause that's not my cup of tea here :)
ChronoCross
25th March 2006, 02:32
after meeting brian fitzpatrick(one of the creaters of subversion) today I'm convinced moving to svn is a good idea lol.
berrinam
25th March 2006, 09:45
Ok, testing version of MeGUI with AviSynth-based AR support (it reads the variables darx and dary through dimzon's getintvariable function in the AviSynthWrapper) can be found at http://rapidshare.de/files/16365267/megui-avs_ar.zip.html
It also includes a patch based on v0.2.3.2117, so that you can recreate my sources.
It sets the AR upon opening the script file for previewing, or, failing that, immediately before encoding, in the CommandlineVideoEncoder.setup() function. This should actually be moved to a different location, because it probably won't work for non-commandline video encoders, but it works fine at the moment, and this is just a Proof-of-Concept version. Please try it out and say what you think.
dimzon
25th March 2006, 11:09
Ok, testing version of MeGUI with AviSynth-based AR support (it reads the variables darx and dary through dimzon's getintvariable function in the AviSynthWrapper) can be found at http://rapidshare.de/files/16365267/megui-avs_ar.zip.html
Seems like you need GetFloatVariable(). Ok, I will try to add it @ next week.
berrinam
27th March 2006, 07:00
I'm still working away at the AutoUpdate dialog and i have a few more questions.Any news on this front?
dimzon
27th March 2006, 20:50
Some GUI guide http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/iuiguidelines.asp
berrinam
29th March 2006, 11:28
0.2.3.2118 29 March 2006
Commit by berrinam:
- Changed mpeg2source() to DGDecode_mpeg2source() in AviSynth scripts to fix clashes with mpeg2dec(3)
Doom9
30th March 2006, 08:09
I haven't touched the code for weeks so it's high time somebody else had a crack at it. Sorry it took so long. Here are my current sources: http://forum.doom9.org/MeGUI-src.CVS.rar
What's done: automatic output format selection in function of the codec in the main GUI. Automatic limit of the available container formats in the autoencoding window based on the codec and output types selected in the main window. xvid_encraw full support, avc2avi support
What's missing: automatic output type selection based on the selected codec(s) in the main window, thus discarding and re-assigning output types.
Add the above to the one clicker
Generate jobs with the knowledge of these above checks and (and I don't like this conceptually but it's the best I can come up with), write which muxer is to be used into each mux job created so that come muxing time, you don't have to perform another lookup session that potentially disrupts everything. And then, avimuxgui support.. though that can come later.. the poing of the whole mux finding story is just to prevent output formats from showing up if they cannot be muxed at the end.. so without avimuxgui you'll end up being able to get AVC in AVI, but only if there's no audio.
Oh, and the same mechanisms can be used for the other mux windows.
To quickly see where to hook into, set a breakpoint that hits when you press the auto mode button.
@dimzon: you have a bug to fix: http://forum.doom9.org/showpost.php?p=804776&postcount=761
berrinam
5th April 2006, 08:40
Ok, testing version of MeGUI with AviSynth-based AR support (it reads the variables darx and dary through dimzon's getintvariable function in the AviSynthWrapper) can be found at http://rapidshare.de/files/16365267/megui-avs_ar.zip.html
It also includes a patch based on v0.2.3.2117, so that you can recreate my sources.
It sets the AR upon opening the script file for previewing, or, failing that, immediately before encoding, in the CommandlineVideoEncoder.setup() function. This should actually be moved to a different location, because it probably won't work for non-commandline video encoders, but it works fine at the moment, and this is just a Proof-of-Concept version. Please try it out and say what you think.
Any news on this? I think Sharktooth, Richard and dimzon all agree with the idea, how about Doom9?
Can I commit this to the CVS?
Doom9
5th April 2006, 09:39
so bottom line is that the avisynth script creator writes these to the script, and the encoder would read them out when available and use them to override the dar flags in the codec configuration?
berrinam
5th April 2006, 09:54
Yep. This is read through the AviSynth GetIntVariable function, so it also allows AviSynth scripts to perform calculations on these, which are then passed back into MeGUI, like Richard described.
edit: to signal it in a script, you just need to add
darx = 16
dary = 9 somewhere in your script
Richard Berg
5th April 2006, 10:05
Keep in mind the Avisynth scripting language doesn't have the concept of namespaces -- outside of functions, everything's global. As such we should use scoped names like MeGUI_darx.
dimzon
5th April 2006, 13:04
This is read through the AviSynth GetIntVariable function
through the AviSynthWrapper.GetIntVariable method :sly:
Doom9
5th April 2006, 15:10
No objections here.
@dimzon: did you get around to having a look at the code I posted?
dimzon
5th April 2006, 15:16
did you get around to having a look at the code I posted?
ATM I'm @ heavy deadline @ my primary work, sorry...
I'm planning to take look @ it @ weekend anyway
berrinam
6th April 2006, 00:02
0.2.3.2119 5 April 2006
Commit by berrinam:
- Supported macro-based AR signalling in AviSynth scripts, using variables MeGUI_darx and MeGUI_dary
- Converted Source Detection's hybrid threshold into a percentage of total
- Some updated deinterlacing filters suggested
max-holz
6th April 2006, 16:34
0.2.3.2119 5 April 2006
Commit by berrinam:
- Supported macro-based AR signalling in AviSynth scripts, using variables MeGUI_darx and MeGUI_dary
- Converted Source Detection's hybrid threshold into a percentage of total
- Some updated deinterlacing filters suggested
Sourceforge CVS is really a shit, not updated yet!!! It's not possible to pass to SVN seems to be a little better.
ChronoCross
6th April 2006, 18:25
yeah after 18 hours it's still not updated. it's rather annoying.
berrinam
6th April 2006, 22:04
Should ChronoCross perhaps have developer access? If you have a SF account, ChronoCross, then it should be possible to give you CVS access and file release rights, which would also mean that you can publish "official" builds as well.
squid_80
6th April 2006, 22:43
For those whining about sourceforge, it shat itself about a week ago and developer access was restored less than 2 days ago. As far as I know synching between anonymous and developer cvs has not been restored yet so you might not see any updates for some time.
berrinam
6th April 2006, 22:49
Ok, well here's a CVS snapshot:
http://rapidshare.de/files/17373995/MeGUI-src.CVS.zip.html
ChronoCross
7th April 2006, 02:02
I do indeed have a sf account...take a guess at what it is =D lol
ChronoCross
7th April 2006, 02:04
blah can someone post the sources somewhere else please? Rapidshare doesn't like my universities web proxy.
Sharktooth
7th April 2006, 02:16
http://files.x264.nl/?dir=./Sharktooth/megui/Sources
sorry for the delay
ChronoCross
7th April 2006, 02:36
thank you
ChronoCross
7th April 2006, 02:38
psst.....I believe the changes are there....however the version number isn't corrct in the main program....only in the changelog.
berrinam
7th April 2006, 06:12
psst.....I believe the changes are there....however the version number isn't corrct in the main program....only in the changelog.
My mistake. I see you've fixed it up, so no problem.
@Richard and all: What's the feasibility of putting MediaWiki on megui.org? I'm interested in continuing/extending the documentation of MeGUI, and I think that would be one of the easiest ways to manage it. What does everyone else think of this?
Richard Berg
7th April 2006, 17:33
No problem. We'll just need to move the autoupdate files to megui.org/auto or something.
berrinam
7th April 2006, 23:33
0.2.3.2120 7 April 2006
Commit by berrinam:
- Fix commandlines generated for MP4Box
berrinam
8th April 2006, 05:50
0.2.3.2121 8 April 2006
Commit by berrinam:
- Add ability to import/export profiles. This also manages the dependancies, like CQM files and One Click profiles. This works through the file menu and through dragdrop.
The reason for this: it means we don't have to trust users to muck around with what should really be program files in order to install ST's profiles. It also means that profiles can now be distributed with CQMs, and it is easier for people to distribute profiles, in particular One Click profiles, which require also an audio, video and avisynth profile. Finally, this paves the way to distributing profiles through an 'auto-update' mechanism.
max-holz
8th April 2006, 08:45
Public CVS is dead, please pass to SVN.
Sharktooth
8th April 2006, 12:35
new sources at the same place.
ChronoCross
8th April 2006, 19:59
I'll post another build soon. I'm also working on my new site so hopefully when I get some actual freetime I can finish that. it'll make the organization of stuff better lol.
berrinam
10th April 2006, 13:13
0.2.3.2122 10 April 2006
Commit by berrinam:
- Support any filetype through directshow in AviSynth script creator
- Make resize turn-off-able in AviSynth script creator
- Automatically set AR on non-d2v loaded sources as well as d2v sources in AviSynth script creator
- Add clear log button
- Remove main-tab restriction on drag/drop
berrinam
11th April 2006, 10:50
0.2.3.2123 11 April 2006
Commit by berrinam:
- Allow any video input in the main window, and generate an input scriptlet for it.
Sharktooth
11th April 2006, 16:23
sources archive updated
ChronoCross
12th April 2006, 00:42
What do you guys think of an installer? I finished the NSIS script I want to use along with all the files needed for MeGUI. I'll only change over to this if the devs agree it should be distributed in this form.
berrinam
12th April 2006, 08:02
What do you guys think of an installer? I finished the NSIS script I want to use along with all the files needed for MeGUI.An installer is obviously good for n00bs. However, getting the entire installer is a helluva download to just get an update of MeGUI (this happens a lot). I think that we will eventually want an installer which sets up MeGUI and gets everything else through the automatic update system, but until then, you should continue to distribute MeGUI without anything else. Distribute the installer as well, as far as I'm concerned, but don't abandon the single MeGUI executable yet, because I think people won't like being forced to download a huge package every update.
ChronoCross
12th April 2006, 16:23
I think what I'm gonna do is make an installer that installes everything including a build available at the time.
call it: MeGUI-Essentials-20060312.exe
And then from that point we can first have people install the essentials pack(which doesn't include neroAG's codec dll's due to licensing issues.) Then they can update the megui files using my standard .rar files.
Sharktooth
12th April 2006, 20:04
good news. i recovered all the lost data on my raid 0 array...
so, im still busy with my health problems but i intend to finish a couple of patches i was working on before being hospitalized.
shon3i
12th April 2006, 22:26
@berrinam and ChronoCross can you put in this package everything is need something like GK pack.
ChronoCross
12th April 2006, 22:40
@berrinam and ChronoCross can you put in this package everything is need something like GK pack.
It's what I had planned. everything cept nero's stuff.
shon3i
12th April 2006, 23:29
everything cept nero's stuff.
That is ok.
berrinam
13th April 2006, 08:37
0.2.3.2124 13 April 2006
Commit by berrinam:
- Intermediate file deletion now deletes *all* intermediate files except for besweet log files
- Fix crash with Delete Intermediate files and Delete Completed jobs
berrinam
13th April 2006, 14:51
0.2.3.2125 13 April 2006
Commit by berrinam:
- If aspect error due to non-ITU resizing exceeds an amount given in Settings, default to ITU resizing
max-holz
13th April 2006, 15:49
I repeat my request. It seems that the refactoring will not come out shortly,so could you pass the project to sourceforge SVN that works correctly please.
Sharktooth
13th April 2006, 16:33
well... we need the doom9 authorization
in the meantime im uploading the new sources to files.x264.nl <-- EDIT: done
Doom9
13th April 2006, 20:42
would you like to manually merge a couple dozen files?
berrinam
13th April 2006, 23:44
@Doom9: does a restructure of the Audio UI/AudioStreams stuff clash with your refactor? Specifically, this means modifications of all the event handlers for the Audio section in the main form, as well as a modification of convertLanguagesToISO in MuxWindow.cs. To be safe, I've submitted these modifications as a patch, but if they don't clash, then I'll commit them to the CVS.
Changes:
-Fixed 'audio/input types are incompatible' error message
-Freed up the users options regarding audio input/output
-Fixed crash in convertLanguagesToISO
Patch description on SF: http://sourceforge.net/tracker/index.php?func=detail&aid=1470138&group_id=156112&atid=798478
Patch file on SF: http://sourceforge.net/tracker/download.php?group_id=156112&atid=798478&file_id=174516&aid=1470138
When applying the patch, you'll have to add my changes to the changelog, as well as modify AssemblyInfo to reflect whatever version number you choose to call this.
Doom9
14th April 2006, 12:14
@berrinam: a couple pages ago I posted a link to the current status of my code.. dimzon wanted to have a look but I haven't heard anything yet. All the changes that concern the main window are finished.. changes are only forthcoming in the autoencoding and one click window, job generation and job processing (okay, that will have an influence on the main form).
I have made a few fixes to MeGUI for issues I was experiencing myself. Maybe someone can include these in the src?
1. One-click configuration dialog populates its audio profile combobox twice with all available profiles, because it does this when the container changes (during initialization) and later again when the audio profile combobox should be filled for the first time. Fix: comment out the second fill code. Or even better: have a single method which remembers the selected profile, repopulates the combobox and reselects the original profile again (if it's still available) or selects the first profile (otherwise). I would have done that but didn't want to change so much code without being able to check in.
OneClickConfigurationDialog.cs
...
if (videoIndex > -1)
videoProfile.SelectedIndex = videoIndex;
// FIX: stop audioProfile combobox from being populated twice with all
// profiles (one time as a sideeffect from setting containerFormat.SelectedIndex
// above, the second time here. XXXXX
/*
foreach (string name in mainForm.Profiles.AudioProfiles.Keys)
{
this.audioProfile.Items.Add(name);
}
if (audioIndex > -1)
audioProfile.SelectedIndex = audioIndex;
*/
foreach (string name in mainForm.Profiles.OneClickProfiles.Keys)
...
2. In one-click mode MeGui assumes that demuxed audio files have a T01, T02, T03... substring in their filename which indicates the track number. I have demuxed a PVA which was created by ProjectX and the audio file did not include a T01. The result was that no audio job was added to the queue and the video had no audio. I have worked around this in VideoUtil.cs getAllDemuxedAudio() by removing the "T0X" substring detection but hesitated to do more (because the code might have changed already and I couldn't check in). I suggest a fallback: if no audio file matches T?? all audio files should be added.
3. AviSynthWrapper.Dll dimzon_avs_init() does not support international characters in .d2v filenames. With parameter arg = "Wände.avs" I get this error:
MPEG2Source : unable to load D2V file \"Wände.d2v\" \n(Wände.avs, line 4)
if(0!=dimzon_avs_init(ref _avs, func, arg, ref _vi, ref _colorSpace, ref _sampleType, forceColorspace.ToString()))
{
string err = getLastError();
cleanup(false);
throw new AviSynthException(err);
}
DC
dimzon
14th April 2006, 13:42
3. AviSynthWrapper.Dll dimzon_avs_init() does not support international characters in .d2v filenames. With parameter arg = "Wände.avs" I get this error:
MPEG2Source : unable to load D2V file \"Wände.d2v\" \n(Wände.avs, line 4)
if(0!=dimzon_avs_init(ref _avs, func, arg, ref _vi, ref _colorSpace, ref _sampleType, forceColorspace.ToString()))
{
string err = getLastError();
cleanup(false);
throw new AviSynthException(err);
}
this is not AviSynthWrapper.Dll problem, this is avisynth problem
dimzon
14th April 2006, 23:27
@Doom9
I'm sorry. I'm @ heavy deadline pressure. I was @ work during last weekend and I will be @ work this and next weekend too..
So I have no time to take close look @ Your sources, I'm very sorry... Maybe I will have more free time after May 10...
PS. My office PC has been broken again (3-rd time diring last 4 month). Overheat caused motherboard condensers exploision... :devil: :devil: :devil: Seems like I'm cursed...
Doom9
15th April 2006, 09:22
well.. my work PC needs a windows reinstall.. the usual tricks (removing no longer used software and defragmenting) do not help anymore. Oh, and it needs tons more ram.
dimzon
15th April 2006, 12:26
Oh, and it needs tons more ram.
<offtopic>
My office PC has 1.5GB RAM, Yeah!
</offtopic>
goldencoin5
15th April 2006, 22:48
i m a new bie n the prob is that how can i convert my DIGITAL VIDEO to AVI with MEGUI ?
with staxrip i m doing it very easily but wann'a try MEGUI ?
when i open a .ts file it says CHECK YR PIDZZZ
i open it with d2v creator :helpful:
berrinam
16th April 2006, 00:42
0.2.3.2126 15 April 2006
Commit by berrinam:
- Fixed issue with audio combobox in OneClickProfileConfig'er being populated twice (thanks to DC)
2. In one-click mode MeGui assumes that demuxed audio files have a T01, T02, T03... substring in their filename which indicates the track number. I have demuxed a PVA which was created by ProjectX and the audio file did not include a T01. The result was that no audio job was added to the queue and the video had no audio. I have worked around this in VideoUtil.cs getAllDemuxedAudio() by removing the "T0X" substring detection but hesitated to do more (because the code might have changed already and I couldn't check in). I suggest a fallback: if no audio file matches T?? all audio files should be added.
Good idea, but there is the possibility of a better solution, which I posted about here (http://forum.doom9.org/showthread.php?p=813198#post813198)
Doom9
16th April 2006, 11:44
I suggest a fallback: if no audio file matches T?? all audio files should be added.megui only supports two audio tracks... I'd much prefer berrinam's approach.. it's more informative, and error resiliant as we could finally scrap the "find demuxed audio" routine and instead know for sure what it is we're looking for.
Mutant_Fruit
16th April 2006, 16:31
Hi,
Sorry for vanishing for so long. I was away on holidays in lavigno skiing over my easter break from college and i managed to damage myself a little :P
Anyway, with my summer exams coming up in less than a month i've been overloaded with study and whatnot, so i don't have much time to mess around with code. Here's the current status on the AutoUpdate:
Firstly, i havn't really touched it in a few weeks, so i may have forgotten some problems with it. I went through it today, commented some bits of it and wrote a little .doc with some info on what has to be done (that i remember) and what i have done. It's mostly done. It just needs a few tweaks here and there
If anyone does want to continue it on, feel free to PM me (i mightn't be on the forums too much, so i might miss a post).
Once again, sorry for vanishing off for so long, i got quite distracted with all the work i have to be doing.
In the zip file there are two folders. The CVS version is the CVS version of MeGUI that i was working off when i started this. The New Version is the version with the AutoUpdate code and all that. The document is just a list of TODO's and a quick explanation of the code and some of the important points.
Source code (http://www.fileshack.us/files/741/Update.rar)
EDIT: The "server" url in the code needs to be changed as the files are now in http://megui.org/auto/ as opposed to http://megui.org/
megui only supports two audio tracks... I'd much prefer berrinam's approach.. it's more informative, and error resiliant as we could finally scrap the "find demuxed audio" routine and instead know for sure what it is we're looking for.
I realize that there are problems with my suggestion, first of all the order. Currently one-click allows to select a generic Track 1, Track 2, ... but if we add all available tracks it can be hard to determine which one is track 1.
However, I have a bunch of already demuxxed m2v/mp2 files which come from ProjectX. And I need ProjectX to read my .rec files (which come from a Topfield receiver) and I also need it to fix audio sync problems - which requires it to demuxx the media. I tried having ProjectX convert to PVA and DGIndex demuxx but the result was bad audio sync (really bad, variable offset). Seems I have to stick with PX and its demuxxing (and I also cut with PX).
Bottomline is I have demuxxed audio already and DGIndex can't know any better than MeGui which audio it is. But it's not like there were dozens of totally unrelated filenames for audio tracks. Usually there one or two with the same name as the video and extension ac3 or mp2. If one-click could have the real audio filename in its combobox (instead of Track 1, 2, ...) neither MeGUI nor the user would have to guess which track to use...
berrinam
17th April 2006, 02:09
If anyone does want to continue it on, feel free to PM me (i mightn't be on the forums too much, so i might miss a post).I've managed to compile this, integrate it with the newest CVS, and make a few changes. I'll try to get this finished and committed into CVS soon.
@Richard: Could you sort out some way of me getting access to megui.org please, so I can play around with the auto-update files? Also, what's up with http://megui.org/mediawiki/ ? There seems to be a folder there, but it redirects to http://megui.avisynth.org/mediawiki/index.php/Main_Page which gives a 'can't find server' error.
ChronoCross
17th April 2006, 02:46
Okay everyone. Now that my easter break is over, I've finished the installer for the essentials package. This should be installed by everyone who is new to megui and having problems.
Note: Nero Audio codecs not included due to licensing issues. Please download nero from www.nero.com and find aac.dll and accenc32.dll to encode using nero.
Essentials Package with MeGUI 2.3.2125 (http://chronocrossdev.com/apps/megui/MeGUI-Essentials.exe)
Doom9
17th April 2006, 13:05
If one-click could have the real audio filename in its combobox (instead of Track 1, 2, ...) neither MeGUI nor the user would have to guess which track to use...You want something else: being able to manually select audio streams instead of having dgindex demux them. If you have a DVD, where the 8 streams really come from, if you don't have the info file it's your own bad.. those that rip as they ought to for megui will have a nice dropdown with all the languages the DVD has.
When it comes to digiTV streams, dgindex just offers the track1-8.. what could megui do different than offer the same so that it would be more clear?
Keep in mind, you have an entire different workflow. the one clicker is for people who demux with dgindex. And this is a discussion for the suggestion thread.
sillKotscha
18th April 2006, 01:52
Okay everyone. Now that my easter break is over, I've finished the installer for the essentials package.
thank you for that installer... very nice :)
two things to mention:
1. for the beginners there should be a hint to put the aac.dll and the aacenc32.dll into the besweet folder (if they want to use nero for audio encoding) and
2. you should definitely remove your logs ;)
thank you
Sill
Edit: you'll find mencoder doubled... as it should (mencoder.exe) but mencoder.rar as well -> does make the package smaller if removed ;)
Edit 2: and you'll find another mencoder.exe within \tools\MKVtoolnix\mencoder.exe -> another 11,4 MB to remove from the package...
you seem to love mencoder :) that leads to my last question... why isn't the xvid encoder xvid_encraw but mencoder?
ChronoCross
18th April 2006, 03:20
sorry I forgot about all the copies I had floating around in there. there are issues with mencoder and largefiles. I had been working on a fix for that. I finally got it however I think there is a problem with the current one I have unzipped. the one in the rar is probably the best to use. I will have that fixed in the next updated release(atomorrow sometime)
berrinam
18th April 2006, 06:05
I believe the newest xvid_encraw isn't supported by MeGUI at the moment, so it is best to stay with mencoder for the time being.
@ChronoCross: The AviSynth plugins need to go in the AviSynth plugin directory (given by LocalMachine\Software\AviSynth\plugindir2_5 in the registry). Also, you may have noticed that I Mutant_Fruit uploaded the source code to his autoupdate code, and I am working on it. I hope to finish it soon, so that could eliminate the need for all the extra files required in a package.
ChronoCross
18th April 2006, 06:14
I'll make a readme of things needed to be done manaully( I have not figured out how to do things such as reading from the registry. but yeah the next version will be greatly improved.
Oh also could you remove -noodml from the mencoder huffy commandline in cvs? it won't allow for greater than 4GB.
sillKotscha
18th April 2006, 06:14
I believe the newest xvid_encraw isn't supported by MeGUI at the moment, so it is best to stay with mencoder for the time being.
thanks for clarification :)
ChronoCross
18th April 2006, 23:34
I've redid the essentials package to make the corrections. It also has a readme. The size is now greatly reduced. 10MB.
berrinam
19th April 2006, 00:44
I'll make a readme of things needed to be done manaully( I have not figured out how to do things such as reading from the registry. but yeah the next version will be greatly improved. Don't overstress yourself with making the installation do everything right now. Maybe we should come up with a verdict on how we will do distributions (auto-update or not) from my post (http://forum.doom9.org/showthread.php?p=814983#post814983) first.
Oh also could you remove -noodml from the mencoder huffy commandline in cvs? it won't allow for greater than 4GB. Have you now managed to make an mencoder build that works with big files? In that case, I will certainly remove it.
ChronoCross
19th April 2006, 03:04
yeah the one that I have included in the package works with large filesizes. it took 2 different patches and some time reading and asking questions on the mplayer mailing list.
As for the auto update I'm all for that. all we need is a place to store the stuff, decisions on directory structure and the ability for someone to update and check for other updates when necessary.
berrinam
19th April 2006, 03:49
yeah the one that I have included in the package works with large filesizes. it took 2 different patches and some time reading and asking questions on the mplayer mailing list.Great. I'll update the commandlines, then.
As for the auto update I'm all for that. all we need is a place to store the stuffmegui.org
decisions on directory structureAt the moment, this follows what is already set up. As in, it is currently designed for updating an already-configured system, so it simply replaces the files wherever they are with a new version. I'm considering adding a 'setup' preset/mode of operation, which will get everything and put it in a new directory structure (my idea is listed at the end of this post).
the ability for someone to update and check for other updates when necessary.I don't get that. Are you basically saying that we need the ability to run auto-update? Isn't that obvious?
My proposed directory structure:
%meguidir%\tools\x264\
\mencoder\
\xvid_encraw\
\neroraw
\faac\
\lame\
\besweet\
\mkvmerge\
\mp4box\
It's similar to what you currently do with your installer, but it ensures that files with the same names in various packages (especially things like readme.txt) don't override each other.
ChronoCross
19th April 2006, 03:59
I don't get that. Are you basically saying that we need the ability to run auto-update? Isn't that obvious?
I actually meant an admin to control the files that need updating. Someone to actually go out, look for any updates and then place them on the site for updating. (filters, programs among other things)
berrinam
19th April 2006, 04:23
0.2.3.2127 19 April 2006
Commit by berrinam:
- Allow relative pathnames for encoder files
riggits
19th April 2006, 09:16
0.2.3.2127 19 April 2006
Commit by berrinam:
- Allow relative pathnames for encoder files
This is a landmark moment in MeGUI history :)
Thanks berrinam!
berrinam
19th April 2006, 09:52
This is a landmark moment in MeGUI history :)
Thanks berrinam!
Hahahaha! :D The changes for that revision are just overwhelming: two extra lines, both executable = Path.Combine(Application.StartupPath, executable);
Just goes to show that the amount of work required for a change has absolutely no relation to the value that the users place on it.
max-holz
19th April 2006, 11:21
I have a silly question.
What Sourceforge thinks about his ridicolous cvs? :D
ChronoCross
19th April 2006, 15:44
I haven't been able to update in about a month. So I haven't made a build past 2125
Sharktooth
19th April 2006, 21:40
latest sources are here: http://files.x264.nl/?dir=./Sharktooth/megui/Sources
However, time to move to SVN... at least it works.
max-holz
20th April 2006, 00:28
From Sourceforge:
( 2006-04-14 11:18:04 - Project CVS Service ) As of 2006-04-14 we have an estimate on when the replacement CVS hardware for the new infrastructure will arrive. As soon as we get in into our hands, we'll actively work on it, with a goal of having it online by the end of the month of April. This is a best guess, and may not get hit due to the aggressive timeline we have placed on this project. However, be assured that recovery of this service in full is our highest priority. The sync process between developer and anonymous CVS (ViewCVS, etc.) is disabled now until the new infrastructure is in place, to ensure we have maximum coverage for the small number of data corruption issues that have been detected. We understand this is sub-optimal, but strongly believe that the protection of the data is paramount.
ChronoCross
20th April 2006, 06:01
with sharktooth's sources I added the latest build. Stupid sourceforge.
berrinam
20th April 2006, 11:57
0.2.3.2128 20 April 2006
Commit by berrinam:
- Fix SAR labels to DAR in config windows
Sharktooth
20th April 2006, 14:12
2128 sources are up.
ill try to keep the archive updated as much as i can.
berrinam
20th April 2006, 23:33
0.2.3.2129 20 April 2006
Commit by berrinam:
- Allow the user to choose how to achieve mod16 in AR in the script creator
berrinam
23rd April 2006, 08:24
*Bump*
@Richard: Could you sort out some way of me getting access to megui.org please, so I can play around with the auto-update files? Also, what's up with http://megui.org/mediawiki/ ? There seems to be a folder there, but it redirects to http://megui.avisynth.org/mediawiki/index.php/Main_Page which gives a 'can't find server' error.
Sharktooth
24th April 2006, 03:08
0.2.3.2129 bins: http://files.x264.nl/force.php?file=./Sharktooth/megui/MeGUI-0.2.3.2129.7z
berrinam
24th April 2006, 06:27
I had another look at Doom9's sources for his refactor, and I've now got a working copy. I have to merge these sources with the latest revision (a task I'm not looking forward to), and then after some testing, I hope I can commit.
Doom9
24th April 2006, 11:14
and I've now got a working copyUmm.. you finished all that was left open (starting with codec -> outputtype finding)? Because without that, the autoencoding thing is very unlikely to work. The one clicker will work since it uses old code, bit it should be upgraded to use the new code as well.
berrinam
24th April 2006, 22:19
I had a primitive working copy that compiled and generated paths. There's more left to do than I thought, but the path-building seems to be working.
ChronoCross
24th April 2006, 22:39
Berrinam could you update the x264 config dialog to include the new switches?
berrinam
24th April 2006, 22:50
Can you tell me what they are, because I haven't been following x264 development too closely?
I believe that some of these are non-SVN. Should I split up MeGUI into SVN and non-SVN again?
ChronoCross
24th April 2006, 23:01
SVN
--no-dct-decimate
non-svn
--aq-tcplx <int> non-svn however I don't recommend using it as it's still not working right with bframes.
--aq-strength <float>
--aq-sensitivity <float>
I don't think there is any need to split it up again. Just to add the first and save the other 3 for reference in future builds.
Doom9
25th April 2006, 07:29
I had a primitive working copy that compiled and generated paths.Well.. the paths were already working.. but it was based on the audio/video output type selected in the main window.. not just the codec. And if a path contained more than one muxer, that wouldn't work.
berrinam
25th April 2006, 09:03
Well, I've now got a recursive path-finding algorithm, that *should* work based on the codec, not the output type, and it can find mux paths with any number of muxers.
I made some changes to your path-finding algorithm, so that it doesn't need the muxers to be in the order they are listed within the code, and also so that all possible mux paths are considered. I also added another class which helps choose the 'best' mux path, so that further additions to that are easier.
I was also a bit confused by a few of the methods, like the one called 'humba,' but I figure they weren't used.
Also, I'm not convinced that this mux path method is the best one. The reason is that it presumes that once something has been muxed into the big thing (ie it has been removed from the unhandled set), it is sorted. This isn't necessarily the case. I can't actually see any problems with our current feature set, but let me just give a (somewhat stupid) hypothetical situation:
Let's say that we need to mux TWO AVC streams into VFW-based mkv (as I said, it's stupid, but it illustrates my point). What this needs is avc2avi being run once on each of those streams, followed by mkvmerge joining these AVIs. However, the current algorithm won't work with this because:
1. It assumes that if you can mux one file in, you can mux as many as you want.
2. Assuming assumption 1 is not the case (because it is quite easy to change that) the first avc file would be converted to avi, and then the next muxpathleg would try to import that avi and add another, but avc2avi can't import avis. This is a problem of the serial nature of the mux-paths.
Ok, so it's a stupid example, but imagine we had some tool like that for audio. Then we might get some problems. I'm thinking about doing a even more complex algorithm which can handle parallel mux steps which all get muxed together at the end.
EDIT: I'm getting carried away. It's overly hypothetical, and I think KISS works for now.
Doom9
25th April 2006, 11:57
Let's say that we need to mux TWO AVC streams into VFW-based mkvNever going to happen for two reasons: 1) megui won't support vfw mode for avc and if you have asp, the best mux path is avi -> mkv. The asp encoders can do direct avi output, in case of encraw even mkv. Then two video streams will never be supported either as it's a special 0.000000001% usecase.
Basically what I've been thinking of is single video stream two audio stream scenarios with the current video output and audio output types and the current containers. There's no new container on the horizon and the same goes for video and audio output types so I figure even if there's a new muxer, we'll be okay.
When you mention audio I know what you're getting at but I think that scenario is a bit too far fetched.. in the end I presume that one muxer can handle all audio types that a particular container supports, or we just don't support all audio types. mkvmerge supports all mkv supported audio types (or at least the once that make sense supporting), the same goes for avimuxgui and for mp4box.
I was also a bit confused by a few of the methods, like the one called 'humba,' but I figure they weren't used.I'm sorry about that.. the code was really left completely unfinished.. I had the basic thing working then I started to make some changes and they were left without ever being completed.
Sharktooth
26th April 2006, 20:27
0.2.3.2130 26 April 2006
Commit by Sharx1976:
- Fixed a glitch in x264 command line generation: Direct mode was set even with 0 b-frames.
berrinam
28th April 2006, 10:53
@Doom9: In your refactor, why is there both the enum VideoType and the class VideoOutputType? Similarly for AudioType/AudioOutputType. I suggest a single class:
OutputType, which is just the same as what is currently called ContainerOutputType. The only difference at the moment between ContainerOutputType and VideoOutputType is that VideoOutputType has a VideoType property (similarly for AudioType). Then, we just statically create one instance of OutputType for every video type (mp4, mkv, avi, rawavc, rawasp, etc), every audio type, and every subtitle type.
This means we won't be needing to keep lists of types in List<object>s any more, and it means that there are no problems with finding, say, the file extension given an AudioType, something which before required listing the audiooutputtypes and checking them against the the AudioType to see if they match.
berrinam
30th April 2006, 08:37
0.2.3.2131 30 April 2006
Commit by berrinam:
- Added x264 '--no-dct-decimate' option
Sharktooth
1st May 2006, 15:36
CVS commit:
updated x264 Context Help.
new .2131 sources are available here: http://files.x264.nl/?dir=./Sharktooth/megui/Sources
Eric B
2nd May 2006, 20:33
3 pure GUI remarks about MeGUI:
- why is the main form not resizable (Locked property) ? You can set the current size as min size.
- why is Ctrl+C used as Chapter Creator? Is is usually reserved for copy (e.g from log) ?
- could you add an Icon (application properties) ?
berrinam
2nd May 2006, 22:09
Please look in the Feature Request thread and post there for feature requests. However,
1. If it was resizable, then all that would happen is that you would get a lot of blank space. The GUI is not set up to scale.
2. This is already listed on the Feature Request thread.
3. As is this. If someone could provide us an icon, that would be really good.
berrinam
2nd May 2006, 23:19
@Doom9: Could you post a link to the version of xvid_encraw that you want MeGUI to support in the refactor please?
ChronoCross
3rd May 2006, 00:28
ftp://squid80.no-ip.com/xvid_encraw.zip
this is the most recent version. I think it supports everything already in terms of encoding features. I would have to check.
@berrinam: the version chronocross linked to is exactly what should work.. the commandline creator should be uptodate as shoul d the options but I did that in March.. something might have changed.
In your refactor, why is there both the enum VideoType and the class VideoOutputType?Because videooutputtype includes containers whereas VideoType doesn't. VideoType was there before (I think). .and it just wasn't enough so I created something new without bothering too much about going over existing stuff (I didn't want to break everything at once).
But ContainerOutputType.. RAW ASP isn't a container output type.. it's a video output type.. whereas VideoOutputType.MP4 = just video in MP4.. and ContainerType.MP4 = MP4 containing whatever. So there's a difference. But basically it comes down to the question if you can manage every scenario when you make some changes, keeping in mind that for instance you have an encoder that does raw avc output, then you mux that into an avi (just the video stream) and another muxer adds audio to that (it's the worst case scenario I think we have to deal with.. but if you feel like it you can consider using another two muxers to add a subtitle type each ;)
Sharktooth
3rd May 2006, 13:30
0.2.3.2132 3 May 2006
Commit by Sharx1976:
- Removed all the remaining #if SVN
- Some x264 config dialog cosmetics
sources: http://www.webalice.it/f.corriga/megui/MeGUI-src.CVS-0.2.3.2132.7z
bins: http://www.webalice.it/f.corriga/megui/MeGUI-0.2.3.2132.7z
Kostarum Rex Persia
3rd May 2006, 15:37
Sharktoothj, do you include explanation for "--no-dct--decimate" option.
What do you suggest, should I use this option or not?
ChronoCross
3rd May 2006, 17:19
Sharktoothj, do you include explanation for "--no-dct--decimate" option.
What do you suggest, should I use this option or not?
sigh I can't believe your posting again.....to answer your question it will raise quality so yes you should use it.
Kostarum Rex Persia
3rd May 2006, 18:58
Thank you, but MeGUI doesn't have explanation for that option.
I want to know how --no-dct--decimate increases quality, and in which cases?
and I want to know why you are posting in a development thread when you obviously have no clue about development. Don't bother to answer though because it just further pollutes this thread.
berrinam
4th May 2006, 01:36
@berrinam: the version chronocross linked to is exactly what should work.. the commandline creator should be uptodate as shoul d the options but I did that in March.. something might have changed.That's fine, I just wanted to know what to test with.
It's all getting there, gradually. Both the AutoEncode window and the OneClick window are now aware of this pathfinding method, which seems to be working (and it is based on the codec type, not the container it is put in, so that's also finished).
Integration of AviMux_GUI is a problem... as far as I can tell, it doesn't support everything through commandlines. That in itself is not a problem, but there also seems to be no way to close the window through its own scripting language, and there is also no progress report sent to the commandline. Unless you have any other ideas, I will go ahead without it (which means that AVI muxing won't be possible, but thanks to path-finding, this won't appear in the places it isn't supported).
Sharktooth
4th May 2006, 02:02
FFS, why adding AVI muxing when you already have MKV and MP4?
FFS, why adding AVI muxing when you already have MKV and MP4?Because AVI is still the most used containers for codecs other than AVC. Putting XviD for instance into MP4 is more of a hassle than sticking with AVI.. and there's the standalone angle for some people, too.
As far as the avimux gui integration goes.. you have to write a script in the gui's language.. but it allows you to control everything. Then you launch the process and register a callback for the exit method, but there's no stdout and stderr processing. As far as aborting goes, you kill the process, plain and simple.. you could send a close command to the GUI but that might trigger a question box and that's not really what we want and it would be inconsistent with aborting dgindex where the process is just being killed - no questions asked.
berrinam
4th May 2006, 12:00
With the script provided on the reference manual, the GUI doesn't quit after it has finished the job, and I can't find any script command which closes the GUI.
I think you missed this part from the scripting manual:
SET OPTION CLOSEAPP n If set to 1, the application will be closed as soon as the muxing process is finished.
berrinam
4th May 2006, 13:23
I did indeed miss it. However, it is in the test file I was using (from the manual): CLEAR
LOAD h:\movies\akte-x-mv.avi
LOAD h:\movies\akte-x-eng.ac3
LOAD h:\movies\akte-x-fr.ac3
SELECT FILE 1
ADD VIDEOSOURCE
SET OUTPUT OPTIONS
WITH SET OPTION
WITH AUDIO
NAME 1 english
NAME 2 french
DELAY 2 -88
END WITH
OVERWRITEDLG 0
CLOSEAPP 1
ALL AUDIO 1
OPENDML 1
LEGACY 0
REC LISTS 1
AUDIO INTERLEAVE 250 KB
NUMBERING OFF
MAXFILESIZE OFF
MAXFILES OFF
END WITH
START h:\movie\akte-x.aviand it does not close after muxing. Experimenting with CLOSEDLG also does not help...
could not having SET OPTION DONEDLG n be a problem? If you get a dialog after muxing, then presumably the app wouldn't be closed until the dialog has been clicked away. If it isn't that.. time to ask Alex.. either we are misreading the specs or the app doesn't do what it's supposed to (make sure you're using at least version 1.15 as this is the one in which those commands were introduced).
Romario
5th May 2006, 02:47
Doom9, when we should expect MeGUI with new code, with your refactor. Soon, or...
ChronoCross
5th May 2006, 03:10
Doom9, when we should expect MeGUI with new code, with your refactor. Soon, or...
okay your an ass. it will be here when it's here. until then we have a stable version that is perfectly good for use. do not bug developers for stupid things like that.
Yama4050242
5th May 2006, 06:03
0.2.3.2131 30 April 2006
Commit by berrinam:
- Added x264 '--no-dct-decimate' option
any reading about this setting?
soresu
5th May 2006, 06:14
Suggestion here: Maybe all the MeGUI devs should have a warning added on to any post when they add something/commit, otherwise people will repeat questions on things that have no relevance to the developers thread?
:stupid:
Sharktooth
5th May 2006, 14:10
or we just need to get the dev discussion private...
or we just need to get the dev discussion private...I think that would be a waste of time considering it takes time to set something up and then you have one forum more to check out. I just have to be more active in enforcing the "no non development discussion" guidelines and back it up with rule 16 strikes.. it worked for the x264 download sticky so it will work here, too.
berrinam
6th May 2006, 08:00
0.2.3.2133 6 May 2006
Commit by berrinam:
- First commit of mux-path-finding refactor. Work in progress (development build)
Ok, the refactor is committed. IT IS NOT A STABLE BUILD. It's got pathfinding, and the autoencode window and one click window are aware of it. There is also a new mux window: adaptive muxer, which is a direct interface to the path-finding.
Avi mux gui integration is still missing, simply because I haven't got around to it. However, the committed version thinks that it exists (only one line needs to be commented out to fix that, but it's still in there just so you can see how it _would_ work), and it will simply throw an exception if you try to run it.
The Mux windows have been redone so that they use visual inheritance, and there are in fact only two mux windows: adaptive muxer as described above
A mux window which adapts itself to a given IMuxing instance
The One Click Window has been modified in a few ways to allow more control, especially over audio inputs.
The audio section has hardly been changed, because I have never looked at that section, and I have no idea what is going on there. As a result, there is still a 'Use Besweet' checkbox in the config dialogs, but there are no BeSweet encoders registered (I think).
xvid_encraw is supported, and from a single test I did, it seems to be working. Some of the commandlines are wrong, according to squid_80, but I haven't touched that at all. I've just committed this so that the massive changeset can finally be part of CVS.
Let's move to SVN now since the biggest pending code change is over.
@dimzon: Hopefully the refactor should mean that MeGUI is just about ready for many new audio encoders. Can we do that soon?
dimzon
6th May 2006, 08:06
@dimzon: Hopefully the refactor should mean that MeGUI is just about ready for many new audio encoders. Can we do that soon?
I will unaccessable up to May 15 (some sort of vacation). Please wait for me.
I'm already write some code yesterday (for BeHappy but we can use it in MeGUI too)
New ND AAC dialog in action
http://img522.imageshack.us/img522/5394/untitled4dp2.jpg
Let's move to SVN now since the biggest pending code change is over.No objections here, but another sf admin should do it.. somebody familiar with CVS and SVN.. I've never even used SVN so I don't know what to expect.
berrinam
6th May 2006, 13:40
Looking into AVIMux GUI, it seems like it may not be the right thing for MeGUI after all, because it is specifically designed as a GUI, which means error messages are shown in a message box, which disrupts the automated flow of things. I've spoken with Alex Noe about this, and it seems that it would take too much time to give it a nice CLI.
Sharktooth
6th May 2006, 14:22
ok... i've just finished backing up the CVS.
I started the SVN migration...
I'll update this post later... it may take some hours.
PLEASE DO NOT COMMIT NEW CODE UNTIL THE MIGRATION IS FINISHED!
EDIT: Good news... import failed... working on a fix
EDIT2: Uhm... i starting loosing hope, i cant download the latest CVS tarball since the Anonymous CVS is still down so i cant do a manual cvs2svn. I swear at SF (will they ever learn to make snapshots from the dev CVS?!?!?).
EDIT3: I started populating the SVN just importing data. That means all the CVS version changes will be lost. However the CVS will still work...
EDIT4: I enabled the SVN access for developers. Info on accessing the SVN are located here: https://sourceforge.net/docs/E09.
SVN is up to date: http://svn.sourceforge.net/viewcvs.cgi/megui/
Sharktooth
6th May 2006, 15:17
If the version changes are crucial we should wait until the anon CVS is working again.
At that point i can eventually migrate the CVS to SVN again and keep the version changes.
EDIT: Just a remark: DEV CVS IS STILL WORKING.
@berrinam: well, is there any alternative? It's not like there's any useful muxer that can handle all kinds of formats.
Kurtnoise
6th May 2006, 17:08
Why not using DivxMux ? It supports mp3, ac3 for audio; all mpeg-4 asp for video streams and srt, idx/sub or txt for subtitles.
[edit]Forgot to add the link. This is of course a cli tool :: http://download.divx.com/labs/DivXMediaFormat_SDK_r2.rar
what about avc video (previously muxed into avi with avc2avi) and is there a way to get traditional avis out of it? I know they're supposed to be compatible.. but are they really?
ChronoCross
6th May 2006, 18:50
I've started working with the svn. the following profile needs to be removed fromt he build list, or fixed. Compile.bat doesn't work cause I think it's using this profile.
------ Build started: Project: MeGUI, Configuration: test Any CPU ------
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /unsafe- /checked- /nowarn:1701,1702 /nostdlib- /errorreport:prompt /warn:1 /baseaddress:285212672 /reference:.\ICSharpCode.SharpZipLib.dll /reference:MessageBoxExLib.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.VisualBasic.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /debug+ /debug:full /filealign:4096 /optimize- /out:obj\test\MeGUI.exe /resource:obj\test\MeGUI.AutoEncodeWindow.resources /resource:obj\test\MeGUI.AviSynthWindow.resources /resource:obj\test\MeGUI.avsConfigurationDialog.resources /resource:obj\test\MeGUI.baseAudioConfigurationDialog.resources /resource:obj\test\MeGUI.Calculator.resources /resource:obj\test\MeGUI.ChapterCreator.resources /resource:obj\test\MeGUI.baseMuxWindow.resources /resource:obj\test\MeGUI.CropDialog.resources /resource:obj\test\MeGUI.AdaptiveMuxWindow.resources /resource:obj\test\MeGUI.faacConfigurationDialog.resources /resource:obj\test\MeGUI.MeGUI.resources /resource:obj\test\MeGUI.lameConfigurationDialog.resources /resource:obj\test\MeGUI.MuxWindow.resources /resource:obj\test\MeGUI.neroConfigurationDialog.resources /resource:obj\test\MeGUI.lavcConfigurationDialog.resources /resource:obj\test\MeGUI.ProfilePorter.resources /resource:obj\test\MeGUI.snowConfigurationDialog.resources /resource:obj\test\MeGUI.x264ConfigurationDialog.resources /resource:obj\test\MeGUI.xvidConfigurationDialog.resources /resource:obj\test\MeGUI.OneClickConfigurationDialog.resources /resource:obj\test\MeGUI.OneClickWindow.resources /resource:obj\test\MeGUI.ProgressWindow.resources /resource:obj\test\MeGUI.QuantizerMatrixDialog.resources /resource:obj\test\MeGUI.SettingsForm.resources /resource:obj\test\MeGUI.SourceDetectorConfigWindow.resources /resource:obj\test\MeGUI.VideoConfigurationDialog.resources /resource:obj\test\MeGUI.VideoPlayer.resources /resource:obj\test\MeGUI.VobinputWindow.resources /resource:obj\test\MeGUI.ZonesControl.resources /resource:obj\test\MeGUI.App.ico /resource:obj\test\MeGUI.pause.ico /resource:obj\test\MeGUI.play.ico /resource:obj\test\MeGUI.Changelog.txt /target:winexe /warnaserror- /win32icon:App.ico AssemblyInfo.cs AudioCodecSettings.cs AudioEncoder.cs AudioJob.cs AudioProfile.cs AutoEncodeWindow.cs Avc2AviMuxer.cs AVCLevels.cs AviSynthAudioEncoder.cs AviSynthJob.cs AviSynthProfile.cs AviSynthProcessor.cs AviSynthSettings.cs AviSynthWindow.cs AvisynthWrapper.cs avsConfigurationDialog.cs AvsReader.cs baseAudioConfigurationDialog.cs BeSweetEncoder.cs CodecManager.cs CommandlineAudioEncoder.cs CommandlineMuxer.cs CommandlineVideoEncoder.cs BitrateCalculator.cs Calculator.cs ChapterCreator.cs CommandLineGenerator.cs baseMuxWindow.cs CropDialog.cs d2vReader.cs AdaptiveMuxWindow.cs AdaptiveMuxWindow.Designer.cs DeinterlaceFilter.cs DGIndexer.cs DGIndexPostprocessingProperties.cs DialogManager.cs DialogSettings.cs DirectShow.cs Encoder.cs EnumProxy.cs faacConfigurationDialog.cs FaacSettings.cs Form1.cs hfyuSettings.cs IMuxing.cs ISettingsProvider.cs IJobProcessor.cs IndexJob.cs IVideoEncoder.cs Job.cs JobHandler.cs JobUtil.cs lameConfigurationDialog.cs LanguageSelectionContainer.cs lavcSettings.cs MeGUISettings.cs mencoderEncoder.cs MencoderMuxer.cs MkvMergeMuxer.cs MP3Settings.cs MP4BoxMuxer.cs Muxer.cs MuxJob.cs MuxPath.cs MuxPathComparer.cs MuxProvider.cs MuxSettings.cs MuxWindow.cs MuxWindow.Designer.cs NeroAACSettings.cs neroConfigurationDialog.cs lavcConfigurationDialog.cs lavcConfigurationDialog.Designer.cs ProfilePorter.cs ProfilePorter.Designer.cs snowConfigurationDialog.cs snowConfigurationDialog.designer.cs x264ConfigurationDialog.cs x264ConfigurationDialog.designer.cs xvidConfigurationDialog.cs xvidConfigurationDialog.designer.cs OneClickConfigurationDialog.cs OneClickConfigurationDialog.Designer.cs OneClickProfile.cs OneClickSettings.cs OneClickWindow.cs OneClickWindow.Designer.cs Profile.cs ProfileManager.cs ProgressWindow.cs QuantizerMatrixDialog.cs ScriptServer.cs SettingsForm.cs Shutdown.cs snowSettings.cs SourceDetector.cs SourceDetectorConfigWindow.cs SourceDetectorConfigWindow.Designer.cs SourceDetectorSettings.cs StatusUpdate.cs VideoCodecSettings.cs VideoConfigurationDialog.cs VideoConfigurationDialog.designer.cs VideoEncoder.cs VideoJob.cs VideoPlayer.cs VideoProfile.cs VideoReader.cs VideoUtil.cs VobinputWindow.cs x264Encoder.cs x264Settings.cs XviDEncoder.cs xvidSettings.cs ZonesControl.cs ZonesControl.designer.cs
C:\msys\1.0\home\ChronoCross\MeGUI\ProfilePorter.cs(210,10): warning CS1030: #warning: 'We are generating a list of failed attempts, but we aren't doing anything with it (below).'
C:\msys\1.0\home\ChronoCross\MeGUI\CommandlineVideoEncoder.cs(207,10): warning CS1030: #warning: 'Must look into XviD PAR code.'
C:\msys\1.0\home\ChronoCross\MeGUI\Form1.cs(3385,10): warning CS1030: #warning: 'avi code over here'
C:\msys\1.0\home\ChronoCross\MeGUI\MuxWindow.cs(32,10): warning CS1030: #warning: 'muxjobs generated here have no knowledge of PAR'
C:\msys\1.0\home\ChronoCross\MeGUI\VideoUtil.cs(959,10): warning CS1030: #warning: 'This should be rearranged to work better'
C:\msys\1.0\home\ChronoCross\MeGUI\AviSynthWindow.cs(1556,10): warning CS1030: #warning: 'This is just quickfix, please check it!'
C:\msys\1.0\home\ChronoCross\MeGUI\d2vReader.cs(46,10): warning CS1030: #warning: 'Why load the video here? This means that we can't apply force film unless the video unless it is playable in AviSynth'
C:\msys\1.0\home\ChronoCross\MeGUI\Calculator.cs(1575,10): warning CS1030: #warning: 'look here'
C:\msys\1.0\home\ChronoCross\MeGUI\VideoUtil.cs(141,35): error CS0227: Unsafe code may only appear if compiling with /unsafe
C:\msys\1.0\home\ChronoCross\MeGUI\VideoPlayer.cs(668,23): error CS0227: Unsafe code may only appear if compiling with /unsafe
Compile complete -- 2 errors, 8 warnings
Edit: also I think it would be great if in the changelog we started a new numbering scheme. Since this build is drastically different from pre-refactor.
just use SVN 1
as for program version control we could instead of using 0.2.3 we should start using something like: 1.0.0.1 Alpha Since you are basically working on the more advanced version....but that's just MHO.
I'm not going to post a build until we figure out the naming scheme. Cause it has to be different from what the current cvs uses. Due to the differences.
Kurtnoise
6th May 2006, 20:02
what about avc video (previously muxed into avi with avc2avi)
Mux works fine with xvid or divx 4CC but doesn't work with h264 4CC.
and is there a way to get traditional avis out of it? I know they're supposed to be compatible.. but are they really?
What do you mean by traditional avis ?
berrinam
6th May 2006, 23:19
Since we need to add ffmpeg anyway (for m4v->avi muxing), we could *just* have that now, and add avimuxgui later, if it becomes more accessible (because avimuxgui is really the only tool that beats ffmpeg in avi muxing).
Muxers are basically dead simple to add now, and they should smoothly be able to drop in and out (they need a muxprovider, a commandline generater, and a Muxer class).
SVN is working for me. What do other people think about the situation with history from CVS? Following up on that, is it ok to commit to SVN now, or should we just wait until we have the full history imported?
Numbering system.... why not just use the SVN numbering system (like x264 does)?
ChronoCross
7th May 2006, 00:38
I think for the program versioning we should use
1.0.???? -> where ???? is the svn version. so right now it's 0001.
berrinam
7th May 2006, 01:06
MeGUI is nowhere near version 1 yet (IMO). Before that, I think it needs:
Support for extra muxers, including PSP's atomchanger
Auto update
Extra audio encoders
Video cutting
Sharktooth
7th May 2006, 01:38
versioning could be 0.9.r???? (where ???? is the SVN revision).
when refactoring and other crucial features will be completed we could move to a more convenient versioning like 1.0.r????.
for what concerns the CVS version history, there is ACTUALLY no way to keep it since the anon CVS isnt working but it can be migrated as soon as it gets up.
That means we should keep commiting changes to the dev CVS... or screw the CVS history by commiting changes to the SVN ignoring the old history...
ChronoCross
7th May 2006, 01:42
either way just make a decision and I'll go with it.
Sharktooth
7th May 2006, 01:43
either way just make a decision and I'll go with it.
... edited my previous post ...
berrinam
7th May 2006, 01:48
versioning could be 0.9.r???? (where ???? is the SVN revision).Yep.
That means we should keep commiting changes to the dev CVS... or screw the CVS history by commiting changes to the SVN ignoring the old history...Sourceforge now says they aim to have anon CVS back by May 12th if they're lucky, so I think we might as well wait the little extra time in case losing the history causes something drastic to happen
Sharktooth
7th May 2006, 01:53
ok, then keep commiting changes to the CVS. I'll migrate the whole thing (including history) again when anon CVS is back.
in the meanwhile ill take down the SVN.
Sharktooth
7th May 2006, 02:31
I've started working with the svn. the following profile needs to be removed fromt he build list, or fixed. Compile.bat doesn't work cause I think it's using this profile.
------ Build started: Project: MeGUI, Configuration: test Any CPU ------
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /unsafe- /checked- /nowarn:1701,1702 /nostdlib- /errorreport:prompt /warn:1 /baseaddress:285212672 /reference:.\ICSharpCode.SharpZipLib.dll /reference:MessageBoxExLib.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.VisualBasic.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /debug+ /debug:full /filealign:4096 /optimize- /out:obj\test\MeGUI.exe /resource:obj\test\MeGUI.AutoEncodeWindow.resources /resource:obj\test\MeGUI.AviSynthWindow.resources /resource:obj\test\MeGUI.avsConfigurationDialog.resources /resource:obj\test\MeGUI.baseAudioConfigurationDialog.resources /resource:obj\test\MeGUI.Calculator.resources /resource:obj\test\MeGUI.ChapterCreator.resources /resource:obj\test\MeGUI.baseMuxWindow.resources /resource:obj\test\MeGUI.CropDialog.resources /resource:obj\test\MeGUI.AdaptiveMuxWindow.resources /resource:obj\test\MeGUI.faacConfigurationDialog.resources /resource:obj\test\MeGUI.MeGUI.resources /resource:obj\test\MeGUI.lameConfigurationDialog.resources /resource:obj\test\MeGUI.MuxWindow.resources /resource:obj\test\MeGUI.neroConfigurationDialog.resources /resource:obj\test\MeGUI.lavcConfigurationDialog.resources /resource:obj\test\MeGUI.ProfilePorter.resources /resource:obj\test\MeGUI.snowConfigurationDialog.resources /resource:obj\test\MeGUI.x264ConfigurationDialog.resources /resource:obj\test\MeGUI.xvidConfigurationDialog.resources /resource:obj\test\MeGUI.OneClickConfigurationDialog.resources /resource:obj\test\MeGUI.OneClickWindow.resources /resource:obj\test\MeGUI.ProgressWindow.resources /resource:obj\test\MeGUI.QuantizerMatrixDialog.resources /resource:obj\test\MeGUI.SettingsForm.resources /resource:obj\test\MeGUI.SourceDetectorConfigWindow.resources /resource:obj\test\MeGUI.VideoConfigurationDialog.resources /resource:obj\test\MeGUI.VideoPlayer.resources /resource:obj\test\MeGUI.VobinputWindow.resources /resource:obj\test\MeGUI.ZonesControl.resources /resource:obj\test\MeGUI.App.ico /resource:obj\test\MeGUI.pause.ico /resource:obj\test\MeGUI.play.ico /resource:obj\test\MeGUI.Changelog.txt /target:winexe /warnaserror- /win32icon:App.ico AssemblyInfo.cs AudioCodecSettings.cs AudioEncoder.cs AudioJob.cs AudioProfile.cs AutoEncodeWindow.cs Avc2AviMuxer.cs AVCLevels.cs AviSynthAudioEncoder.cs AviSynthJob.cs AviSynthProfile.cs AviSynthProcessor.cs AviSynthSettings.cs AviSynthWindow.cs AvisynthWrapper.cs avsConfigurationDialog.cs AvsReader.cs baseAudioConfigurationDialog.cs BeSweetEncoder.cs CodecManager.cs CommandlineAudioEncoder.cs CommandlineMuxer.cs CommandlineVideoEncoder.cs BitrateCalculator.cs Calculator.cs ChapterCreator.cs CommandLineGenerator.cs baseMuxWindow.cs CropDialog.cs d2vReader.cs AdaptiveMuxWindow.cs AdaptiveMuxWindow.Designer.cs DeinterlaceFilter.cs DGIndexer.cs DGIndexPostprocessingProperties.cs DialogManager.cs DialogSettings.cs DirectShow.cs Encoder.cs EnumProxy.cs faacConfigurationDialog.cs FaacSettings.cs Form1.cs hfyuSettings.cs IMuxing.cs ISettingsProvider.cs IJobProcessor.cs IndexJob.cs IVideoEncoder.cs Job.cs JobHandler.cs JobUtil.cs lameConfigurationDialog.cs LanguageSelectionContainer.cs lavcSettings.cs MeGUISettings.cs mencoderEncoder.cs MencoderMuxer.cs MkvMergeMuxer.cs MP3Settings.cs MP4BoxMuxer.cs Muxer.cs MuxJob.cs MuxPath.cs MuxPathComparer.cs MuxProvider.cs MuxSettings.cs MuxWindow.cs MuxWindow.Designer.cs NeroAACSettings.cs neroConfigurationDialog.cs lavcConfigurationDialog.cs lavcConfigurationDialog.Designer.cs ProfilePorter.cs ProfilePorter.Designer.cs snowConfigurationDialog.cs snowConfigurationDialog.designer.cs x264ConfigurationDialog.cs x264ConfigurationDialog.designer.cs xvidConfigurationDialog.cs xvidConfigurationDialog.designer.cs OneClickConfigurationDialog.cs OneClickConfigurationDialog.Designer.cs OneClickProfile.cs OneClickSettings.cs OneClickWindow.cs OneClickWindow.Designer.cs Profile.cs ProfileManager.cs ProgressWindow.cs QuantizerMatrixDialog.cs ScriptServer.cs SettingsForm.cs Shutdown.cs snowSettings.cs SourceDetector.cs SourceDetectorConfigWindow.cs SourceDetectorConfigWindow.Designer.cs SourceDetectorSettings.cs StatusUpdate.cs VideoCodecSettings.cs VideoConfigurationDialog.cs VideoConfigurationDialog.designer.cs VideoEncoder.cs VideoJob.cs VideoPlayer.cs VideoProfile.cs VideoReader.cs VideoUtil.cs VobinputWindow.cs x264Encoder.cs x264Settings.cs XviDEncoder.cs xvidSettings.cs ZonesControl.cs ZonesControl.designer.cs
C:\msys\1.0\home\ChronoCross\MeGUI\ProfilePorter.cs(210,10): warning CS1030: #warning: 'We are generating a list of failed attempts, but we aren't doing anything with it (below).'
C:\msys\1.0\home\ChronoCross\MeGUI\CommandlineVideoEncoder.cs(207,10): warning CS1030: #warning: 'Must look into XviD PAR code.'
C:\msys\1.0\home\ChronoCross\MeGUI\Form1.cs(3385,10): warning CS1030: #warning: 'avi code over here'
C:\msys\1.0\home\ChronoCross\MeGUI\MuxWindow.cs(32,10): warning CS1030: #warning: 'muxjobs generated here have no knowledge of PAR'
C:\msys\1.0\home\ChronoCross\MeGUI\VideoUtil.cs(959,10): warning CS1030: #warning: 'This should be rearranged to work better'
C:\msys\1.0\home\ChronoCross\MeGUI\AviSynthWindow.cs(1556,10): warning CS1030: #warning: 'This is just quickfix, please check it!'
C:\msys\1.0\home\ChronoCross\MeGUI\d2vReader.cs(46,10): warning CS1030: #warning: 'Why load the video here? This means that we can't apply force film unless the video unless it is playable in AviSynth'
C:\msys\1.0\home\ChronoCross\MeGUI\Calculator.cs(1575,10): warning CS1030: #warning: 'look here'
C:\msys\1.0\home\ChronoCross\MeGUI\VideoUtil.cs(141,35): error CS0227: Unsafe code may only appear if compiling with /unsafe
C:\msys\1.0\home\ChronoCross\MeGUI\VideoPlayer.cs(668,23): error CS0227: Unsafe code may only appear if compiling with /unsafe
Compile complete -- 2 errors, 8 warnings
Edit: also I think it would be great if in the changelog we started a new numbering scheme. Since this build is drastically different from pre-refactor.
just use SVN 1
as for program version control we could instead of using 0.2.3 we should start using something like: 1.0.0.1 Alpha Since you are basically working on the more advanced version....but that's just MHO.
I'm not going to post a build until we figure out the naming scheme. Cause it has to be different from what the current cvs uses. Due to the differences.
change /unsafe- with /unsafe+ in compile.bat
however i have other compilation errors:
mkvMuxWindow.cs(861,18): error CS0103: The name 'MUXTYPE' does not exist in the
current context
mkvMuxWindow.cs(878,23): error CS1501: No overload for method
'generateMkvmergeCommandline' takes '3' arguments
CommandLineGenerator.cs(1143,17): (Location of symbol related to previous error)
What do you mean by traditional avis ?AVIs that are compatible with whatever AVI players are out there. I guess I'm just a bit sceptical about the whole divx format thing.
As far as version numbering goes, right now we're at 0.2.x.y.. so it could be 0.2.r#svn-revision#.. there's nothing in there that warrants a bump in the version number..
I've been looking at divxmux and it does look interesting. It would make avi muxing very similar to mp4 and mkv muxing. It also supports vobsubs and since mp4box now also supports that, we can start thinking about subtitle ripping.
The drawback is obviously that there's no avc support, but then again avc in avi isn't such a great idea to begin with.
What do you guys think? scrap avc2avi, avimuxgui and use divxmux instead?
berrinam
7th May 2006, 20:09
Yeah, might as well use divxmux. We can always replace it or add another avi muxer if necessary (say, ffmpeg or avimuxgui if it becomes accessible).
Sharktooth
7th May 2006, 20:10
it's ok for me as long as avc is not muxed in AVI... :)
ChronoCross
7th May 2006, 21:42
it's ok for me as long as avc is not muxed in AVI... :)
Agreed. I for one am In favor of keeping things within certain standards. MeGUI should avoid hacks as often as possible. The naming scheme sounds good. I'll wait till the next commit to make a build.
Sharktooth
8th May 2006, 13:11
0.2.3.2134 8 May 2006
Commit by Sharx1976
- Expanded bitrate fields to 5 chars in x264 config dialog.
- Fixed an aesthetic glitch (video config button position) in main form.
Sources: http://www.webalice.it/f.corriga/megui/MeGUI-src.CVS-0.2.3.2134.7z
Bins: http://www.webalice.it/f.corriga/megui/MeGUI-0.2.3.2134.7z
ChronoCross
8th May 2006, 23:44
I've also posted my version. I'll within the next few days be updating the Essentials package for the stable build 2132.
Here's the Readme for the current builds.
MEGUI is currently in a highly unstable developmental build. As it stands right now all features may not work.
Use at your own risk. Please report any bugs you find to our BugReport Thread at http://forum.doom9.org/showthread.php?t=105160
Compiler: ChronoCross
ChronoCross
9th May 2006, 06:37
Okay so for the refactor we are going to remove the following(correct me if I'm wrong)
1) Besweet support
2) Nero 6 and 7 dll neroraw encoding replaced by the new and improved free nero encoder
3) Scraping avc2avi, avimuxgui support and instead preventing avc in avi by using divxmux for ASP in AVI muxing.
Requests made:
1) Added support for Coding technologies AAC
2) Added support for additional Audio processing techniques. Support for things that besweet supports but instead supporting them using avisynth.
3) Vorbis Encoding
is there anything I missed?
berrinam
9th May 2006, 06:44
3) Scraping avc2avi, avimuxgui support and instead preventing avc in avi by using divxmux for ASP in AVI muxing.I know that you and Sharktooth think that AVC in AVI is a terrible thing, but when I was playing around with the refactor and muxing, it didn't give me any of the problems I used to have (crashes, jerkiness, etc). I know there's a big debate about whether it should be done, but at the moment, editability is still the best in AVI. should we really abandon AVI muxing for AVC? Why not just leave AVC2AVI in, meaning that AVI muxing is only supported for audio-less files, and if we ever add ffmpeg or avimux gui, then we can actually get avc in AVI.
is there anything I missed?Vorbis audio encoding. More general refactoring, perhaps.....
berrinam
9th May 2006, 06:47
Anyone else having problems with CVS at the moment?
ChronoCross
9th May 2006, 06:54
I know that you and Sharktooth think that AVC in AVI is a terrible thing, but when I was playing around with the refactor and muxing, it didn't give me any of the problems I used to have (crashes, jerkiness, etc). I know there's a big debate about whether it should be done, but at the moment, editability is still the best in AVI. should we really abandon AVI muxing for AVC? Why not just leave AVC2AVI in, meaning that AVI muxing is only supported for audio-less files, and if we ever add ffmpeg or avimux gui, then we can actually get avc in AVI.
Vorbis audio encoding. More general refactoring, perhaps.....
As for AVC in AVI although it might work with certain settings some of the more complex profiles would not work in AVI. AVI has those limits. Which would mean all of sharktooths profiles would then have to be banded to a particular format. it would add a level of complexity to the way things are done. plus alot of people will start to see undesired results and complain about it.
By supporting the formats that support it natively we can aleiviate the issues and keep from having to impose further restrictions.
Why not just leave AVC2AVI in, meaning that AVI muxing is only supported for audio-less files, and if we ever add ffmpeg or avimux gui, then we can actually get avc in AVI.
I was thinking about that, too. The most important to me is that we don't have to bend over backwards to make it work.. if avimuxgui isn't an option, then there's simply no muxer that can handle the requirements and that means either we leave just avc2avi in there, so people can use all the facilities but if they try audio and video, it won't work, or remove it. Of course there's using Nandub as a muxer, but nah..
is there anything I missed?It's a start.. obviously there are more features to come, like cutting, vobsub subs for all formats (including extraction.. with divxmux we have the three containers supporting these subs so it makes sense to have that option).
berrinam
9th May 2006, 13:16
I can't access CVS (many people have reported this on SF), so here is the source code and bins for 0.2.3.2135:
Source: http://www.savefile.com/files/4964492
Bins: http://www.savefile.com/files/3709502
Changes:
0.2.3.2135 8 May 2006
Commit by berrinam:
- Enabled XviD CQMs (there are two fields, but only the first one is active)
- Fixed loading of video jobs -- the PAR is now retained.
- PAR is now in the video player, not the codec config (it's not a codec-specific thing, conceptually)
- Added support for DivXMux.exe (no statuses yet, though... no lines to parse, so filesize-based status required)
- Removed registration of AVIMux_GUI (but didn't remove code... hopefully it will get stderr error messages soon, so we can use that again)
- Fixed up annoying video profile bug that's been around for ages
Still not finished. In particular, there is currently no way for the mux path finder to tell the difference between an avi with avc and a video with asp. Anyone have suggestions?
Sharktooth
9th May 2006, 15:42
CVS is ehrr... down...
there is currently no way for the mux path finder to tell the difference between an avi with avc and a video with asp.aargh.. that's one thing I hadn't thought of.. gotta mull this over in my head for a bit.. it would be nice to have something better than a cheap hack solution.
berrinam
9th May 2006, 22:18
Two possible solutions:
two video types: AVCAVI and ASPAVI.... I'm not sure how that would work, though.
The muxers have a list of videocodecs that they support. So, not only does a mux path need to be found, but every muxer after the one that muxes it in needs to support that video codec. (Similar for audio codecs). I like this solution, but it still doesn't work when you just select an avi input file.... you don't know what codec it is. Perhaps MediaInfo would be useful for this?
EDIT: About MediaInfoLib. The things I see it as perhaps useful for are:
Finding the fps of sources that will be DirectShowSource'd. This should solve one of the main reasons that files can't be loaded into MeGUI
Used for muxing as mentioned above
Possible use in One Click Encode to allow DirectShow inputs there.
Use when muxing unknown inputs to determine the number of frames of the source file (because at the moment, there is no way to know, so it is set to 100 (arbitrary decision).
It could be made into a fourth kind of video reader: DirectShowReader. This would mean getting its properties via MediaInfo, and getting the video display via AviSynth.
berrinam
9th May 2006, 22:48
Why are there two CQM fields in XviD config, although xvid_encraw only allows one CQM file, and all of Sharktooth's ASP CQMs are a single file?
Doom9
10th May 2006, 08:16
Why are there two CQM fields in XviD config, although xvid_encraw only allows one CQM fileBecause mencoder wants the Intra and Inter matrix separately. iirc inly the intra matrix is used these days, the other is useless.
Finding the fps of sources that will be DirectShowSource'd. This should solve one of the main reasons that files can't be loaded into MeGUIAre we wrapping those sources into an AviSynth script? If so, wouldn't it not make any difference since the encoder would have the exact same issue?
So, not only does a mux path need to be found, but every muxer after the one that muxes it in needs to support that video codec.Hmm.. I initially thought of that but then scrapped the idea because it would just add another layer of complexity which at this point I didn't need (every muxer supported all kinds of content in input that was already in the desired container). It's the cleanest way though.
berrinam
10th May 2006, 08:27
Because mencoder wants the Intra and Inter matrix separately. iirc inly the intra matrix is used these days, the other is useless. Well, in that case, I will remove the inter matrix textfield. I think it would also be good to get someone to redesign the XviD config dialog.
Are we wrapping those sources into an AviSynth script? If so, wouldn't it not make any difference since the encoder would have the exact same issue?I meant the problem with using AviSynth to load files via DirectShowSource -- AviSynth sometimes complains and says, "Can't load source. Can't detect framerate". If you provide it with the framerate, then it loads fine. So, finding out the framerate via MediaInfo would solve that problem.
Hmm.. I initially thought of that but then scrapped the idea because it would just add another layer of complexity which at this point I didn't need (every muxer supported all kinds of content in input that was already in the desired container). It's the cleanest way though.I think it won't make it overly complex to do that. I'll just add a supported Video/Audio codec property to IMuxing, and register another Mux Path checker.
berrinam
10th May 2006, 08:51
0.2.3.2136 10 May 2006
Commit by berrinam:
- Fixed Profile Importing/Exporting's CQM handling for XviD
- Added tritical's fix for AviSynthWrapper
- Fixed OneClick window loading
- Fixed LMP4 config loading
bins: http://rapidshare.de/files/20081273/megui-bin.2136.zip.html or http://www.savefile.com/files/8710945
src: http://rapidshare.de/files/20081338/megui-src.2136.zip.html
Enjoy.
Doom9
10th May 2006, 08:55
AviSynth sometimes complains and says, "Can't load source. Can't detect framerate". If you provide it with the framerate, then it loads fine. So, finding out the framerate via MediaInfo would solve that problem.Ahh.. I know that one. You make a compelling argument to include MediaInfoLib.
shon3i
10th May 2006, 11:57
0.2.3.2136 10 May 2006
Commit by berrinam:
- Fixed Profile Importing/Exporting's CQM handling for XviD
- Added tritical's fix for AviSynthWrapper
- Fixed OneClick window loading
- Fixed LMP4 config loading
bins: http://rapidshare.de/files/20081273/megui-bin.2136.zip.html
src: http://rapidshare.de/files/20081338/megui-src.2136.zip.html
Enjoy.
Can you upload binaries somewhere else because i have net with proxy which is not supported by rapidshare. Thanks
berrinam
10th May 2006, 12:48
I think it won't make it overly complex to do that. I'll just add a supported Video/Audio codec property to IMuxing, and register another Mux Path checker.Well, it's more complex than I realised.:o
The main difficulty arises from the fact that we now need to know the codec at every level, as opposed to just knowing the VideoType (these aren't always interchangeable). It isn't a terrible problem; it should just require working through all of the code and replacing OutputType with MuxableType (a struct which will contain an OutputType and the codec used). Unfortunately, this sort of tedious work can't be done right now. I'll have to leave it for a little while.
@shon3i: edited my above post.
Sharktooth
11th May 2006, 01:38
Since the CVS is down, latest sources can be found on the anon SVN: https://svn.sourceforge.net/svnroot/megui (use a svn client)
EDIT: i updated the version number in AssemblyInfo.cs to 0.2.3.2136
bob0r
11th May 2006, 11:32
Until the CVS is down, latest sources can be found on the anon SVN: https://svn.sourceforge.net/svnroot/megui (use a svn client)
EDIT: i updated the version number in AssemblyInfo.cs to 0.2.3.2136
I guess you mean "because CVS is down" or "until CVS is back online", latest sources can be found on the anon SVN....
The checkout went fine, are there are problems for using SVN then?
(besides the fact that i can't compile again, see bug report thread)
Sharktooth
11th May 2006, 12:35
yeah... no, but the old versions history is gone. so it preferable to still use the CVS until we can migrate the whole thing to the SVN.
Sharktooth
12th May 2006, 14:20
Sources and Bins are available here too (from now on):
http://mirror05.x264.nl/Sharktooth/?dir=./MeGUI
Sharktooth
12th May 2006, 17:03
CVS is BACK.
Read the SF email to know how to access the new service.
berrinam
12th May 2006, 23:38
Committed 0.2.3.2135 and .2136 to CVS. I'll finish and commit the update I'm working on now, and then let's move to SVN?
ChronoCross
12th May 2006, 23:42
anon cvs is still broken so svn would be great lol. I just wish gpac would move to subversion as well.
berrinam
13th May 2006, 00:02
Well, if anon CVS is still broken, then a transition won't be so easy. EDIT: Anonymous CVS is working now -- I just tested. You need to reconfigure the settings, though: http://sourceforge.net/docs/E04/
berrinam
13th May 2006, 02:16
0.2.3.2137 13 May 2006
Commit by berrinam:
- Added a check for whether muxers support the codec in mux path finding
- Added a warning message on the bitrate calculator (it needs a refactor)
- Fixed the mp4 bug with the calculator
- Fixed a bitrate calculation bug in AutoEncode
Sharktooth
13th May 2006, 14:47
I'll try to migrate again...
EDIT: migration from CVS is "currently not available"
dimzon
13th May 2006, 19:46
Is this settings valid ???
http://img71.imageshack.us/img71/9485/cvs8jz.png
In C:\MeGUI: "C:\Program Files\TortoiseCVS\cvs.exe" "-q" "checkout" "-P" "MeGUI-src.CVS"
CVSROOT=:ext:dimzon@megui.cvs.sourceforge.net:443/cvsroot/megui
cvs.exe checkout: bad CVSROOT - Cannot specify port: :ext:dimzon@megui.cvs.sourceforge.net:443/cvsroot/megui
cvs.exe [checkout aborted]: Bad CVSROOT.
Error, CVS operation failed
Sharktooth
13th May 2006, 20:35
port number is wrong. remove it.
dimzon
13th May 2006, 20:38
port number is wrong. remove it.
wow! thanx!
dimzon
13th May 2006, 22:16
CVS Commit
0.2.3.2138 14 May 2006
Commit by dimzon:
- New free NeroDigital CLI AAC encoder support (instead of neroraw)
M AssemblyInfo.cs
M AviSynthAudioEncoder.cs
M Changelog.txt
M CommandLineGenerator.cs
M ISettingsProvider.cs
M JobUtil.cs
M MeGUISettings.cs
M NeroAACSettings.cs
M SettingsForm.cs
M neroConfigurationDialog.cs
dimzon
13th May 2006, 23:48
silent CVS commit
initial OggVorbis support (not complete yet)
dimzon
14th May 2006, 07:39
0.2.3.2139 14 May 2006
Commit by dimzon:
- Partial OggVorbis encoder support (only VBR Q mode yet)
Compiled binary (SFX archive)
http://www.mytempdir.com/664555
dimzon
14th May 2006, 09:03
0.2.3.2140 14 May 2006
Commit by dimzon:
- Aud-X MP3 5.1 (surround) support
berrinam
14th May 2006, 09:04
dimzon's on fire!!!
Keep up the good work.
dimzon
14th May 2006, 10:08
0.2.3.2141 14 May 2006
Commit by dimzon:
- CT AAC support
compiled binary (http://www.mytempdir.com/664792)
don't forget that latest oggenc2 build support 5.1 channel in correct order
Oh Shit...
Please, provide me download link for fresh valid oggenc2
Keep in mind current build using old (improper) Oggenc 5.1 channel order
nurbs
14th May 2006, 10:26
Please, provide me download link for fresh valid oggenc2
Rarewares (http://rarewares.org/ogg.html) normally has up to date builds, but I don't know if it supports the proper channel mapping yet.
dimzon
14th May 2006, 11:50
0.2.3.2142 14 May 2006
Commit by dimzon:
- OggVorbis 5.1 channel mapping based on OggEnc2 version
- small bugfixes
compiled binary (http://www.mytempdir.com/664969)
shon3i
14th May 2006, 11:57
ohhh dimzon Roks!, Thanks a lot
about ogg, which to use
- Oggenc2.83 using libVorbis v1.1.2
- Oggenc2.83 using libVorbis v1.1.2 with IMPULSE_TRIGGER_PROFILE Option
- Oggenc2.83 using aoTuVb4.51
dimzon
14th May 2006, 13:56
Please, provide me link to fresh FFMPEG binary (i want to add AC3 and MP2 encoding)
shon3i
14th May 2006, 13:58
Here lastest
http://www.free-codecs.com/ffmpegGUI_download.htm
berrinam
14th May 2006, 14:02
You haven't committed AudXConfigurationDialog.cs, AudXSettings.cs, WinAmpAACConfigurationDialog.cs, WinAmpAACSettings.cs. I can't compile.
bob0r
14th May 2006, 16:16
@dimzon
Hmm mytemp dir?
http://mirror05.x264.nl/dimzon/ this account never stopped working, you probably lost it's info?
max-holz
14th May 2006, 16:43
Could you update the public SVN on sourceforge?
dimzon
14th May 2006, 16:56
0.2.3.2143 14 May 2006
Commit by dimzon:
- AC3 encoding via FFMPEG
- MP2 encoding via FFMPEG
compiled binary (http://www.mytempdir.com/665655)
dimzon
14th May 2006, 17:01
You haven't committed AudXConfigurationDialog.cs, AudXSettings.cs, WinAmpAACConfigurationDialog.cs, WinAmpAACSettings.cs. I can't compile.
Sorry, already commited in previous commit.
btw. Does anybody need more audio codecs?
Doom9
14th May 2006, 18:38
I think we already have too many audio codecs. For instance I don't really see the point of MP2 and AC3 encoding in MeGUI.. it's not like we're creating DVDs so there are better options for both stereo and multichannel audio.
asdfsauce
14th May 2006, 19:53
AC3 and MP2 would be usefull if you ever added MPEG2 encoding, which would be nice. (please don't hurt me)
dimzon
14th May 2006, 20:04
AC3 and MP2 would be usefull if you ever added MPEG2 encoding, which would be nice. (please don't hurt me)
Complete agreed. Why not to add Mpeg2 video support in far future. AFAIK FFMPEG MPEG2 3-pass is one of the best MPEG2 encoder avaluable (it's even beat commercial analogs in quality terms). In other side it's really easy to add new audio encoders to MeGUI so why not add something like WavPack etc (in future)
ChronoCross
14th May 2006, 23:31
I've come up with a new design for the essentials package based on berrinam's suggestions for when auto update functionality is added.
MeGUI
Audio
Audx
Coding Technologies
FAAC
ffmpeg
Lame
Nero
OggVorbis
Containers
AVC2AVI
avimuxgui
DGIndex
Divxmux
MKVToolnix
mp4box
Data
Filters
Jobs
Logs
Profiles
audio
avs
oneclick
video
Video
Huffy-Snow-LMP4
x264
xvid
Does anyone see anything I might have missed? I think I pretty much covered every features as of right now in the devl build.
dimzon
14th May 2006, 23:40
0.2.3.2145 15 May 2006
Commit by dimzon:
- refactoring: IAudioSettingsProvider implementation via Generics
- refactoring: Small cosmetic ClassName renaming (faacConfigurationDialog -> FaacConfigurationDialog etc)
now take look how it looks:
public class NeroAACSettingsProvider : AudioSettingsProviderImpl<NeroAACSettings, NeroAACConfigurationDialog>
{
public NeroAACSettingsProvider():base("ND AAC")
{
}
}
dimzon
14th May 2006, 23:42
I think I pretty much covered every features as of right now in the devl build.
AFAIK we can/planing to use ffmpeg for Video encoding too
asdfsauce
15th May 2006, 00:05
-ChronoCross
How's the "settings file" generation/installing going to be handled? ...If you don't mind me asking here.
dimzon
15th May 2006, 00:05
0.2.3.2146 15 May 2006
Commit by dimzon:
- refactoring: IVideoSettingsProvider implementation via Generics
siddharthagandhi
15th May 2006, 01:49
"Huffy-Snow-LMP4"
Does that mean one out of those three? And Huffy=Huffyuv?
Kostarum Rex Persia
15th May 2006, 02:34
Where is binary for 0.2.3.2146? Link for download?
ChronoCross
15th May 2006, 02:45
-ChronoCross
How's the "settings file" generation/installing going to be handled? ...If you don't mind me asking here.
Unfortunately I have no solution at the moment. Right now I'm making it beofrehand, it's set to the default install path(which is what everone should use for consistency.
"Huffy-Snow-LMP4"
Does that mean one out of those three? And Huffy=Huffyuv?
mencoder currently handles all 3. but to make it more informative for users I used that folder name
@KRP
be patient I'll have a build up shortly.
buzzqw
15th May 2006, 13:26
@dimzon
attention to normalize() fuction... try with an audio of more than 2hr... i got crash from neroaacenc and oggvorbis
afaik normalize() don't work well with piping
BHH
dimzon
15th May 2006, 14:20
try with an audio of more than 2hr... i got crash from neroaacenc and oggvorbis
please, provide bug report
buzzqw
15th May 2006, 19:34
i have done some more test
my bad ! i used a broken ac3
sorry again !
BHH
Would it be a good idea to switch from SourceForge to Microsoft CodePlex (http://www.codeplex.com/) in light of the recent problems?
Microsoft Watch article (http://www.microsoft-watch.com/article2/0,1995,1962726,00.asp?kc=MWRSS02129TX1K0000535)
ChronoCross
16th May 2006, 17:15
Would it be a good idea to switch from SourceForge to Microsoft CodePlex (http://www.codeplex.com/) in light of the recent problems?
Microsoft Watch article (http://www.microsoft-watch.com/article2/0,1995,1962726,00.asp?kc=MWRSS02129TX1K0000535)
I would say no.
Carpo
16th May 2006, 17:54
anything to do with ms is a bad idear ;)
stax76
16th May 2006, 18:44
You probably missed it but MeGUI is already for Windows only, based on .NET 2 and coded with VisualStudio or to say it short evil Microsoft all over the place.
Carpo
16th May 2006, 19:32
You probably missed it but MeGUI is already for Windows only, based on .NET 2 and coded with VisualStudio or to say it short evil Microsoft all over the place.
no i never missed it although you might have missed i was taking the micheal ;p
stax76
16th May 2006, 19:56
What did you expect? Do you think it's appropriate to post things like 'anything to do with ms is a bad idear' in a dev thread of a application that is MS through and through, I doubt so. This thread is about MeGUI development and not random MS bashing.
ChronoCross
16th May 2006, 20:18
anything to do with ms is a bad idear ;)
I would tend to agree with this statement in some cases (DRM, TC, and WMP) however my reasoning is a bit different and goes more along the lines of what the dev's have been saying about the project.
The whole point of not moving somewhere else is not only the fact that it is our current known location but also that all the version history would be lost. Also having to learn a new site would slow development considerably. Additionaly all our second hand resources would have to be changed such as the megui home page and whotnot. moving is a big hassle. The new cvs is online and asap they are going to move to svn.
dimzon
16th May 2006, 22:42
I would tend to agree with this statement in some cases (DRM, TC, and WMP) however my reasoning is a bit different and goes more along the lines of what the dev's have been saying about the project.
The whole point of not moving somewhere else is not only the fact that it is our current known location but also that all the version history would be lost. Also having to learn a new site would slow development considerably. Additionaly all our second hand resources would have to be changed such as the megui home page and whotnot. moving is a big hassle. The new cvs is online and asap they are going to move to svn.
:goodpost: :goodpost: :goodpost: :goodpost:
btw. Doom9, is it possible to add smile "100% Agreed"?
Ajaja2005
16th May 2006, 22:57
Latest sources for anonymous users from cvs.sourceforge.net:
cvs -z9 -d: pserver:anonymous@megui.cvs.sourceforge.net:/cvsroot/megui co -P MeGUI-src.CVS
:)
Carpo
17th May 2006, 19:40
I would tend to agree with this statement in some cases (DRM, TC, and WMP) however my reasoning is a bit different and goes more along the lines of what the dev's have been saying about the project.
The whole point of not moving somewhere else is not only the fact that it is our current known location but also that all the version history would be lost. Also having to learn a new site would slow development considerably. Additionaly all our second hand resources would have to be changed such as the megui home page and whotnot. moving is a big hassle. The new cvs is online and asap they are going to move to svn.
spot on :goodpost:
berrinam
19th May 2006, 14:30
0.2.3.2147 19 May 2006
Commit by berrinam:
- Add support for auto update
shon3i
19th May 2006, 18:40
Oh man, auto update work perfetcly, Thanks a lot, but one missing, enc_aacplus.dll, i know this licence shits, but put it on the server please? because encAACplus, is unuse without this dll.
Sharktooth
19th May 2006, 19:19
6) No warez, cracks, serials or illegally obtained copyrighted content! Links to content of a questionable nature, asking for, offering, or asking for help/helping to process such content in any way or form is not tolerated.
ChronoCross
19th May 2006, 19:22
it's a little tacky in terms of organization. but what can I argue. I'm going to discontinue work on the essentials package since it's no longer going to be used.
See bug report thread for problems with auto update.
shon3i
19th May 2006, 19:41
6) No warez, cracks, serials or illegally obtained copyrighted content! Links to content of a questionable nature, asking for, offering, or asking for help/helping to process such content in any way or form is not tolerated.
Sorry i just ask, but not in that way am not ask for piratated version, for example Media Coder use it but from winamp. btw coding technologies is free but winamp ripping technology isn't so then MeGUI dev's can ask Winamp devs on winamp forums and found the real truth.
berrinam
19th May 2006, 22:54
it's a little tacky in terms of organization.Huh? I don't understand.
Anyway, this is naturally just the first commit. Any suggestions/modifications are always welcome. Also, I just put the files on the web from what I could get. If anyone has better builds (eg of mencoder) please let me know. Also, contact Richard Berg to see if you can also get access to the megui.org server, so that you can add stuff if you want.
Some things I'm looking at for the future:
Managing installation from an archive (a local repository, no downloads needed. For an offline install)
Managing processor dependencies and OS dependencies. This is because some builds are specifically for some processors, etc, and mkvtoolnix is also distributed in unicode and non-unicode forms. Unfortunately, I don't know how to find out the processor and OS, so someone else will need to give a hand there.
Some way to properly detect the versions of files that are already installed. Perhaps also a 'urgency of update' rating, so for AviSynth and AviSynth plugins, if they are simply there, that is sufficient (they don't need to be the latest version). If someone would like to suggest an architecture for this and/or implement it, that would be great.
Anything else to add?
ChronoCross
20th May 2006, 06:33
I meant by tacky because each program has it's own folder (which is fine) cept that it puts them all in the root directory. There doesn't seem like any method to the madness.
berrinam
20th May 2006, 06:46
Ahhh, ok. I've fixed that in my local version.
berrinam
20th May 2006, 07:46
0.2.3.2148 20 May 2006
Commit by berrinam:
- Added support for the 'needsrestart' parameter in autoupdate. Please delete your AutoUpgrade.xml files to enable this.
- Edited compile.bat to divide MeGUI into core, libs, avswrapper, updatecopier and data
- Made it check for updates in the background, then notify only if there are any
- fixed installation of multifile core packages
- files are now installed to meguiroot/tools/appname/ instead of meguiroot/appname/
- fixed mencoder commandlines for xvid
- fixed up huffy commandline
- fixed exception with adaptive muxer
berrinam
20th May 2006, 07:56
Some thoughts on bits of code that can still be improved:
Make the VideoEncoder and DGIndexer classes implement IJobProcessor, as all other job types already do. That will then mean more generic processing of jobs should be possible (I haven't looked into this too deeply).
Look into the management of dependencies. Since there are many dependencies at the moment, it would be nice to have a dynamic way of dealing with these, instead of having a static property for each exe file. This ties in with AutoUpdate, as I said above.
Extend polymorphism to video commandline generation, so that the VideoEncoderProvider provides the function that generates the commandline, instead of having many if statements
Sharktooth
20th May 2006, 13:20
CVS is down...
also MeGUI.exe doesnt get updated by the autoupdater...
are there any safely compiled versions of 0.2.3.2148? Sorry, its just that I need the fixes. :)
berrinam
20th May 2006, 23:10
CVS is down...It works for me now... maybe it's up again.
also MeGUI.exe doesnt get updated by the autoupdater...Yeah, I know. That's one of the fixes in 0.2.3.2148
are there any safely compiled versions of 0.2.3.2148? Sorry, its just that I need the fixes. :)
http://www.megui.org/megui-2148-mindist.zip
This is the smallest installation that works. Everything else can be installed from that via AutoUpdate.
Thanks man!
Also, for your version check thing, could just have MeGUI check the date in which the file was modified/created? then just set date restrictions/checkups and everything will be fine. Just an idea.
berrinam
21st May 2006, 00:18
Thanks man!
Also, for your version check thing, could just have MeGUI check the date in which the file was modified/created? then just set date restrictions/checkups and everything will be fine. Just an idea.
It's a thought, but IMHO that alone is not enough (it's how StaxRip does it, but I find that it gives a lot of 'unknown versions' there, just like MeGUI) because the date of creation could depend on a whole lot of things, and it would get all stuffed up anyway if someone else compiled it on a different day.
I think that the best system we can hope for is one that combines A manifest file which keeps track of versions (like we currently have)
Date checking, as you described
Being able to grab the versions from files (parsing the output, because CLI apps tend to print the version to stdout and stderr)
Testing of apps to see if they work, despite not knowing the versions
User overrides to set the version
Sharktooth
21st May 2006, 04:16
Being able to grab the versions from files (parsing the output, because CLI apps tend to print the version to stdout
x264 CLI outputs all the info to stderr.
i already did version checking for x264 but never commited it coz i was waiting for autoupdate.
i'll commit the changes as soon as i get that code integrated in the autoupdater.
stax76
21st May 2006, 07:09
It's a thought, but IMHO that alone is not enough (it's how StaxRip does it, but I find that it gives a lot of 'unknown versions' there, just like MeGUI) because the date of creation could depend on a whole lot of things, and it would get all stuffed up anyway if someone else compiled it on a different day.
StaxRip uses date only, it's of course possible to apply different methods depending on the application, the reason why I didn't do it is because I thought it's easier to use one solution that fits all. Using date will however be a mess unless you use a tolerance, I'm using 48 hours.
berrinam
21st May 2006, 07:22
Regexes work well for determining the version of an application, based on what it prints to stderr/stdout (I thought of them today, and then I read all about them, and I got a bit excited so I went through the MeGUI exe dependencies to see where they are applicable:D). I propose a system for easily checking the version based on stderr/stdout and regexes:
For a file, say x264, we currently have:
<x264 type="file">
<filepath version="r523">x264_r523.zip</filepath>
</x264>Now, we add another xml tag: regex, so that it now looks like this:
<x264 type="file">
<regex cmdline="--help">(?<=svn\-)[0-9]+</regex>
<filepath version="r523">x264_r523.zip</filepath>
</x264>
MeGUI would then see that tag, run the executable with the commandline --help (not that it needs it; it's just an example, because some apps DO need a special commandline to show the version, like mp4box), and use the regex: (?<=svn\-)[0-9]+
to return a string of the versions.
On the files I have, I have worked out the following regexes that work so far:
X264: (?<=svn\-)[0-9]+
MP4Box: (?<=version )[0-9.]+
DivXMux: (?<=DivXMux.exe version ).+(?=\r?\nUsage)
FAAC: (?<=FAAC )[0-9.]+(?= \()
LAME: (?<=version )[0-9.]+
mkvmerge: (?<=mkvmerge )v[0-9.]+(?= )
oggenc: (?<=OggEnc )v[0-9.]+(?= )
Note: I didn't test these regexes with C#, but I assume that the .NET implementation of regexes is complete.
This could also be extended to support a few things, like build date as well, as some things print that as well or instead.
EDIT: The following are the apps that MeGUI uses that only print the build date, and the required regexes for them:
ffmpeg build date: (?<=built on )([\w]+ ){2}([\w]+)(?= )
xvid_encraw build date: (?<= on )([\w]+ ){2}[\w]+
neroEncAac: (?<=build date: )(\w+ *){2}\w+
encaacpluscli: (?<=Build )(\w+ +){2}\w+(?=, )
The problem with these is that the formatting of the date varies, and I don't know what the best way to parse it is. It would be nice if there were some function which could parse a date string and automatically work out which field means what...[/EDIT]
Using regexes means that we get both the generic coding and the special cases.
foxyshadis
21st May 2006, 09:20
Well... there's a php-to-C# interface library, and php has strtotime, which reads just about any date formats into an unix timestamp... but that sounds excessively convoluted. Since it's all open source maybe you can just steal their parser and make a mini-library out of it. :p
Ah, but then, strtotime itself is based on the gnu date parsing/formatting library, which may well have a c# version/interface lying around.
berrinam
21st May 2006, 11:48
0.2.3.2149 21 May 2006
Commit by berrinam:
- Fixed the version parsing algorithm so that it isn't tricked by numbers like 1.10 being higher than 1.4
Doom9
21st May 2006, 12:03
strtotime itself is based on the gnu date parsing/formatting library, which may well have a c# version/interface lying around.C# obviously has such mechanisms, too.
@berrinam: I think you have to put those regexps into cdata elements as they invalidate the xml document structure. Specifically >< are not allowed as text elements because those are xml delimiter tags. I just ran into this problem at work last Friday, but wrapping them into CDATA will do the trick.
berrinam
21st May 2006, 12:09
I just ran into this problem at work last Friday, but wrapping them into CDATA will do the trick.I see you are right. I had to look up CDATA, though, to find out what you were talking about. ;)
Do you like the system, though?
Yama4050242
21st May 2006, 12:40
where does the auto update for avisynth plugins go? my avisynth plugin dir? I dont want anyone to touch there
MatMaul
21st May 2006, 13:20
Can you tell me please what is the equivalent of the option "Improve accuracy using 32 bits & Float computations" in audio configuration with an avisynth script ?
Carpo
21st May 2006, 13:24
from what i have seen it will only update the dlls, with the ones you can download from the megui guide sticky - no other files should be touched - i could be wrong tho :D
buzzqw
21st May 2006, 13:43
@MatMaul
the avisynth script for audio conversion will do a nice ConvertAudioTo32bit() or ConvertAudioToFloat() of audio samples before feeding audio encoder
This is mean for the maximum clean cristality when converting audio source to wav to encoder
BHH
MatMaul
21st May 2006, 13:47
@MatMaul
the avisynth script for audio conversion will do a nice ConvertAudioTo32bit() or ConvertAudioToFloat() of audio samples before feeding audio encoder
This is mean for the maximum clean cristality when converting audio source to wav to encoder
BHH
Thanks ! Just after the source and before the filters (like amplifydb) or after all the filters, just before the "return"?
And how megui chooses between ConvertAudioTo32bit() and ConvertAudioToFloat() ?
according to this code
if (audioJob.Settings.ImproveAccuracy || audioJob.Settings.AutoGain /* to fix the bug */)
script.AppendFormat("ConvertAudioToFloat(){0}", Environment.NewLine);
if (audioJob.Settings.AutoGain)
script.AppendFormat("Normalize(){0}", Environment.NewLine);
I think it's just after the source and ConvertAudioToFloat() is used
Yama4050242
21st May 2006, 14:09
from what i have seen it will only update the dlls, with the ones you can download from the megui guide sticky - no other files should be touched - i could be wrong tho :D
i dont want megui to update my dll, in that case i dont know what version i am using, i want it download the dll in the megui folder not my avisynth plugins
Carpo
21st May 2006, 14:31
you do have the option to tell megui not to download the dlls, and if you look it does tell u the date/version of the avisynth files.
you could always post this in the feature thread and see if the devs would add an option to change the path of the dlls,
Yama4050242
21st May 2006, 14:44
you do have the option to tell megui not to download the dlls, and if you look it does tell u the date/version of the avisynth files.
you could always post this in the feature thread and see if the devs would add an option to change the path of the dlls,
i have the option there but it can not uncheck all, to uncheck them one by one is crazy to me
edit: my bad, the had readmes
Yama4050242
21st May 2006, 14:48
i dont like the autoupdate anyhow, you can just give a web page that all the uptodate things on it, or maybe autoupdate for megui itself is quite enough, for eg. the dgdecode.dll and the dgindex, what if i create the d2v yesterday and i update the megui, then they become useless, and do we need to try all the betas when we got no problems with the latest "final"
Kurth
21st May 2006, 18:53
http://img364.imageshack.us/img364/237/mkvmux2wa.jpg
I need to mux a timecodes.txt with my video because I use VFR can you add this option to MeGUI MKV Mux ?
buzzqw
21st May 2006, 19:03
@Yama4050242
you can de-check what to download....
BHH
bob0r
21st May 2006, 21:45
@ megui devs:
Want me to put an unpacked version of x264.exe on my mirrors? For megui auto update... so maybe people can choose SVN or modified version via updater also, please let me know.
berrinam
21st May 2006, 22:05
GUYS, THIS IS NOT A FEATURE REQUEST THREAD OR A LETS-WHINE-ABOUT-EVERYTHING THREAD!
Please post in the relevant place (there is a Feature Request thread and a General Questions/Troubleshooting thread that you guys should be looking at)
where does the auto update for avisynth plugins go? my avisynth plugin dir? I dont want anyone to touch thereIt is really just annoying putting the AviSynth plugins in a different directory, because then every plugin used needs to be explicitly loaded. We've had this discussion many times, and there is no real reason to do things the hard way.
i have the option there but it can not uncheck all, to uncheck them one by one is crazy to me
Have you tried selecting more than one with Shift and right-clicking to see what you get? You can permanently turn off updates on any particular file by selecting 'Ignore updates', and you can turn them off temporarily by selecting Uncheck. I don't know what else you want.
Want me to put an unpacked version of x264.exe on my mirrors? For megui auto update... so maybe people can choose SVN or modified version via updater also, please let me know.Thank you for your offer. I would appreciate it, but we don't yet support multiple build series (it's certainly an aim, though).
bob0r
21st May 2006, 22:37
Thank you for your offer. I would appreciate it, but we don't yet support multiple build series (it's certainly an aim, though).
http://x264.nl/x264/x264.exe
http://mirror01.x264.nl/x264/x264.exe
http://mirror02.x264.nl/x264/x264.exe
http://mirror03.x264.nl/x264/x264.exe
http://mirror04.x264.nl/x264/x264.exe
http://mirror05.x264.nl/x264/x264.exe
Good luck (x264.exe is auto uploaded when a new revision is detected and compiled)
dimzon
21st May 2006, 22:56
http://forum.doom9.org/showpost.php?p=829754&postcount=259
MeGUI auto updater overwrites my NicAudio.dll (20060314) with some from 2005, in that case DRC not work
please, use my latest NicAudio binary from BeHappy workspace!
dimzon
21st May 2006, 22:59
0.2.3.2150 22 May 2006
Commit by dimzon:
- Fixed no more upgrade.xml from cache
dimzon
21st May 2006, 23:10
talking about fileversion detection
there are special Win32 resource type named VERSIONINFO. So, I believe, the best/proper way will be to ask developers/builders to include VERSIONINFO resource into their win32 builds. It will cost approx 5 minutes to add such resource...
Sharktooth
22nd May 2006, 03:22
0.2.3.2151
Commit by Sharx1976:
- Better alignment of some controls
ChronoCross
22nd May 2006, 19:49
I am currently on vacation. I will have a megui folder final design when I get back.
berrinam
23rd May 2006, 07:01
talking about fileversion detection
there are special Win32 resource type named VERSIONINFO. So, I believe, the best/proper way will be to ask developers/builders to include VERSIONINFO resource into their win32 builds. It will cost approx 5 minutes to add such resource...
Can you provide some code to access this resource in C#?
Also, I'm doing a small refactor of the Encoder classes to make them all derive from IJobProcessor (this just means changing VideoEncoder and DGIndexer), and quite a few times I have come across this difficulty: we currently have some enums, like VideoCodec and AudioCodec. However, in various places it would be nice to have a type called Codec, which both derive from (for type-safety reasons). Is there any way to do this?
stax76
23rd May 2006, 07:39
There is a class called FileVersionInfo (http://msdn2.microsoft.com/en-us/library/system.diagnostics.fileversioninfo.aspx).
dimzon
23rd May 2006, 08:41
0.2.3.2152 22 May 2006
Commit by dimzon:
- Fixed OggVorbis 5.1 Channel mapping (http://forum.doom9.org/showthread.php?p=831098#post831098)
acrespo
23rd May 2006, 16:16
Since 2146 (until 2152) version is not function with autoencode for me. My steps:
1 - Load avs in video frame and change the name of video output.
2 - Press AutoEncode button, change the size to 174 Mbytes and check "Add additional content (audio, subs, chapters)".
3 - Select the audio already compressed in AAC format.
4 - Press Go button. Nothing happens. The "Adaptative Mux Window" window is still there and I don't see any entries in Queue tab.
Sharktooth
23rd May 2006, 17:14
Since 2146 (until 2152) version is not function with autoencode for me. My steps:
1 - Load avs in video frame and change the name of video output.
2 - Press AutoEncode button, change the size to 174 Mbytes and check "Add additional content (audio, subs, chapters)".
3 - Select the audio already compressed in AAC format.
4 - Press Go button. Nothing happens. The "Adaptative Mux Window" window is still there and I don't see any entries in Queue tab.
This is the DEVELOPMENT thread. Use the appropriate BUG REPORT thread...
However this problem is already known. Next time :search:
berrinam
24th May 2006, 00:10
0.2.3.2153 24 May 2006
Commit by berrinam:
- Small refactor to make all encoders implement IJobProcessor
- delete duplicate code thanks to the above refactor
- fix up two bugs with AutoEncode
Sharktooth
24th May 2006, 17:08
Maybe i found a suffuciently reliable way to do the compression test but that will require a lot of changes in avisynth script creator...
@devs: it's too long to discuss it here. please contact me via MSN or IRC (on freenode #x264)
berrinam
25th May 2006, 10:51
Also, I'm doing a small refactor of the Encoder classes to make them all derive from IJobProcessor (this just means changing VideoEncoder and DGIndexer), and quite a few times I have come across this difficulty: we currently have some enums, like VideoCodec and AudioCodec. However, in various places it would be nice to have a type called Codec, which both derive from (for type-safety reasons). Is there any way to do this?Help?
Doom9
25th May 2006, 11:41
I don't think you can inherit from an enum since it's not a class. Have you tried an interface which holds the enum(s) and exposes them in some useful way?
Sharktooth
26th May 2006, 02:04
0.2.3.2154 26 May 2006
Commit by Sharx1976:
- Added a "Quick & Dirty way (tm)" to prevent accidental shutdowns when aborting a job and the "Shutdown at end of encoding" checkbox is enabled (works only with the Abort button in the Queue tab)
- Some more controls alignment
It's quite late and i had no time to extend the shutdown prevention to the progress window. the megui settings and the shutdown checkbox on the main form cant be accessed directly from there... it requires some more code. feel free to complete it.
Sharktooth
26th May 2006, 02:46
0.2.3.2155
Commit by Sharx1976:
- Fixed a wrong slash ("/" to "\") in UpdateWindow.cs
berrinam
29th May 2006, 09:59
Maybe i found a suffuciently reliable way to do the compression test but that will require a lot of changes in avisynth script creator...
@devs: it's too long to discuss it here. please contact me via MSN or IRC (on freenode #x264)
Who are you on IRC?
Sharktooth
29th May 2006, 12:53
Same name as here but im not always online coz recently i've been quite busy.
Sharktooth
31st May 2006, 10:49
i had a discussion with berrinam about the megui development.
i dont actually remember all the things we discussed but i think we should freeze the actual status of megui and proceed with a bugfix before adding new stuff.
i think we should release a stable version (version 0.3) with the actual features so users can benefit from the auto-update and the refactored code.
Once we're done we could procede adding new stuff like the comp.check, the mirrors support in auto-update and other things.
M.H.A.Q.S.
31st May 2006, 11:44
As discussed in another thread. I am interested in the x264 GUI only part of MeGUI. Since its in C# so it serves my purpose and as old x264 only MeGUI source links are dead, I request any dev to provide me with a link to any archived source and build. I would be very much thankful.
berrinam
31st May 2006, 23:49
0.2.3.2157
Commit by berrinam:
- Fix bitrate calculation in AutoEncode and Calculator
0.2.3.2156
Commit by berrinam:
- Fix the mp4/aac bug with AutoEncoding.
- Partway to fix of bitrate calculations, but it is more complicated than it seems...
berrinam
1st June 2006, 01:13
0.2.3.2158
Commit by berrinam:
- Fix up DAR/SAR bug introduced in 0.2.3.2153
Sharktooth
1st June 2006, 01:40
0.2.3.2159
Commit by Sharx1976
- Moved shutdown prevention into Abort event. Shutdown now gets automatically disabled if the Abort event is triggered.
berrinam
1st June 2006, 02:04
0.2.3.2160
Commit by berrinam:
- Fixed bug of wrong raw filetype being assigned
bob0r
1st June 2006, 07:38
0.2.3.2157
Commit by berrinam:
- Fix bitrate calculation in AutoEncode and Calculator
0.2.3.2156
Commit by berrinam:
- Fix the mp4/aac bug with AutoEncoding.
- Partway to fix of bitrate calculations, but it is more complicated than it seems...
In Tools > Bitrate calculator, this is not refactored yet, correct?
Or should i file a bug report that the audio track(s) are not included in the results.
Doom9
1st June 2006, 17:49
@Sharktooth: About stable releases: you basically just said what I posted about two months ago as a roadmap. Right now we have reached the first milestone feature wise so it's time to fix remaining bugs, then it's time for another phase of adding features (cutlists for instance).
Sharktooth
1st June 2006, 18:04
yes, exactly.
forgive me but i have serious problems remembering some things...
Doom9
1st June 2006, 18:49
well.. I have a hard time remembering some megui code I wrote so don't sweat it ;)
berrinam
2nd June 2006, 12:36
0.2.3.2161
Commit by berrinam:
- Fix deletion of intermediate files in AutoEncode and OneClick encode modes
Sharktooth
3rd June 2006, 02:39
@devs: daverc kindly offered his help in developing a prototype wrapper class for mediainfo lib.
ill point him to this thread for discussing the details.
daverc
3rd June 2006, 13:08
I have done some little coding about the mediainfo.dll,
i think i will be able to get everyinfo that it can provide in a few days.
I have a working test assembly for specific fields
If anyone is interested i can send him the code.
berrinam
3rd June 2006, 13:57
@daverc: The fields I am interested in for MeGUI are:
Width/height
Aspect Ratio
FPS
Number of frames
Video Codec
Number of audio streamsUnfortunately I have no codebase for testing this on right now.
daverc
3rd June 2006, 14:29
@daverc: The fields I am interested in for MeGUI are:
Width/height
Aspect Ratio
FPS
Number of frames
Video Codec
Number of audio streamsUnfortunately I have no codebase for testing this on right now.
Consider it's done ;)
Tracks will be accessible as a tree of properties, and infos as inner nodes of properties.
structure of the call will be for instance,
import MediaInfoWrapper;
MediaInfo M = new MediaInfo(filepath);
string fps=M.Video(TrackNumber).FPS;
I'm on it now, so if you have any requests ...
Doom9
3rd June 2006, 17:05
wouldn't the audio properties be of use as well? As in "okay, this is an MP4 with an AAC audio track.. or an MP4 with an MP3 audio track.. or an MP4 with a Vorbis track (I know.. bad idea to do that).
daverc
3rd June 2006, 17:50
wouldn't the audio properties be of use as well? As in "okay, this is an MP4 with an AAC audio track.. or an MP4 with an MP3 audio track.. or an MP4 with a Vorbis track (I know.. bad idea to do that).
It's planned.
Video, audio, subtitles tracks and container info will have the same behavior (as in genuine mediainfo actually)
bob0r
4th June 2006, 11:17
@berrinam
http://forum.doom9.org/showthread.php?p=835115#post835115
Sorry for reasking, but a quick simple answer should be in place (Yes i know there is still that not refactored pop-up) but calculation is not fixed for anywhere i can see, so where do your changes apply to?
berrinam
4th June 2006, 12:59
The units are now correct in AutoEncode mode calculation. They should also be correct in the Bitrate Calculator. The problem with the audio tracks missing is a separate one that I looked at when you mentioned, but promptly forgot again. I will look at again sometime, but I'm somewhat busy at the moment, so I can't say for sure when.
berrinam
5th June 2006, 07:29
0.2.3.2162
Commit by berrinam:
- Fix audio-filesize-being-ignored bug in bitrate calculator
- Fix AR calculation to be ITU-correct
Stable release candidate. Bugs, anyone?
shon3i
5th June 2006, 11:24
0.2.3.2162
Commit by berrinam:
- Fix audio-filesize-being-ignored bug in bitrate calculator
- Fix AR calculation to be ITU-correct
Stable release candidate. Bugs, anyone?
Yea, Bitrate calculator dosen't work again because duration is 0:0:0 and audio bitrate can't be higher than 100kbps, and can you make for CTAAC and FAAC to only have MP4 container because is more flexible when muxing (SBR signaling switch is not possible in megui) and other things, aslo CT support --mp4box switch who automaticly make mp4 container instead aac but mp4box.exe must be in same dir.
dimzon
5th June 2006, 11:37
aslo CT support --mp4box switch who automaticly make mp4 container instead aac but mp4box.exe must be in same dir.
yeah, it's only one limitation
Sharktooth
5th June 2006, 12:37
0.2.3.2162
Commit by berrinam:
- Fix audio-filesize-being-ignored bug in bitrate calculator
- Fix AR calculation to be ITU-correct
Stable release candidate. Bugs, anyone?
yes... :(
changes in video profiles doesnt get always (?!?) saved.
when quitting megui and reloading the previously changed profile it still has the old settings.
shon3i
5th June 2006, 12:47
yeah, it's only one limitation
OK dimzon but i don't know why all tools not in tools folder instead one tool in one folder, or video encoders, audio encoders etc, and you can include another mp4box in enc_aacplus package because is not so frequent update.
berrinam
5th June 2006, 12:54
Ok, so the bitrate calculator is causing a lot of problems..... I can see why Doom9 didn't want to touch it. I haven't looked too deeply into the code, so I just tried to make a temporary fix. It seems that has disturbed a whole lot of other things. I think getting a robust version of the bitrate calculator probably requires a lot of code change in that class, so it's not a good idea to expect it soon.
Does someone else want to look at it, because I can't spend a lot of time coding right now?
shon3i
5th June 2006, 12:59
@dimzon here is the log of muxing process
Log for job job2
mkvmerge v1.7.0 ('What Do You Take Me For') built on Apr 28 2006 17:19:57
'Firewall.mkv': Using the Matroska demultiplexer.
'track 07.aac': Using the AAC demultiplexer.
'Firewall.mkv' track 1: Using the MPEG-4 part 10 (AVC) video output module.
Warning: AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.
'track 07.aac' track 0: Using the AAC output module.
The file 'pera.mkv' has been opened for writing.
The cue entries (the index) are being written...
Muxing took 84 seconds.
so it's better to always use mp4 container for CT AAC
berrinam
5th June 2006, 13:31
so it's better to always use mp4 container for CT AAC
MeGUI already chooses MP4-AAC over RAW-AAC when there is a choice in MuxPathFinding. I think it is wrong and unreliable to (a) expect that mp4box is in WAAC's directory and (b) only allow mp4-aac output.
Also, I don't know if it is possible, but perhaps MediaInfoLib can detect whether an AAC file is SBR, in which case that problem goes away.
Doom9
5th June 2006, 13:35
There's another point to this: ctaac is the one aac encoder causing way more problems than any other. Since it's not any better than neroaac and costs the same, why do we even have it?
At some point, it's better to cut your losses.. your head starts to hurt if you try to break through the wall headfirst a couple of times and the wall just won't crack.
Just look at all the issues people are having with different ctaac versions and dlls, and the fact that we can't bundle them in autoupdate. It is very much reminiscent of the mess we had with neroaac prior to the commandline encoder. Actually, I tend to think it was a little less worse as things were stable with Nero, but are still changing with ctaac.
SeeMoreDigital
5th June 2006, 14:16
Hmmm!
My foot's in the other camp... I'm of the opinion that CT's encoder generates better sounding encodes than Nero's free encoder, especially when it comes to generating 6Ch AAC-HE streams!
Now when it comes to knowing whether or not an AAC stream is LC or HE, is not one of the biggest indicators the encodes "sample rate"?
EDIT: For example, if you are encoding from a 6Ch AC3 source with a sample rate of 48.0KHz, the 6Ch AAC-HE encode will have a sample rate of 24.0KHz. Like-wise, if you are encoding from a 2Ch CD-WAV source with a sample rate of 44.1KHz, the 2Ch AAC-HE encode will have a sample rate of 21.050KHz.
Cheers
shon3i
5th June 2006, 14:48
MeGUI already chooses MP4-AAC over RAW-AAC when there is a choice in MuxPathFinding. I think it is wrong and unreliable to (a) expect that mp4box is in WAAC's directory and (b) only allow mp4-aac output.
Also, I don't know if it is possible, but perhaps MediaInfoLib can detect whether an AAC file is SBR, in which case that problem goes away.
Ok, but dimzon makes enc_aacplus.exe to can produce mp4 files but only via mp4box and this work fine whitout any bug, so ct aac itself can't produce mp4 only raw aac and now no sense to use raw aac. if you use mp4 extension for aac that is wrong. If you can make somehow to detect sbr like you say, that will soloved the problem.
There's another point to this: ctaac is the one aac encoder causing way more problems than any other. Since it's not any better than neroaac and costs the same, why do we even have it?
At some point, it's better to cut your losses.. your head starts to hurt if you try to break through the wall headfirst a couple of times and the wall just won't crack.
Just look at all the issues people are having with different ctaac versions and dlls, and the fact that we can't bundle them in autoupdate. It is very much reminiscent of the mess we had with neroaac prior to the commandline encoder. Actually, I tend to think it was a little less worse as things were stable with Nero, but are still changing with ctaac. I agree with SMD, nero newer had good 6ch encoding aslo stereo is not so good, only where is better nero is maybe 48kbs, but i think aslo that licesing test on HA is not anymore correct because nero @ 48kbs now sounds whrose than on the test.
daverc
5th June 2006, 19:02
MediaInfo c# is ready.
Just put these files next to mediainfo.dll, and add a button in the gui.
Sources available on request.
daverc
5th June 2006, 21:19
Here is the code.
Original idea was found in staxrip.mediainfo.
Thank you Stax :)
Media tracks are List<TrackType>.
For instance, syntax to acces the codec of the first video track is
MediaInfo M=new MediaInfo(path);
string codec=M.Video[0].Codec;
You also get free track counter, and everything mediainfo can provide.
An empty string is returned when no information is available.
bob0r
6th June 2006, 10:21
0.2.3.2162
Commit by berrinam:
- Fix audio-filesize-being-ignored bug in bitrate calculator
- Fix AR calculation to be ITU-correct
Stable release candidate. Bugs, anyone?
Quick answer: No
The calculator is still very bugged. (You should test it a little)
In this case, fill in audio size, then change minutes then the audio resets to 0 (will file bug report if wanted)
In the the bitrate calculator is pretty important for custom encoding.
Long answer: No
Ill run by all visual and most logical functions very quick tonight. Too see if there are any unclean "bugs".
Then people should test some variations of default encodings and features(updates/bitrate calc/etc..)
berrinam
10th June 2006, 07:30
0.2.3.2163
Commit by berrinam:
- Another go at the bitrate calculator
It seems to be fine for me....
berrinam
10th June 2006, 07:58
0.2.3.2164
Commit by berrinam:
- Make the UpdateWindow fixed-size
- Add ConvertToYV12() to the autodeint scripts
Right.... again, any problems?
berrinam
10th June 2006, 08:21
Could a moderator approve daverc's second attachment please, or could dave post it somewhere else?
Doom9
10th June 2006, 11:01
I approved the attachment. Being able to approve inline really is a major bonus of the 3.5 vbb series :)
shon3i
10th June 2006, 11:25
0.2.3.2164
Commit by berrinam:
- Make the UpdateWindow fixed-size
- Add ConvertToYV12() to the autodeint scripts
Right.... again, any problems?
Again Bitrate Calculator but now have minor bugs.
1. MKV and MP4 must have same bitrate for same settings because when i using mkv bitrate i always get undersize, the differences is about 2 bits
2. Audio bitrate values are non-standard, can you make only standard values like 16,32,48,64,80,96,112,128,160,192,224,256,320,384, etc
3. when i try to change from MKV to MP4 container in bitrate calculator, bitrate won't change for this 2 bits
Doom9
10th June 2006, 12:48
While the bitrate should be somewhat different between MP4 and MKV there's one thing to be kept in mind: you cannot accurately calculate MKV overhead prior to encoding. The exact formulas are in the container forum in a post by mosu as reply to one of mine.. the overhead depends on the distribution of frame types.. and you just can't know how many I, P and B frames you're going to get prior to encoding. Every MKV bitrate calc on the planet relies on assumptions that can be more or less correct, but no calculator is ever exact.
shon3i
10th June 2006, 13:12
While the bitrate should be somewhat different between MP4 and MKV there's one thing to be kept in mind: you cannot accurately calculate MKV overhead prior to encoding. The exact formulas are in the container forum in a post by mosu as reply to one of mine.. the overhead depends on the distribution of frame types.. and you just can't know how many I, P and B frames you're going to get prior to encoding. Every MKV bitrate calc on the planet relies on assumptions that can be more or less correct, but no calculator is ever exact.
Yes but when i use MP4 bitrate (+2bits per second different from mkv bitrate) and mkv container i always get choosen size, with mp4 bitrate i never get over/undersize, and aslo GordianKnot bitrate calculator, calcualte same bitrate for mkv like megui for mp4. So then in megui something wrong abut mkv calculation because must be same like mp4.
berrinam
10th June 2006, 13:28
Yes but when i use MP4 bitrate (+2bits per second different from mkv bitrate) and mkv container i always get choosen size, with mp4 bitrate i never get over/undersize, and aslo GordianKnot bitrate calculator, calcualte same bitrate for mkv like megui for mp4. So then in megui something wrong abut mkv calculation because must be same like mp4.
Woah, it is really hard to understand what you are saying. Nevertheless, it seems to be a problem with the MKV overheads, which is a known problem. Suffice to say, I don't see it either as drastic enough or as easy enough to solve immediately, so unless some other dev will look into it, you will have to cope, unless you can give direct instructions on what to change.
2. Audio bitrate values are non-standard, can you make only standard values like 16,32,48,64,80,96,112,128,160,192,224,256,320,384, etcThis isn't a bug, and all you're asking for is multiples of 16, basically. It steps in multiples of 16, but gets adjusted by some other calculations, which can skew this because of rounding errors. This is not actually a bug (it's just an interface detail) so I'm going to ignore this for now. You can manually enter your own bitrate if you want.
shon3i
10th June 2006, 15:08
Woah, it is really hard to understand what you are saying. Nevertheless, it seems to be a problem with the MKV overheads, which is a known problem. Suffice to say, I don't see it either as drastic enough or as easy enough to solve immediately, so unless some other dev will look into it, you will have to cope, unless you can give direct instructions on what to change.
Sorry berrinam for my very poor english, MKV must have same bitrate like MP4 because have similar overhead which is not so different, but in resulting bitrate must be same value. FOr example in GK for MKV and x264 bitrate is 1087.98 rounded this is 1088 which is bitrate of MP4 (and it's correct bitrate for both MP4 and MKV), but in MeGUI for MKV i get bitrate 1086.
This isn't a bug, and all you're asking for is multiples of 16, basically. It steps in multiples of 16, but gets adjusted by some other calculations, which can skew this because of rounding errors. This is not actually a bug (it's just an interface detail) so I'm going to ignore this for now. You can manually enter your own bitrate if you want.Ok for that but try to type 128 and you get 127 in box, Why?
bob0r
10th June 2006, 15:38
0.2.3.2163
Commit by berrinam:
- Another go at the bitrate calculator
It seems to be fine for me....
Mostly it works fine, here are some final reports/questions:
MeGUI Bug-Report Thread - audio tracks (http://forum.doom9.org/showthread.php?p=838779#post838779)
berrinam
11th June 2006, 00:40
0.2.3.2165
Commit by berrinam:
- Enable audio track 2
- Fix the 15kbps bitrate increment to a 16kbps increment
I had a look at the actual calculation code, and it seems like some of it is wrong (according to www.alexander-noe.com, anyway), but it isn't a fatal error, so I think that can wait, considering that it needs some more work and testing.
@Doom9: What did you use to write the calculation code? www.alexander-noe.com has stuff about AVI and MKV, and it is mostly the same as what you have, but some of what you did now seems outdated (eg the MKV frame-size issues are no problem with MKV v2, apparently -- all frames now have 7 bytes overhead).
Doom9
11th June 2006, 01:29
I used the information mosu gave me in this thread: http://forum.doom9.org/showthread.php?t=96703&page=2&highlight=overhead
Page 2 and 3 contain the relevant details. I was never quite happy with the existing code and asked if somebody had a better idea.. if you have one, feel free to adapt the calculations.. they're really suboptimal.
berrinam
11th June 2006, 01:34
What about for AVI?
Doom9
11th June 2006, 02:10
The AVI frame overhead is well known (24 bytes per frame). As far as audio overhead goes, I tested various sources in GKnot and knowing the video frame overhead I broke down the audio muxing overhead to a number per video frame. Basically the results should always match GKnot and from my personal experience, GKnot is very accurate when it comes to AVIs.
berrinam
11th June 2006, 02:22
The AVI frame overhead is well known (24 bytes per frame). As far as audio overhead goes, I tested various sources in GKnot and knowing the video frame overhead I broke down the audio muxing overhead to a number per video frame. Basically the results should always match GKnot and from my personal experience, GKnot is very accurate when it comes to AVIs.
I see. Reading through Alex Noe's website, however, gives quite a different explanation, especially regarding VBR-MP3 overhead, which is many times higher. I suppose testing is the only way to find out for sure what is right.
Doom9
11th June 2006, 03:08
one thing to keep in mind... alex basically refers to avimuxgui.. we're using mkvmerge and divxmux respectively.. avimuxgui has options the tools we have do not have.
berrinam
11th June 2006, 04:14
True.... I am keeping that in mind, and have checked that, say, mkvmerge does indeed support SimpleBlocks.
Doom9
11th June 2006, 16:18
one little thing: those codec configuration windows are non resizeable dialogs.. they shouldn't have an active maximize button as the result is buttugly ;)
berrinam
12th June 2006, 01:40
0.2.3.2166
Commit by berrinam:
- Fix the behavior of some dialogs
Sharktooth
13th June 2006, 22:26
0.2.3.2167
Commit by berrinam:
- Fix some profile bugs
berrinam
16th June 2006, 07:39
0.2.3.2168
Commit by berrinam:
- Fix XviD+CQ
- Hide some XviD options that don't work with xvid_encraw
berrinam
16th June 2006, 22:03
0.2.3.2169
Commit by berrinam:
- Fix Adaptive Mux Window 'Go' button bug
- Fix 1st-pass bug
You might have been folllowing the XviD presets thread, and the thing which is restricting Teegedeck at the moment is that it isn't possible to do a separate configuration of the first pass codec settings. What do you think about making this possible?
What I have in mind is adding a checkbox and two radio buttons to the base VideoConfigDialog. The checkbox would be, 'configure first pass separately', and the radio boxes would be 'configure first pass now' and 'configure non-first passes now'. Internally, the checkbox's value would be stored as a bool, and if it is true, then there would be another field inside which is a copy of the codec settings, which is a custom configuration of the first pass:
class VideoCodecSettings
{
bool customFirstPass;
VideoCodecSettings firstPassSettings;
}
It's a bit hackish, so I'm reluctant to do it immediately, so what do you think? Do you have any other ideas?
Sharktooth
17th June 2006, 03:21
i wouldnt touch that code (the first rule in programming is "dont fix it if aint broke").
we're going toward a stable version so such changes should be in the next versions.
berrinam
17th June 2006, 04:39
Yes, certainly. Only bugfixes should be in the current versions, I was just thinking about the future (the good thing about CVS is that you can work on multiple things at once).
berrinam
17th June 2006, 05:35
@Sharktooth: Have you tried the SVN migration again? Is a nightly tarball actually necessary, because these are apparently deprecated, so waiting for them may mean we never migrate. Could you make me an admin in MeGUI, so I can have a look round that stuff as well please?
berrinam
18th June 2006, 22:47
0.2.3.2170
Commit by berrinam:
- Catch DirectShow exceptions
- Force Source Detection to only display results _after_ it has finished
berrinam
19th June 2006, 06:13
Should we divide the MeGUI source into folders? I think we are getting too many files in the one folder -- too disorganised.
ChronoCross
19th June 2006, 07:13
if you can come up with a decent folder structure.....I've seen some projects where the folder says NOTHING about the content. That sucks big time.
berrinam
19th June 2006, 07:43
As I see it, the source code in MeGUI can be divided into the folowing, functionality-wise:
Core -- the classes that are essential to MeGUI
\
\
-Queue -- manages the queue
-Profiles -- manages the profiles
-Plugin-manager -- although we don't actually support runtime plugins, we're heading towards that
-Interfaces (for plugins) -- VideoReader, IJobProcessor, ISettingsProvider, possibly also a IJobCreator (see later)
-Job creation -- manages the plugins, etc to create jobs
Core-GUI -- the bits of the GUI that are essential to MeGUI
\
\
-The main form
-Settings form
-Updater
Utils -- Dunno how useful this is
\
\
-VideoUtil.cs, basically, but without the job creation tools
Packages: if we get a very dynamic structure, most of the tools will end up being here
\
\
-Codecs, implementing ISettingsProvider, for both Audio and Video, which includes also their CodecSettings and SettingsForms
-Job creators (AutoEncode, One-Click, D2V, etc), implementing IJobCreator
-Job processors, implementing IJobProcessor
That makes it a pretty extensible mechanism, if possible. Then, we could group the files into folders by the top-level groupings I outlined.
IJobCreator: Basically, the AutoEncodeWindow and the One Click Encoder are both just interfaces to the same encoding backend, and there is no real reason to integrate them strongly into MeGUI. So instead, we could make them implement IJobCreator, so extra tools like them can be dynamically added to the Tools menu.
Doom9
19th June 2006, 10:28
I wanted to bring up another thing for quite a while now: Should the preview window be subclassed for the various purposes? I bring this up because after the next stable release there's going to be one more mode of operation: cutting.
Also, what do you think about the workflow when it comes to cutting? I feel right now it's already pretty complex with where you set your start/end credits and where you set your zones... cutting will make it even more complex. Any suggestions for that?
berrinam
19th June 2006, 10:44
We need a way to store info about the videos that we are dealing with. This info will mean zones, cuts and compressibility check info. I'm against the idea of having 'project files' because I like the idea that you can simply load a file in MeGUI and encode it immediately without having to mess around with projects. I think what could work is saving cut-files (and compressibility-check files and possibly zones-files) in the same directory as the input AVS file, but with a different extension. Then, MeGUI could auto-detect these when loading the AVS file, and load the cuts/etc as well. This is clear to the user, because it would show 'using cutpoints from ___ file'
As to the workflow, cutting comes in the AviSynth stage, because that's what it is -- editting the video (as opposed to credits/zones, which are editing the encode). This avoids confusion between cutting and zones/credits. Adding a 'cut-file' field in the audio encoding section would also allow for integration with audio cutting.
We could also introduce a reference in the AviSynth file to the location of the cut-file, so that when deleting intermediate files, we can delete the cut-file as well as the avisynth file.
Sharktooth
19th June 2006, 13:04
@Sharktooth: Have you tried the SVN migration again? Is a nightly tarball actually necessary, because these are apparently deprecated, so waiting for them may mean we never migrate. Could you make me an admin in MeGUI, so I can have a look round that stuff as well please?
Automatic SVN migration just fails and as you said nightly tarballs are gone...
The migration can be done with rsync but i havent time to read the "how to..." etc.
however it seems i cant update your status to admin (maybe doom9 can though).
We need a way to store info about the videos that we are dealing with. This info will mean zones, cuts and compressibility check info. I'm against the idea of having 'project files' because I like the idea that you can simply load a file in MeGUI and encode it immediately without having to mess around with projects. I think what could work is saving cut-files (and compressibility-check files and possibly zones-files) in the same directory as the input AVS file, but with a different extension. Then, MeGUI could auto-detect these when loading the AVS file, and load the cuts/etc as well. This is clear to the user, because it would show 'using cutpoints from ___ file'
As to the workflow, cutting comes in the AviSynth stage, because that's what it is -- editting the video (as opposed to credits/zones, which are editing the encode). This avoids confusion between cutting and zones/credits. Adding a 'cut-file' field in the audio encoding section would also allow for integration with audio cutting.
We could also introduce a reference in the AviSynth file to the location of the cut-file, so that when deleting intermediate files, we can delete the cut-file as well as the avisynth file.
I like it :)
@all: sorry but nero aac encoder had to go from the auto-update until we manage to work this license thing around...
berrinam
19th June 2006, 13:34
0.2.3.2171
Commit by berrinam:
- Fix a bug which caused some mux paths not to be found
Doom9
19th June 2006, 13:38
Shouldn't the Cutlist directly go into the script when it's being generated? After all it's the script that will be used for the encoding configuration (credits, zones) and if it's not directly applied, setting zones will be a heck of a mess (you have to recalculate every start and end frame with respect to the cuts).
berrinam
19th June 2006, 21:10
I meant that, but we also need to be able to remember what the cuts were so that identical ones can be done for audio.
Doom9
19th June 2006, 22:00
Of course.. shouldn't we keep cuts in memory as well though so as not to have to write and re-open files all the time?
berrinam
19th June 2006, 22:10
Yes.... not that it makes much difference:
1. write the avisynthscript+ cuts-file
2. Open your audio files
3. Read the cuts file to encode the audio.
It's only one extra read....
Sharktooth
20th June 2006, 01:04
we can store cuts in the avisynth script as MeGUI macros too...
berrinam
20th June 2006, 06:44
0.2.3.2172
Commit by berrinam:
- Fix 'Queue analysis pass'
berrinam
20th June 2006, 07:53
I declare 0.2.3.2172 a stable version, because it's had many bugfixes and I now have some new features prepared which I am going to commit. Hopefully, someone can put this version up on SF, so it is 'official'. I don't know if we want a numbering change, so I'm going to continue with the current numbers, and someone else can suggest a new system if they want.
Autoupdate will continue to be updated to the latest versions of MeGUI, so if people want to stay on a stable build, they should set core updates to be ignored. A better system for dealing with this will come eventually.
berrinam
20th June 2006, 08:15
Back to development builds now:
0.2.3.2173
Commit by berrinam:
- Add support for MediaInfo
berrinam
20th June 2006, 08:31
Any comments on my post about folders and plugins (http://forum.doom9.org/showthread.php?p=842136#post842136)?
Sharktooth
20th June 2006, 14:00
Uhm.... 2172 should be put on SF. However there are still bugs to fix :(
I think i can work a bit on MeGUI on this weekend.
About folders, yes a reorganization is strongly needed.
Sharktooth
20th June 2006, 15:34
0.2.3.2174
Commit by Sharx1976:
- Fixed MediaInfoWrapper.dll resource dependancy in the project file
- Added a confirmation MessageBox when clearing the queue
- Changed a menu item title to "Avisynth Script Generator" to keep consistency with the form title
0.2.3.2175
Commit by Sharx1976:
- Restored the menu item title to "Avisynth Script Creator" and changed the title of the form instead
berrinam
21st June 2006, 12:42
If I have this for video:
interface IVideoReader
{
Bitmap readBitmap(int frame);
}
then what should I have for audio?
dimzon
21st June 2006, 12:47
If I have this for video:
interface IVideoReader
{
Bitmap readBitmap(int frame);
}
then what should I have for audio?
// fast method, returns how much bytes are readen
long ReadAudioSamples(long nStart, int nAmount, IntPtr buf)
// slow method
byte[] ReadAudioSamples(long nStart, int nAmount)
berrinam
21st June 2006, 12:48
Thanks
dimzon
21st June 2006, 12:51
Thanks
talking about fast/slow implementation I propose
// write RGB data directly into memory buffer
int ReadVideoFrames(long nFirstFrameNumber, int nFramesCount, IntPtr buf)
berrinam
21st June 2006, 12:55
(We might as well do it for completeness, but) Why does MeGUI need fast video reading?
berrinam
21st June 2006, 12:59
// fast method, returns how much bytes are readen
long ReadAudioSamples(long nStart, int nAmount, IntPtr buf)
// slow method
byte[] ReadAudioSamples(long nStart, int nAmount)
How is this supposed to behave with non-byte-sized samples?
dimzon
21st June 2006, 13:04
(We might as well do it for completeness, but) Why does MeGUI need fast video reading?
Current implementation via readBitmap is really slow - it creates/destroys multiple GDI objects when You use PREVIEW ability...
How is this supposed to behave with non-byte-sized samples?
16 bit Stereo = 2*2 = 4 bytes ;)
berrinam
21st June 2006, 13:12
Ok, I'll write the prototypes as you described and you can write the implementations ;)
berrinam
21st June 2006, 13:27
I see this code at the moment for VideoReader:
public abstract class IVideoReader : IDisposable
{
public abstract void Close();
public abstract Bitmap ReadFrameBitmap(int framenumber);
#region IDisposable Members
void IDisposable.Dispose()
{
Close();
}
#endregion
}
and in d2vReader:
public override void Close()
{
closeD2V();
GC.SuppressFinalize(this);
}
Why do we need to call GC.SuppressFinalize(this); in d2vReader, and is it necessary to implement IDisposing directly in the base VideoReader interface? Shouldn't that be implemented by an abstract class which also implements IDisposing?
dimzon
21st June 2006, 13:55
Why do we need to call GC.SuppressFinalize(this) in d2vReader
To avoid unnececary Finalizer call to speedup garbage collector a lot
Actually (according MSDN (http://msdn2.microsoft.com/en-us/library/system.idisposable.aspx) guide) if your class contains unmanaged resources itself you must
implement finalizer, cleanUp all umnamaged resources in it
implement IDisposable.Dispose(), cleanUp all unmanaged resources in it, call IDisposable.Dispose to all disposable members, disable futher finalization via GC.SuppressFinalize(this)
using System;
using System.ComponentModel;
// The following example demonstrates how to create
// a resource class that implements the IDisposable interface
// and the IDisposable.Dispose method.
public class DisposeExample
{
// A base class that implements IDisposable.
// By implementing IDisposable, you are announcing that
// instances of this type allocate scarce resources.
public class MyResource: IDisposable
{
// Pointer to an external unmanaged resource.
private IntPtr handle;
// Other managed resource this class uses.
private Component component = new Component();
// Track whether Dispose has been called.
private bool disposed = false;
// The class constructor.
public MyResource(IntPtr handle)
{
this.handle = handle;
}
// Implement IDisposable.
// Do not make this method virtual.
// A derived class should not be able to override this method.
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
// Dispose(bool disposing) executes in two distinct scenarios.
// If disposing equals true, the method has been called directly
// or indirectly by a user's code. Managed and unmanaged resources
// can be disposed.
// If disposing equals false, the method has been called by the
// runtime from inside the finalizer and you should not reference
// other objects. Only unmanaged resources can be disposed.
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
component.Dispose();
}
// Call the appropriate methods to clean up
// unmanaged resources here.
// If disposing is false,
// only the following code is executed.
CloseHandle(handle);
handle = IntPtr.Zero;
// Note disposing has been done.
disposed = true;
}
}
// Use interop to call the method necessary
// to clean up the unmanaged resource.
[System.Runtime.InteropServices.DllImport("Kernel32")]
private extern static Boolean CloseHandle(IntPtr handle);
// Use C# destructor syntax for finalization code.
// This destructor will run only if the Dispose method
// does not get called.
// It gives your base class the opportunity to finalize.
// Do not provide destructors in types derived from this class.
~MyResource()
{
// Do not re-create Dispose clean-up code here.
// Calling Dispose(false) is optimal in terms of
// readability and maintainability.
Dispose(false);
}
}
public static void Main()
{
// Insert code here to create
// and use the MyResource object.
}
}
is it necessary to implement IDisposing directly in the base VideoReader interface?
I just like to write something like
using(IVideoReader vr = new BlaBlaBlaReader(...))
{
// bla bla bla
}
in this case IVideoReader MUST implement IDisposable
berrinam
21st June 2006, 22:03
I just like to write something like
using(IVideoReader vr = new BlaBlaBlaReader(...))
{
// bla bla bla
}
in this case IVideoReader MUST implement IDisposable
But IVideoReader should simply inherit IDisposable, NOT have an implementation of it:
THIS IS WRONG:
public abstract class IVideoReader : IDisposable
{
public abstract void Close();
public abstract Bitmap ReadFrameBitmap(int framenumber);
#region IDisposable Members
void IDisposable.Dispose()
{
Close();
}
THIS IS RIGHT:
public interface IVideoReader : IDisposable
{
void IDisposable.Dispose();
Bitmap ReadFrameBitmap(int framenumber);
}
Do you agree?
berrinam
22nd June 2006, 07:25
Uhm.... 2172 should be put on SF. However there are still bugs to fix :(I think we've stopped development for long enough to remove most of the bugs. While there certainly are bugs (like the safe profile alteration one) MeGUI is still nowhere near a complete release (the updater really needs some work to become a proper solution), so continued development on real features, not bugs, is IMHO important.
berrinam
22nd June 2006, 11:40
0.2.3.2176
Commit by berrinam:
- Add '-threads' option to xvid config
- Fix 'safe profile alteration' feature. Does anyone actually need this?
berrinam
23rd June 2006, 08:25
0.2.3.2177
Commit by berrinam:
- Fix profiles not being saved when closing bug
I know I said earlier it's better to be safe than sorry regarding the CVS->SVN conversion and history, but I really would like some more advanced stuff like SVN and trac, so I'm interested in that. I'm no longer convinced we actually need the history. What does everyone else think?
PS. Who would host trac if we moved to that?
dimzon
23rd June 2006, 12:07
I'm no longer convinced we actually need the history. What does everyone else think?
No, please, keep history
buzzqw
23rd June 2006, 12:13
noooo please !!! i love to read changelog !
BHH
berrinam
23rd June 2006, 12:22
noooo please !!! i love to read changelog !
BHH
History, as in CVS history, not the changelog. What I mean is that the CVS history IMHO needn't all be transferred to SVN.
@dimzon: Why do you think we should keep the CVS history?
Doom9
23rd June 2006, 12:24
The history Berrinam is speaking of is the CVS history.. the changelog (4th tab) will remain. Either way, I have many many old versions still archived. You can check out every revision so that when needed, a diff between two revisions can always be made. But rare are the ocurrences when you actually have to go back to something that was. The only time I ever needed to go back I ended up using a hard copy and manually merging files to get back to an usable state.
Sharktooth
23rd June 2006, 12:47
@berrinam: i managed to upgrade your status to admin, so now you have the possibility to have a look at subversion migration.
However if automatic cvs->svn fails there are very few chances we can keep history since cvs tarball are deprecated.
Sharktooth
23rd June 2006, 13:30
megui SVN has been resynched (without history though).
Doom9
23rd June 2006, 14:56
about catching stdout/stderr: recently I adopted a slightly different strategy at reading stdout/stderr output from a process. When you activate events, there's an event that's triggered whenever something is written to a redirected output.. I'm wondering whether that might rid us of the annoying "megui doesn't get the error message that x264 shows before crapping out" thing (where people consistently forget to think just a little bit before posting the log and realize that a second pass that only lasts for a few seconds obviously is no real second pass)
daverc
23rd June 2006, 16:15
about catching stdout/stderr: recently I adopted a slightly different strategy at reading stdout/stderr output from a process. When you activate events, there's an event that's triggered whenever something is written to a redirected output.. I'm wondering whether that might rid us of the annoying "megui doesn't get the error message that x264 shows before crapping out" thing (where people consistently forget to think just a little bit before posting the log and realize that a second pass that only lasts for a few seconds obviously is no real second pass)
I used this approach for xAnime, it works well but it is not perfect either. Some exe don't like it. I don't remember why but for for X264.exe i had to use a helper class called ProcessCaller, which was actually my 1st choice. However for mp4box and mkvmerge watching stderr/stdout with events was working well. If you ever want to see what i mean, you can find the sources here (http://detritus.sobanet.com/files/xanime/xAnime.0.1.5.full.7z).
The classes for command line processing are CLIEncoder for management with events, and inherited X264CLIencoder with overriden methods using ProcessCaller helper. I also use some kind of notifier to report progress of CLI outputs.
Sirber
23rd June 2006, 16:34
I used this approach for xAnime, it works well but it is not perfect either. Some exe don't like it. I don't remember why but for for X264.exe i had to use a helper class called ProcessCaller, which was actually my 1st choice. However for mp4box and mkvmerge watching stderr/stdout with events was working well. If you ever want to see what i mean, you can find the sources here (http://detritus.sobanet.com/files/xanime/xAnime.0.1.5.full.7z).
The classes for command line processing are CLIEncoder for management with events, and inherited X264CLIencoder with overriden methods using ProcessCaller helper. I also use some kind of notifier to report progress of CLI outputs.That's why I gave up on .NET. Not programmer friendly.
Doom9
23rd June 2006, 17:08
Hmm.. basically your Processcaller seems to be doing something very similar than my reader.. I also have two threads reading the outputs and firing events when something is being received. I even added something on top of that which keeps those reading threads running up until there's really nothing left in both readers anymore. I have no idea how x264 manages to bypass my code.
daverc
23rd June 2006, 22:30
That's why I gave up on .NET. Not programmer friendly.
Right, and that's exactly on these lines of code where you left.
And where i started.
I spent countless hours to do useless experiments to figure out a working solution.
Doom9, I'm pretty sure you already tried this one. . If not, It seems to be .Net 2 standard approach. Notice that the trigger to report completion of the process is somehow hidden : EnableRaisingEvent. This time there's only one thread. Its main flaw is issues to deal with the order of the events when stderr and stdout outputs simultaneously. At least this time you can be sure not to stop reading before every message has been processed.
One more thing you can do is read the exitcode of the process.
Let's hope x264.exe return something far from -1 on error.
Last workaround to losing error notification can be to store every output string. Ie for debug purpose, store up to 128 kb, for regular use, store only last 10 lines.
Process calcProc;
List <string> stdout=new List <string> ;
List <string> stderr=new List <string> ;
private void AsyncExec(string CmdLine, string CmdParams)
{
calcProc = new Process();
ProcessStartInfo i = new ProcessStartInfo();
// Start info
i.FileName = CmdLine;
i.Arguments = CmdParams;
i.RedirectStandardOutput = true; // makes MP4Box fail
i.RedirectStandardError = true; // makes x264 fail
i.CreateNoWindow = true;
i.UseShellExecute = false;
calcProc.StartInfo = i;
//Redirects the output of the console
calcProc.OutputDataReceived += new DataReceivedEventHandler(calcProc_OutputDataReceived);
calcProc.ErrorDataReceived += new DataReceivedEventHandler(calcProc_ErrorDataReceived);
// in case event is not catched by any eventhandler
//new MethodInvoker(this.calcProc_OutputDataReceived).BeginInvoke(null, null);
//new MethodInvoker(this.calcProc_ErrorDataReceived).BeginInvoke(null, null);
//Enables the redirection of the event fired at completion of the process
calcProc.EnableRaisingEvents = true;
calcProc.Exited += new EventHandler(calcProc_Exited);
// Start
calcProc.Start();
//Starts the redirection of the output
calcProc.BeginOutputReadLine();
calcProc.BeginErrorReadLine();
}
//On end of the process write the time and launch next step
void calcProc_Exited(object sender, EventArgs e)
{if (calcProc.ExitCode!=-1) DoSomeThingWithExitCode(calcProc.ExitCode);
DoSomeThingOnCompletion();
}
//for X264 the progress is displayed on std error
void calcProc_ErrorDataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
{stderr.Add(e.data);
DoSomeThingToReportStdErr(e.data);
}
void calcProc_OutputDataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
{stdout.Add(e.data);
DoSomeThingToReportStdOut(e.data);
}
daverc
24th June 2006, 01:24
Btw, processCaller is borowed from CodeProject (http://www.codeproject.com/csharp/LaunchProcess.asp)
As you noticed, it uses threads to handle the readings.
It has been written in 2003, and is obviously .net 1.1.
I just added a kill method, maybe it would need an exitcode as well. I tried to get rid of it with above code, but i had no success with x264.exe.
However MeGui already has everything required to deal with command lines.
bob0r
24th June 2006, 01:45
megui SVN has been resynched (without history though).
Will megui updates be in the sf SVN now?
(auto update script is ready to roll!)
berrinam
24th June 2006, 01:48
Yes, they should.
Doom9
25th June 2006, 10:36
@daverc: I'm actually not losing any notification. Yours as well as mine is based on reading line after line from stdout/stderr (so not using the actual events that are being fired.. we use that just for the exit event and have some postprocessing after that). My two readers actually have little more code.. I use an mre so that when I get the exit event, I read whatever's yet unread from those two readers (encraw is like that.. if you misconfigure it, you get the exit even before all the output has been read.. I think it's a weird timing issue since after all encraw has to write output before it exits).. that does the trick for encraw but no good has come from it from x264. One of the problems I'm having is that I can't even reproduce it.. people post the log but don't post what happens when they run the commandline manually. If I had a scenario that I could reproduce, at least I could try a different approach and know if it helps or hurts before committing anything.
daverc
25th June 2006, 15:55
That was everything i could suggest about that area of the code. Sorry it did not help.
What about writting every output line to a log file ? On a temp basis, and on a testing build which you will give only to people having the issue.
It 's a simple way to collect enough data, and only need injection of 2 lines of code next to the readers methods.
Doom9
25th June 2006, 16:52
I don't think it's so much a problem of not processing the line as it is of not getting it at all.. with encraw I pulled all registers to make sure I'm reading everything.
daverc
25th June 2006, 17:15
And what about searching a way to use this exitcode ?
protected void proc_Exited(object sender, EventArgs e)
{
mre.Set(); // Make sure nothing is waiting for pause to stop
stdoutDone.WaitOne(); // wait for stdout to finish processing
stderrDone.WaitOne(); // wait for stderr to finish processing
if (proc.ExitCode != 0) // check the exitcode because x264.exe sometimes exits with error but without
su.HasError = true; // any commandline indication as to why
job.End = DateTime.Now;
su.IsComplete = true;
doExitConfig();
su.Log = log.ToString();
statusUpdate(su);
}
Doom9
25th June 2006, 18:02
you got a list of all errorcodes ready?
there's no rule as to what a program should use as exit code
daverc
25th June 2006, 18:14
Nope.
But i can give a look at x264 source to see if these error codes actually means something.
Sorry it is not a lead to follow.
x264 returns -1 if it fails on opening source
fprintf( stderr, "x264_encoder_open failed\n" );
or setting output file,
fprintf( stderr, "can't set outfile param\n" );
else it return 0.
Only message you can try to parse if it not already processed is
fprintf( stderr, "aborted at input frame %d\n", opt->i_seek + i_frame );
daverc
25th June 2006, 19:09
Even this last message is normal operation and seems to be called only when user presses CTRL+C, and that obviously never happens in MeGUI. That 's why i have not any found it in MeGUI code.
So completly forget the idea of using the exit code.
Anyway, if have a few ideas to test, but i'm not yet familiar with x264. If you are not working on it now, plz hold your work a little and i may be able to provide you more informations about the cases where x264 has abnormal termination.
Doom9
25th June 2006, 19:38
I'm kinda waiting for the one user that brought up the problem recently to tell me how I can reproduce it.. then I can take it from there. I haven't written a single line of code for megui since March.
daverc
25th June 2006, 20:48
Let me know when he will show up, and i might give a hand.
I have found the location and the mechanics of the logger in x264 code. Once i have figured a scheme, we will be able to parse everything we can read in a dos command line.
I will wait for the bug report before starting working on it, because i really don't know if it will be of any use.
Sharktooth
26th June 2006, 13:08
I promised berrinam i would have worked on megui the past weekend but it seems im cursed since my HDD crashed (damn maxtor!) but luckily i had a 3 days old backup so i recovered almost everything...
shon3i
26th June 2006, 23:27
(damn maxtor!) Oh, yea!!
daverc
28th June 2006, 23:15
I found a possible issue in avisynth script creator with filenames. Avisynth can't open some sources when avs file is coded in UTF8. Replace the stream writter by the blue line.
Encoding.Default is ANSI.
Line 1095 in avisynthwindow.cs
private void writeScript(string path)
{
try
{
////AVS scripts should be written in ANSI
////default stream writter encoding is UTF8
//StreamWriter sw = new StreamWriter(path);
//sw.Write(avisynthScript.Text);
//sw.Close();
File.WriteAllText(path, avisynthScript.Text, Encoding.Default);
}
catch (IOException i)
{
MessageBox.Show("An error ocurred
when trying to save the AviSynth script:\r\n" + i.Message);
}
}
hkl8324
29th June 2006, 12:20
Megui Bugs?
I encode a video using Megui (disk space 200MB:p ).
The encoded file is 120MB...
When Megui proceed to the muxing stage
, it produce a 0KB mp4 file in the end. (120+120>200MB)
and worse of all, Megui deleted my encode video and audio files...
Sharktooth
29th June 2006, 12:27
:search:
also this is the development thread and not the bug-report thread.
berrinam
3rd July 2006, 10:44
I'm working on a refactor which I spoke about earlier, which involves making most parts of the program be made up of interfaces and thus make all the separate components independent as possible. Anyway, I don't know how to make an interface for a Job-generator. At the moment, JobUtil generates all the Jobs for MeGUI, and everything is just a GUI for that. All of the jobs are trivial to create except for video job creation (since it can create multi-pass jobs). So, how do I make a polymorphic job generation interface, which can create jobs of an arbitrary type without building too much code inter-dependance?
The best I can think of is:
interface JobCreator
{
Job CreateJob(params object[] jobInfo);
}
Which is really just hopeless, as it (a) relies on the caller knowing exactly what the callee expects (which removes the abstraction that the interfaces are supposed to allow) and (b) removes any type-safety. Any suggestions? Perhaps independence is too much to hope for in this situation (this is required only so that the One Click Encoder and the AutoEncoder can generate video and audio jobs).
daverc
3rd July 2006, 14:56
So, how do I make a polymorphic job generation interface, which can create jobs of an arbitrary type without building too much code inter-dependance?
I don't know.
Here are my thought about it.
1 case :
I suppose you want to implement JobCreator in One Click Encoder and Auto Encoder.
Did you consider using the approach we use when we add a control to a control container, let's say a form. Ie a list of controls for the parent with an add method ?
This way the JobCreator will be more a "JobHost", and creator will be the constructor of each job.
interface JobCreator
{
Jobs List<Jobs>;
Add(Job J);
}
interface Job
{ ...
JobCreator Host;
}
2 case :
You want to implement it in AudioJobCreator, VideoJobCreator, etc ...
make the interface with a CreateJob method taking only few parameters, like the job name.
Then add several methods in AudioJobCreator, VideoJobCreator, etc ...
interface JobCreator
{
Job CreateJob(string name, JobType jobtype);
}
VideoJobCreator : JobCreator
{
Job CreateJob(string name, JobType jobtype);
{...}
Job CreateJob(some more params);
{...}
Job CreateJob(some even more params);
{...}
}
berrinam
3rd July 2006, 22:46
Did you consider using the approach we use when we add a control to a control container, let's say a form. Ie a list of controls for the parent with an add method ?
This way the JobCreator will be more a "JobHost", and creator will be the constructor of each job.
interface JobCreator
{
Jobs List<Jobs>;
Add(Job J);
}
interface Job
{ ...
JobCreator Host;
}
That's what I'm doing right now. It mostly works, but there's one situation where it falls down:
interface ITool
{
Run(MainForm info);
}
VideoTool : ITool
{
Run(...)
{
// Does some magic, and calls MainForm.AddJob() with a few new video jobs
...
}
}
OneClickEncoder : ITool
{
Run(...)
{
// This needs to generate a video job. Should it duplicate VideoTool's code (obviously not), or should it find some way to call it (yes, but how, without losing the abstraction?)? For instance, if we unregister the VideoTool, should we still be able to create video jobs via the OneClickEncoder?
}
}
AutoEncoder : ITool
{
Run(...)
{
// This needs to share a lot of code with the OneClickEncoder. So there are the same problems as above with how to do this well.
}
}
interface JobCreator
{
Job CreateJob(string name, JobType jobtype);
}
VideoJobCreator : JobCreator
{
Job CreateJob(string name, JobType jobtype);
{...}
Job CreateJob(some more params);
{...}
Job CreateJob(some even more params);
{...}
}
The whole point about the interface is that the parameters passed in the method defined by the interface are all that are required for the implementation. If we need to case-wise subclass the interface to work out what needs to be passed, we lose all the abstraction/extensibility/code-cleanliness.
My conclusion from trying to work it out: it isn't possible to maintain the abstraction of interfaces while asking for a very specific thing (ie video job generation). So, the OneClick- and Auto-Encoders will have to know the specific methods which generate the video jobs, as they do right now, anyway. It's a small loss in abstraction, but it's needed for interdependence, and I think we can assume that video encoding will always be in the core part of MeGUI. I don't know what happens in the future if more advanced interdependence is needed, but that's not my problem now....
daverc
3rd July 2006, 23:28
Just more thoughts.
adding a struct somewhere to store job types will help when you pass a job as parameter.
struct JobType
{
string audio;
string video;
string mux;
string null;
}
What about using an abstract class instead of an interface ?
What about inheriting from multiple atomics interfaces ?
My advice is to play with class diagram generator before getting into the code.
berrinam
4th July 2006, 01:28
Just more thoughts.
adding a struct somewhere to store job types will help when you pass a job as parameter.
struct JobType
{
string audio;
string video;
string mux;
string null;
}
I don't get the point of this, and it also seems to mean that job types will be limited to audio, video, and mux, whereas I have made that part extensible already.
What about using an abstract class instead of an interface ?How does this help?
What about inheriting from multiple atomics interfaces ?Can you show me what you mean please? I don't understand.
My advice is to play with class diagram generator before getting into the code.The code has already all been written (because MeGUI already works;)), which is a good thing, because I know what constraints I have and what to expect. I'm now trying to fit it into an interface system.
What I think I will do is leave audio and video encoding components as core parts of MeGUI, so anything can simply access JobUtil's methods for the common bits in the code.
daverc
4th July 2006, 02:43
These were just simple ideas i had when trying to figure out what was your goal.
1.Forget the JobType.
2.An abstract class would be :
- a place to hold the common code of OneClickEncoder and AutoEncoder.
- something that must be inherited and can't be used itself, just like every interface.
3.Inheriting multiple smaller interfaces may help if a single interface is not "generic enough"
What I think I will do is leave audio and video encoding components as core parts of MeGUI, so anything can simply access JobUtil's methods for the common bits in the code.
My conclusion from trying to work it out: it isn't possible to maintain the abstraction of interfaces while asking for a very specific thing (ie video job generation). So, the OneClick- and Auto-Encoders will have to know the specific methods which generate the video jobs, as they do right now, anyway. It's a small loss in abstraction, but it's needed for interdependence, and I think we can assume that video encoding will always be in the core part of MeGUI. I don't know what happens in the future if more advanced interdependence is needed, but that's not my problem now....
One day, you will end with a MeEngine and a MeGUI. :)
You may consider splitting them in separate namespaces now.
These are just simple thoughts ...
berrinam
4th July 2006, 05:12
One day, you will end with a MeEngine and a MeGUI. :)I've actually really thought about that idea.... MeGUI is very much becoming very generic/abstract and clever/powerful, so designing an AviSynth-like scripting language could be (IMHO) a really interesting idea. I thought about AviSynth's incredible succes, and I think the easy scripting language is one of the main reasons. It also frees up the work even more for developers, so different components can be worked on independantly, and since GUI would be separated from implementation, we could even look to a different (cross-platform) language, like Java or D. But that's another day's discussion....
You may consider splitting them in separate namespaces now.Already done! :D
foxyshadis
8th July 2006, 04:19
Is SVN official yet or is CVS still current? hm, I see they're both at the same revision so I'll use svn.
Xvid bugfixes based on incorrect or missing default values: (I know framedrop isn't exposed yet, but I threw it in anyway)
Index: CommandLineGenerator.cs
===================================================================
--- CommandLineGenerator.cs (revision 7)
+++ CommandLineGenerator.cs (working copy)
@@ -507,7 +507,7 @@
sb.Append("-packed ");
if (xs.MotionSearchPrecision != 6)
sb.Append("-quality " + xs.MotionSearchPrecision + " ");
- if (xs.VHQMode != 0)
+ if (xs.VHQMode != 1)
sb.Append("-vhqmode " + xs.VHQMode + " ");
if (xs.QPel)
sb.Append("-qpel ");
@@ -536,10 +536,10 @@
if (!xs.Trellis)
sb.Append("-notrellis ");
if (!xs.ChromaMotion)
- sb.Append(" -nochromame ");
+ sb.Append("-nochromame ");
if (xs.MinQuantizer != 2)
sb.Append("-imin " + xs.MinQuantizer + " ");
- if (xs.MaxQuantizer != 2)
+ if (xs.MaxQuantizer != 31)
sb.Append("-imax " + xs.MaxQuantizer + " ");
if (xs.MinPQuant != 2)
sb.Append("-pmin " + xs.MinPQuant + " ");
@@ -547,7 +547,9 @@
sb.Append("-pmax " + xs.MaxPQuant + " ");
if (!xs.ClosedGOP)
sb.Append("-noclosed_gop ");
- if (xs.NbBframes > 0)
+ if (xs.FrameDropRatio != 0)
+ sb.Append("-drop " + xs.FrameDropRatio + " ");
+ if (xs.NbBframes != 2)
{
sb.Append("-max_bframes " + xs.NbBframes + " ");
if (xs.VHQForBframes)
@@ -558,7 +560,7 @@
sb.Append("-bquant_offset " + xs.BQuantOffset + " ");
if (xs.MinBQuant != 2)
sb.Append("-bmin " + xs.MinBQuant + " ");
- if (xs.MaxBQuant != 2)
+ if (xs.MaxBQuant != 31)
sb.Append("-bmax " + xs.MaxBQuant + " ");
}
if (parX > 0 && parY > 0) // custom PAR mode
berrinam
8th July 2006, 05:19
Is SVN official yet or is CVS still current? hm, I see they're both at the same revision so I'll use svn.Correct. Your patch is now in SVN.
0.2.3.2178
Commit by berrinam:
- Add foxyshadis's XviD fixes
bob0r
8th July 2006, 17:37
Not sure if it was fixed, or if this is because of SVN, but the changelog tab is showing the changes correctly on my windows xp again.
Anyways good work on the svn!! :D
foxyshadis
10th July 2006, 10:04
Oops, forgot to fully test the patch, so here's a fix, without the silly mistake in the other. (Note: Don't code while asleep.)
Index: CommandLineGenerator.cs
===================================================================
--- CommandLineGenerator.cs (revision 8)
+++ CommandLineGenerator.cs (working copy)
@@ -549,9 +549,9 @@
sb.Append("-noclosed_gop ");
if (xs.FrameDropRatio != 0)
sb.Append("-drop " + xs.FrameDropRatio + " ");
+ if (xs.NbBframes != 2)
+ sb.Append("-max_bframes " + xs.NbBframes + " ");
if (xs.NbBframes > 0)
{
- sb.Append("-max_bframes " + xs.NbBframes + " ");
if (xs.VHQForBframes)
sb.Append("-bvhq ");
if (xs.BQuantRatio != 150)
Sharktooth
11th July 2006, 02:53
0.2.3.2179
Commit by Sharx1976:
- Foxyshadis quote: "Don't code while asleep"
Dayvon
12th July 2006, 19:16
Haven't dropped by in while, thought I'd just check in and weigh in with my 2cents.
You guys are flipping amazing.
Just got the newest MeGUI and between the autoupdate, the improved previews (DAR), the superiority of your AVISynth creator; you guys have THE BEST encoder/GUI I have ever used.
I just recently acquired Final Cut Studio for work and with it came Apple's Compressor program. MeGUI puts it to shame. Compressor is slow to encode, doesn't have near the customizability, lower quality overall, etc. etc.
So just to encourage you all (x264, AVIsynth devs as well), you have the best personal/semi-pro video encoding on the planet, and others are now playing catchup. Congrats and thanks!!!
Sharktooth
14th July 2006, 01:00
I'll commit a CommandLineGenerator.cs patch as soon as the SVN auth will work again...
In the meanwhile here are the bins: http://mirror05.x264.nl/Sharktooth/MeGUI/MeGUI-0.2.3.2180.7z
Sharktooth
16th July 2006, 02:36
@devs: Are you having problems with SVN or it's me? It seems i cant commit... auth failure.
squid_80
16th July 2006, 04:19
Maybe something to do with this?
( 2006-07-13 09:23:52 - Project CVS Service, Project Shell Service, Project Subversion (SVN) Service, SourceForge.net Web Site ) A recent kernel exploit was released that allowed a non admin user to escalate privileges on the host pr-shell1. We urge all users who frequent this host to change their password immediately and check their project group space for any tampering. As a precaution, we have blocked access to all project resources by password until the user resets their password. After the password has been reset, project resources should be accessible within 5 minutes.
Sharktooth
18th July 2006, 02:54
weird... i didnt get that notification in my mailbox...
0.2.3.2180
Commit by Sharx1976:
- Fixed x264 command line generation ("--analise " --> "--analyse none" when all macroblock disabled and adaptive dct enabled)
squid_80
18th July 2006, 04:00
I found it on the Site Status (http://sourceforge.net/docs/A04/) page, the first place I look when something on sourceforge won't work. (I look at it often...)
Sharktooth
31st July 2006, 02:45
Got some working code for the FTP support in the autoupdater but i need a working lib that handles FTP full PASV mode or users behind firewalls, misconfigured routers, NAT, proxies and other "port-blocking" softwares (most of internet users) will not be able to get updates.
Any ideas?
Sharktooth
31st July 2006, 13:27
0.2.3.2181
Commit by Sharx1976:
- Made x264 thread-input enabled by default
foxyshadis
31st July 2006, 14:47
New patch against 2181 (http://foxyshadis.slightlydark.com/random/megui-2181-xvidcustom.diff):
Mostly cosmetics on the xvid panel, plus enabling custom commandline.
Now for proposals:
* I'd like to put quantizer type selection with the custom matrix box. It would say "Quantizer Matrix" and would start with a drop-down of h263,mpeg,custom just like the current, but if you choose custom the box for loading a matrix shows up to the right. Disabling won't work as a visual because it's disabled already and no one can tell when three dots on the load button are enabled or disabled. Or we could just enable it when custom is selected, and possibly just prevent typing. Eh.
* I have the same issue with x264's. At least if it said "Load" instead of "..." it'd be visible. Hmm.
* I'd like to add an escape key and perhaps enter key handler, as well as rearranging the other key-bindings that interfere with standard windows keys. At the least, replacing ctrl-c,v, & x with alt-c,v, & x or similar. Also reenabling ctrl-a support.
* And I'd like to change the way the zone tab works. I'd like to make it so that when you click on an entry, the numbers will be loaded back in for you to edit, "add" becomes "update" (instead of needing a separate button). If a zone intersects over overwrites another zone, it will just be quietly removed or fixed up instead of giving an error, or ask first. Plus a bit of rearrangement.
I can whip up a prototype later if you'd like to see what all I have in mind, and exactly how I'd like it to peform in different cases.
Since I'm not versed in advanced C# like you guys, I figure I can at least help with the usability/cosmetics, starting with the parts that annoy me and then looking at the rest of the buglist. :p
foxyshadis
1st August 2006, 00:03
New patch against 2181 (http://foxyshadis.slightlydark.com/random/megui-2181-xvidpackedfix.diff):
Packed bistream fix, unrelated to above patch.
Doom9
1st August 2006, 10:01
* I'd like to add an escape key and perhaps enter key handler, as well as rearranging the other key-bindings that interfere with standard windows keys. At the least, replacing ctrl-c,v, & x with alt-c,v, & x or similar. Also reenabling ctrl-a support.What's wrong with the X button to close a dialog? That's universal.. escape isn't as apps tend to do different things when you press escape.
And what about enter? I can't begin to tell how I hate apps that do something when I press enter when I expected a linewrap instead. If you put enter as OK (as an example) in a codec config, then you suddenly can't force a value in a up/down element anymore (first you type, then you press enter so the value is taken into account without you having to enter another control).
As far as the shortcuts go.. do you have a good alternative (and while you're at it, can make them actually show up? Everything is written so that the menu should have underlined keys.. but they just don't show up).. since they don't show up it's so much more important that they are apparent when you look at the menu.. it can't be cryptic when you can't see what kind of shortcuts are available.
I'd like to make it so that when you click on an entry, the numbers will be loaded back in for you to edit, "add" becomes "update" (instead of needing a separate button).But you still need those two buttons.. how else are you going to add a new zone? Via update? That would be extremely confusing.
check
1st August 2006, 10:41
I'm with you on the enter button - it should be used for line breaks only - but the shortcuts in MeGUI are seriously messed up. Many times I've gone to copy something only to have the calculator pop up. Althouth the Chapter Creator only has 'C' initials, cut copy pasta have been using ctrl-x/c/v for too long to lightly mess with.
Also, while we're on the subject, where is ctrl-w for closing windows? I use this command all the time for most programs, but it's suspiciously absent in MeGUI.
foxyshadis
1st August 2006, 10:59
I dislike not having esc because I hate switching from keyboard to mouse, hate hunting for the x unless I'm near it already, and it's the standard cancel button for dialogs. Enter I don't care much about, it's mainly standard usage in messageboxes which this definitely isn't, I shouldn't have mentioned it.
Label hints already show up, but if "Show extra keyboard help in programs" in windows accessibility options is unchecked, you have to press Alt first.
As for zones, my idea was to make the button switch between add and update labels, but that's potentially confusing and realistically doesn't cover all expected possibilities; having to click off the list or on a pre-made "New Zone" line vs just hitting the add button. Add can overlap the functionality of update, with or without a confirmation box, but update doesn't really overlap add. So it will less new than I thought, mostly loading a zone's options in when clicked on, overwriting existing zone bounds, and synching update's bounds checking and behavior to add's. (Right now it seems to have none.)
Check, all standard windows accellerators are hooked by megui and disabled atm. =\
Doom9
1st August 2006, 12:18
You can close apps and windows with Alt-F4.. that's the universal shortcut, notd escape and not something with W (I've never even heard of that).
it's mainly standard usage in messageboxesI don't know what kind of programs you've used but if I could, I'd have given a couple software writers a good beating for making the Enter button do something in an app, especially if it does something irreversible. No way will I allow megui to ever become such an app where I have to fear for my life when meeting one of the users of my app.
And I find it suspcious that people can just complain but not make any productive suggestions with regards to the shortcuts.. if you have no productive input, it's often better not to say anything at all.
Sharktooth
1st August 2006, 12:45
0.2.3.2182
Commit by Sharx1976:
- Cosmetics on the xvid panel, plus enabling custom commandline.
- Packed bistream fix.
(both patches by foxyshadis)
Sharktooth
1st August 2006, 13:00
0.2.3.2183
Commit by Sharx1976:
- Fix: Unchecking lossless in x264 configuration now re-enables the bitrate/quantizer textbox
foxyshadis
1st August 2006, 13:11
And I find it suspcious that people can just complain but not make any productive suggestions with regards to the shortcuts.. if you have no productive input, it's often better not to say anything at all.
If you're asking for suggestions, the current assignments are not unreasonable, using alt instead of ctrl. Additions include:
Alt-b: Bitrate calc.
Alt-o: Open video file.
Alt-e: One click
Alt-u: Update.
Alt-m: Pop up tools->muxer menu. (Or a dialog to the same effect so it doesn't go poof when the mouse waves over it?)
Alt-n: Minimize. (Why alt-n? Because alt-shift-n has been minimize since windows 1.0.)
Alt-p: Import profiles
Alternates:
Alt-v: Open video.
Alt-a: Open audio.
And do the validation when you hit "Enqueue".
Alt-i: Import profiles
Alt-p: Export profiles (But I really think importing is more closely associated with the general concept of profiles... oh well.)
And we start hitting letter pressure at that point; if you want to have Enqueue be an accellerator you can steal e and give r to one click encoder. Ctrl can be mixed in if desired, but all alt is nice for consistency until you run out. (Alt-shift-v and alt-shift-a respectively for enqueue? ctrl-shift-v/a for config? Now this is getting silly.) Either way, free up View's mnemonic and give that menu another name (or, howabout dumping view and minimize altogether and using the old-fashioned left-corner "shift" menu, placing process info in tools).
You might notice I also reordered the tab stops (that is the most amazing VS2005 feature I've never heard of, you have to try it) in xvid and intend to do so for the other panels, to make tabbing through a little easier. Part of making life easier for keyboardists.
Sharktooth
1st August 2006, 14:08
new option in x264: --threads=auto to detect number of cpus
but we already have our cpu # detection code and we set the x264 and other codecs threads (where applicable) accordingly.
should we let x264 choose the # of threads or keep the current behaviour?
Sharktooth
1st August 2006, 15:04
0.2.3.2184
Commit by Sharx1976:
- Fixed xvid custom commandline options in CommandlineGenerator.cs
Sharktooth
1st August 2006, 15:38
0.2.3.2185
Commit by Sharx1976:
- Several cosmetic fixes
check
2nd August 2006, 03:56
Ok, I'll also put my money where my mouth is ;) - here are some suggestions. I also think it would be worth reordering the tools menu to something more in line with the expected workflow. As an addendum to my previous comments about keeping default windows shortcuts as they are - I enjoy having other custom shortcuts to take arbitrary shortcut letters that are simply easy to reach with one hand - so I can keep one hand on the mouse.
I prefer alt for new windows & similar and ctrl for same window commands.
o Open: ctrl-o. Having separate extensions for audio/video doesn't seem to smart, would there be some way to use one command to also ask for "open as"?
o Close window / quit (with confirmation): ctrl-w alt-x.
o d2v creator: alt-1 alt-d
o Avisynth Creator: alt-2 alt-a
o Bitrate Calc: alt-3 alt-b
o One click encoder: alt-4 alt-r
o Chapter Creator: alt-5 alt-c
o Muxers: alt-6 alt-e alt-m
o AVC Matrix Editor: alt-9
o AVC level - move to a button, either inside x264 config or in the video input config which only shows up when x264 is selected. If you want to keep it in the menu, shortcut: alt-0
o Profile management. Possibly have a large 'profile centre' sort of thing where you can access, import and delete all profile types. If so, the one click setup would get integrated here too. No shortcut.
o One click setup: No shortcut.
o Settings: alt-, .This is the mac shortcut - there's no equivalent for windows but I always expect it - even if it's rare I get to use it ;)
o Update: No shortcut.
Will add more as I remember what i'm missing.
Doom9
2nd August 2006, 09:46
Why alt-n? Because alt-shift-n has been minimize since windows 1.0.hmm... I've never heard of that so I tried on this w2k box I'm currently on.. Alt-N does nothing, Alt-Shift-N does nothing, Alt-Ctrl-N does nothing, only Ctrl-N does something (in Firefox and IE it opens a new windows, in windows explorer it doesn't do anything).
should we let x264 choose the # of threads or keep the current behaviour?is that new option in any way better than what we currently use? The disadvantages are: it's probably hardware controlled so even if you boot up with /onecpu, an asm based cpu detection would probably still report two cores, and we have other codecs that don't have an autodetection so the current code is still required.
As far as profiles go.. export: megui saves all profiles upon exit so that is redundant. Import: copying profiles to the proper place equals import so once again I think this is redundant.
foxyshadis
2nd August 2006, 11:20
Did I say alt-shift? I meant alt-space followed by n. Anyway, a real minimize icon on the upper right is still more useful and standard than any shortcut.
Firefox and other Mozilla apps do not respond to those standard windows shortcuts. However, most win32 software with an icon in the upper left corner will. (ie, explorer.)
alt-space+m is still a handy trick when you have a primary monitor screw up and you need to call up display options and get it to the second montior blindly in a hurry. >.>
Anyway, back on topic: Check, it is possible to subclass the standard open dialog to put a video/audio radio button on it. Hmm. Not sure if it'd be worth it in this case, but an interesting thought. Adding filetype detection would be better, but avisynth can be both.
Does anyone really use profile libraries in zip files? They're nice and useful in theory, but Teegedeck is the only one I know who's made use of them.
berrinam
2nd August 2006, 11:48
The profile import is also used in Sharktooth's AVC profiles, and they integrate nicely with auto updates, since they install without any fuss. I implemented them so that people don't have to muck around with the files that MeGUI should really control, and they also manage extra dependencies, like one click relying on other profiles, and CQM files.
JoaCHIP
2nd August 2006, 12:50
I just tried MeGUI 0.2.3.2185 and here's my comments on this tool in general (both big and small issues mixed):
Good things:
Easy to use
Uses 2 cpus
Has "low" priority as default
Auto creation of .avs file
Seems to be quite stable
Supports many formats
Bad things:
"Increase Volume automatically" must not be enabled by default!! It doesn't even say if this is a limiter, a normalizer or a compressor. :scared:
The reversed Action / "Cancel" button order in all dialogs is annoying to a non mac user. Cancel should always be the right-most choice. The confusement comes from right-aligning the buttons in the window. Center or left-align them, and it all becomes clear.
The "Automatic Encidong" dialog is "always on top" even tho i didn't ask for that.
MeGUI should display all files or at least all media files in the filerequester, not just .avs files.
The "Automatic encoding" dialog should remember the last settings to be more convenient.
CruNcher
2nd August 2006, 16:31
Gpac and Matroska output for X264 cli seem to be borked @ the moment i advise everyone to use raw only forever :P (to much problems allways with the container updateing) X264 should skip both imho
Sharktooth
2nd August 2006, 16:59
i didnt update the gpac libs in my builds. so if it was working before it should be still working right now.
kurt
2nd August 2006, 17:07
jep, mp4 & mkv output works fine here with recent builds both of megui and x264 (r546)...
elguaxo
2nd August 2006, 17:39
MeGUI 0.2.3.2181 + x264 r541 + MKV working here.
CruNcher
2nd August 2006, 17:55
urgh then it's some cmd line parseing bug or something new jeez
ok but if anyone ever has problems encoding with the cli (doesn't encode but creates container) just try raw output it will work then
dunno yet whats the problem (but it can't be old)
x264.exe --bitrate 7721 --output "seven-bug.mp4" "seven.avs" <- fails
x264.exe --bitrate 7721 --output "seven-bug.mkv" "seven.avs" <- works
x264.exe --bitrate 7721 --output "seven-bug.264" "seven.avs" <- works
but with some combos that worked before also .mkv can fail .264 allways works
Sharktooth
4th August 2006, 15:18
@cruncher: In rev 551 i reverted to an older GPAC.
please test if it now works.
Doom9
4th August 2006, 19:55
"Increase Volume automatically" must not be enabled by default!! It doesn't even say if this is a limiter, a normalizer or a compressor. I have people storming my house if that were removed.. it's a good default if I ever saw one. If you care to know what it does, it's open source and you posted in the dev thread so we expect that you know how to read the source ;) The same goes for your other comments.. if you have any feature requests or bugs, there's specific threads for that. I especially don't appreciate the use of "xyz shoud do abc"... that's your opinion.. is not "how it should be".. and the "remember settings in the autoencode window" has been requested many times so it'll probably be implemented at some point in the future.
@foxyshadis: alt<space> works.. it's probably an easy thing to add so how about a patch?
The ALT + x solution nicely sails around the use of standard shortcuts (I do agree that it's annoying that they don't work), on the other hand, Control is the standard accelerator to directly trigger an action, while alt is used to jump to a certain menu.
And what is import/export profile?
foxyshadis
5th August 2006, 14:17
Ok, I'll also put my money where my mouth is ;) - here are some suggestions. I also think it would be worth reordering the tools menu to something more in line with the expected workflow. As an addendum to my previous comments about keeping default windows shortcuts as they are - I enjoy having other custom shortcuts to take arbitrary shortcut letters that are simply easy to reach with one hand - so I can keep one hand on the mouse.
I prefer alt for new windows & similar and ctrl for same window commands.
o Open: ctrl-o. Having separate extensions for audio/video doesn't seem to smart, would there be some way to use one command to also ask for "open as"?
o Close window / quit (with confirmation): ctrl-w alt-x.
o d2v creator: alt-1 alt-d
o Avisynth Creator: alt-2 alt-a
o Bitrate Calc: alt-3 alt-b
o One click encoder: alt-4 alt-r
o Chapter Creator: alt-5 alt-c
o Muxers: alt-6 alt-e alt-m
o AVC Matrix Editor: alt-9
o AVC level - move to a button, either inside x264 config or in the video input config which only shows up when x264 is selected. If you want to keep it in the menu, shortcut: alt-0
o Profile management. Possibly have a large 'profile centre' sort of thing where you can access, import and delete all profile types. If so, the one click setup would get integrated here too. No shortcut.
o One click setup: No shortcut.
o Settings: alt-, .This is the mac shortcut - there's no equivalent for windows but I always expect it - even if it's rare I get to use it ;)
o Update: No shortcut.
Will add more as I remember what i'm missing.
Anyway, I finally had a chance to get my hands dirty on it, and C# is rather more restrictive than win32, but as I read up on it, in a way that's a good thing - a lot of international keyboards use some of the combos we were considering for regular letters, even if it's annoying. (No alt+letters, and no symbols with anything.) You can override the accel key handler but why. But the alt-# idea is a great one, wish I'd thought of that.
What's funny is that I went ahead and split the tools menu into two menus, then came back to reread your post, and found out I was too late. =p
So here's my plan:
&File->
* &Open (ctrl-o)
* &Import Profiles (ctrl-i)
* &Export Profiles (ctrl-e)
* E&xit (alt-f4)
&Encoding->
* &One Click Encoder (alt-1)
* &D2V Creator (alt-2)
* &Avisynth Script Creator (alt-3)
* &Bitrate Calculator (alt-4)
* &Chapter Creator (alt-5)
* &Muxers ->
* * Adaptive Mu&xer (alt-6)
* * M&KV Muxer
* * &MP4 Muxer
* * &AVC2AVI
* * &Divx AVI Muxer
* &Validate AVC Level (move to x264 later)
* AVC &Quant Matrix Editor (also move to x264)
&Tools ->
* &Settings
* &One Click Setup
* &Update (ctrl-u?)
* &Minimize to Tray
* Show &Progress
Shortcut display will also be enabled. This way mnemonics and accelerators can be decoupled.
I like the whole profile manager plan. It doesn't need to be large, but it should import, export, and update profiles. It could be built out of the existing profile importer.
Another grand idea: Fold the processing window into a tab in the main form so it doesn't take up extra toolbar space. (Either hidden when not processing or not.) The main window's titlebar can show the % completion. This is actually a little better for when there's taskbar pressure and stuff gets grouped, when you have to click the group to see the %.
I checked out moving Level Validation, but it'll require a little surgery so I left it to do. Quant editor was much easier, though it needs to be more integrated.
I also need to update zones anyway, so that xvid can have its chroma optimizer, carton mode, and such options. Probably as checkboxes that'll be hidden by default.
Here's the patch (http://foxyshadis.slightlydark.com/random/megui-2185-uistuff.diff) - it's not meant for svn, just testing and comments.
Concerning audio, it'd be great to have a compressor/limiter, but we can't do that until someone comes up with one. ^^;
check
6th August 2006, 08:07
No alt-letter? :<
I spent some time thinking about your accelerator layout and coming up with feedback/problems only to discover you had already factored them all in; as far as the accelerators go I think they are fine :D . There are only a few changes I'd suggest for thought (I'm not sure if I would prefer them myself) that I'll list below.
After all this I went out for lunch and couldn't stop thinking about the workflow layout, and the UI of megui in general (I'm glad I was eating alone ;)). I've got a few ideas for a (major/show stopping) revamp of the megui interface, but I'll hold back posting about them until I work out a mockup and get some more info so they are a bit more than the frivolous words doom9 loves so much :-P.
Now, back to the accelerators, divx AVI muxer would seem to be better written into the menu as '&AVI Muxer' and the avc2avi frontend as '&h264 Muxer' which means both can use the first letter of their title, making learning the shortuts for a relatively obscure section of menu a whole lot easier.
Since we have plenty of alt-#s free it would be nice to allocate the h264 matrix editor alt-0 (although since that's a semi special shortcut it could be saved for something else?). Also, if the profile centre will ever become a reality we should work out where it fits into the numbers now and reserve the shortcut for it to avoid future confusion and yet more shortcut refactoring.
Finally, if you can do it, pleasepleaseplease set prefs to open with 'alt-,'. Although it's a rare key combo on windows the likelihood of it ever being a problem is low and I'm sure a lot of closet / previous mac owners will thank you :-P. alt-. is often used for view options on macs too (see itunes) (ie the columns in detail view), could this be assigned to hide/show process status? Now I'm starting to think of global hotkeys...
As to the "get some more info" I alluded to above, by that I mean asking a few more questions. I'm thinking they belong in this post rather than a new one over in general questions because they are linked to my rambing above - feel free to move them if I'm thinking wrong.
o What is the aim of the megui project? How close to completion is it so far? Has it changed over time (well, "how much" is a better question). Rather broad question, I guess i'm looking for an answer that goes something along these lines: "megui is a tool that allows the user to do everything required for video conversion (specifically DVD ripping) with a frontend that strives to be as simple and clear as possible while maintaining high level of control without excessive heirarchisation of the program". Or whatever it actually is. In other words, do you want to make AGK or GK?
o Is there an overarching design philosophy to the GUI?
o berriman has mentioned before he dislikes project files. Could you explain the problems you have with project files? Personally, the big problem I have with them is that they are essentially meta-meta-files and they always use evil filing systems which involve a seperate directory for every one line .txt file generated.
o If any question doesn't belong in this thread, it's this one. Why oh why does megui take so damn long to start up? ;)
I'll also try to add any answers to these to the wiki - it's been a bit stagnant lately.
foxyshadis
6th August 2006, 10:27
After all this I went out for lunch and couldn't stop thinking about the workflow layout, and the UI of megui in general (I'm glad I was eating alone ;)). I've got a few ideas for a (major/show stopping) revamp of the megui interface, but I'll hold back posting about them until I work out a mockup and get some more info so they are a bit more than the frivolous words doom9 loves so much :-P.
Suggestions are always welcome. Can't promise even good ones would be feasible to implement, though.
Now, back to the accelerators, divx AVI muxer would seem to be better written into the menu as '&AVI Muxer' and the avc2avi frontend as '&h264 Muxer' which means both can use the first letter of their title, making learning the shortuts for a relatively obscure section of menu a whole lot easier.
MeGUI doesn't use h264 anywhere else, so no. However, they could be XviD AVI Muxer and AVC AVI Muxer. Somewhat clumsy but it could be worse. Or we can just call it AVI Muxer and let it handle both types - although it seems kind of silly to not just use the adaptive muxer, since that's why it was developed.
Since we have plenty of alt-#s free it would be nice to allocate the h264 matrix editor alt-0
Both of the AVC tool menu items will go away, they don't belong there at all. Particularly since I discovered megui does validation on script load, so no need to worry about having to open the config panel just to validate. The matrix editor will be completely incorporated into the custom matrix selection box.
(although since that's a semi special shortcut it could be saved for something else?). Also, if the profile centre will ever become a reality we should work out where it fits into the numbers now and reserve the shortcut for it to avoid future confusion and yet more shortcut refactoring.
Finally, if you can do it, pleasepleaseplease set prefs to open with 'alt-,'. Although it's a rare key combo on windows the likelihood of it ever being a problem is low and I'm sure a lot of closet / previous mac owners will thank you :-P. alt-. is often used for view options on macs too (see itunes) (ie the columns in detail view), could this be assigned to hide/show process status? Now I'm starting to think of global hotkeys...
If I'm convinced that unavailable shortcuts are necessary, I'll add the overrides for it. I just like to keep it simple until then. By default, this is the rather pitiful list of usable shortcuts (http://windowssdk.msdn.microsoft.com/en-us/library/system.windows.forms.shortcut.aspx). Punctuation isn't on there.
o Is there an overarching design philosophy to the GUI?
Accretion? :p
o If any question doesn't belong in this thread, it's this one. Why oh why does megui take so damn long to start up? ;)
Loading and initializing the stupid framework. Try closing and reopening, it should take less than a second since .net's loaded.
Doom9
6th August 2006, 12:06
No alt-letter? :<I thought that too. Then again, if we have numbers, using Ctrl makes a lot more sense since Ctrl-X are normally direct accelerators where Alt-x are menu accelerators (Alt-F = open the file menu, then Control-O to open a file). So I think it makes more sense to stick with that and just replace the accelerators that conflict with common windows accelerators (notably Control-C, Control-V, Control-X, Control-A).
So for the one click encoder we could have Ctrl-1 (1-click...). Then AviSynth script C&reator. D&2V Creator. Ca&lculator and C&hapter creator. Alt-M serves as a shortcut to the muxer submenu, Alt-E to the encoding menu, Alt-T to the tools menu.
And speaking of the tools menu, I've never really liked the changelog in its own tab.. I think making it a menu point in the Tools menu (or pehaps a help menu with one link to the changelog, another to an about screen and another one to the megui wiki) is more in line with other software.
In other words, do you want to make AGK or GK?Both.. be default GK but with one click profiles we've entered AGK territory. And it's far from completion.. there's no vobsub handling, no avisynth script cutting and I have a feeling we could do more in the DigiTV area.
Is there an overarching design philosophy to the GUI?I believe it's called chaos ;)
Why oh why does megui take so damn long to start up? The curse of non native code combined with many gui fields?
berrinam
6th August 2006, 13:31
And speaking of the tools menu, I've never really liked the changelog in its own tab.. I think making it a menu point in the Tools menu (or pehaps a help menu with one link to the changelog, another to an about screen and another one to the megui wiki) is more in line with other software.I like this idea.
Both.. be default GK but with one click profiles we've entered AGK territory. And it's far from completion.. there's no vobsub handling, no avisynth script cutting and I have a feeling we could do more in the DigiTV area.
...
I believe it's called chaos ;)Agreed. No-one with enough time has come along to help to make a steady goal. I'm working gradually to make it more extensible, but I don't spend much time on MeGUI any more.
However, the goals that guide MeGUI in my mind are:
Give the user complete control when he/she wants, but also make it as simple as possible for the casual user, but still get as good quality as possible. To achieve these, we (a) integrate profiles, so people needn't choose their settings and (b) integrate advanced tools such as autodeint and the adaptive muxer.
Work towards minimizing the point-of-presence time required for an encode, through automation such as the one click encoder.
Fit together into a nice package.
At the moment, I'm working on the infrastructure to make it more package-oriented. I don't know when it will be in a commit-able stage, but it is getting there. Unfortunately, since it's a big commit, it's likely to add another whole heap of bugs, so I will try to commit it as a branch. I would be pleased if someone else could do some work on it, so just say something if you want to help. This should hopefully make it more bug-free in the future, though...
berrinam
6th August 2006, 13:35
By the way, I don't remember my objection to project files, but perhaps it was about the problem with .NET 2.0 versus .NET 1.1, and the project files not being compatible. Anyway, it is no longer a concern of mine, even though I still think MeGUI should remain compilable using compile.bat.
berrinam
6th August 2006, 13:47
Any idea how I can branch in SVN? This can normally be done easily with branch in TortoiseSVN, but I don't know how well it will work here, since megui is in the root directory, not in the trunk directory. Any idea what I should do, or should I just commit it to the trunk for now, and then we can all work on fixing it up as soon as possible?
EDIT: Mind you, a test on a local SVN repository with the same situation worked out with no problems, so perhaps it is ok to do...
henryho_hk
7th August 2006, 00:29
foxyshadis, megui is putting too many filter DLLs in the default plugin directory. Can you make an "AVS filter directory" option and let us put them in a separate directory?
foxyshadis
7th August 2006, 00:44
Ah, the old Avisynth 2.5.6 problem. That shouldn't be a big deal, but it'll mean rewriting some things, and deciding which plugins deserve to be in the main directory vs a branch. Hmm, there's only 13 and they all look quite useful in general... Now the rest of the files spamming up the folder can be put somewhere else no prob, into a "docs" folder or similar.
Berrinam, TortoiseSVN has a branch/tag command to create a new branch in svn. Either way, I'd like to see it before I go tweaking too many of the internals if it'll change everything around.
berrinam
7th August 2006, 09:11
I've made a branch with the refactor, and there's a readme.txt left in it. It has some changes started. You can get it from https://svn.sourceforge.net/svnroot/megui/branches/refactor.
It compiles already, but hasn't really been tested. If someone else (say, foxyshadis, if you're interested) could look at it and make some changes/suggestions, it would be good.
Cheers
Sharktooth
11th August 2006, 13:40
@devs: please check this: http://forum.doom9.org/showthread.php?p=861792#post861792
In the meanwhile i forced the autoupdate to downgrade from dgindex/dgmpegdec 1.4.8. to 1.4.7
JoaCHIP
11th August 2006, 14:20
@ Doom9: The reason i'm so convinced that "Increase Volume automatically" should be disabled by default is that changing the volume is really something that changes the source. This contradicts the rest of the software package, where e.g. all the video settings are only there to help recreate the original content as well as possible. Any process that changes the volume must be seen as an effect and not a tool to recreate the original. And surely, you wouldn't enable a posterize or a sepia effect by default, would you?
Now your point about this being open-source is valid. I might look into the source code myself, if i get the time, but many of my comments are rather GUI-oriented, and i'm not a gui coder (under Windows), so i might not be able to contribute on these points without messing things up.
check
11th August 2006, 14:21
I'll speak up in support of the changelog tab - it's nice to be able to easily peruse it while waiting for the last minute of a job to complete. Hiding it away in the settings will also make changes between versions far more opaque for those who don't specifically seek out either the changelog or this thread - which could potentially lead to a lot of problems if a large change is made. I'd like to even have MeGUI open up by default to the changelog tab after updating the core.
Now back to replies to my previous post. There's only really one point I'll comment on, the rest I'm satisfied with :)
For the accelerators in the muxer menu - I didn't even think of consistancy (:O), but I'd prefer Xvid + AVC titles so there can be first letter accelerators rather than harder to remember keys.
I've also been doing a little work on a totally new GUI for MeGUI - well I say it's for MeGUI, the reality is it's so different it would be just as easy to make a whole new frontend program and just steal the AVS creator :D. Once I flesh out a few areas I'm still having troubles with I'll upload my ideas - probably to a new thread.
Also also, I've been doing very little on the wiki lately and have a hankering for writing a large tutorial - any suggestions?
check
11th August 2006, 14:24
@ Doom9: The reason i'm so convinced that "Increase Volume automatically" should be disabled by default is that changing the volume is really something that changes the source. This contradicts the rest of the software package, where e.g. all the video settings are only there to help recreate the original content as well as possible. Any process that changes the volume must be seen as an effect and not a tool to recreate the original. And surely, you wouldn't enable a posterize or a sepia effect by default, would you?
Personally I would classify volume levelling (call it what you like ;)) as something that improves the original data, just as the denoising options in the AVS creator do.
Doom9
11th August 2006, 14:52
Any process that changes the volume must be seen as an effect and not a tool to recreate the original.Any DVD player does the same upon playback.. that checkbox state will be changed over my dead body.
In the meanwhile i forced the autoupdate to downgrade from dgindex/dgmpegdec 1.4.8. to 1.4.7Not necessary.. I'm working on a new version as we speak. It will also contain cleaned up shortcuts and fixes the muxing size bugs we currently have for both mp4 and mkv (well.. mp4box and mkvmerge got new commandlines so it's not really a bug, but anyway).
And the changelog will no longer have its own tab but a nice resizable dialog window.
Sharktooth
12th August 2006, 01:59
@doom9:
in 2186: Form1.cs(4117,20): error CS0246: The type or namespace name 'Changelog' could
not be found (are you missing a using directive or an assembly
reference?)
Form1.cs(4117,39): error CS0246: The type or namespace name 'Changelog' could
not be found (are you missing a using directive or an assembly
reference?)
Changelog.cs was NOT ADDED to the SVN. Ensure you did SVN ADD (Changelog.cs) before committing.
Doom9
12th August 2006, 19:49
Why on earth aren't those svn program a little smarter?
Sharktooth
13th August 2006, 02:52
well, it's just a matter of getting used to it.
that way, for example, you can keep local backup copies of changed files without messing with the online repository...
chros
13th August 2006, 09:20
What kind of software do I need to help you develop ?
Visual Basic 2005 ? (Isn't there out any smaller package ?)
And what is your preferred svn client on WinXP ?
Sorry for these lame questions .... :)
berrinam
13th August 2006, 10:00
TortoiseSVN
MeGUI is written in C#. As an absolute minimum, you can compile by running compile.bat once you have installed the .NET 2.0 framework. However, Visual Studio Express Edition 2005 for C# is recommended. That should be all.
chros
13th August 2006, 10:26
Thank for the quick answer.
I have installed MS Visual C# 2005 Express Edition (I guess it's the right software.)
Do I need to know something special to the megui svn ?
eg. Is this command what I need?: svn co https://svn.sourceforge.net/svnroot/megui megui
berrinam
13th August 2006, 11:06
Umm..... that will be ok, but it would be easier to use TortoiseSVN. Once it is installed, right-click in a folder where you want to download the source code to and click SVN Checkout...
choose https://svn.sourceforge.net/svnroot/megui for the URL of repository and set the other settings appropriately. Then, press OK and you're done!
Doom9
13th August 2006, 11:08
The command you posted is for the commandline version of svn.. if you're using tortoisesvn all you need to indicate is the url of the svn repository of megui, so presumably https://svn.sourceforge.net/svnroot/megui (I have very little experience with svn but I got it working somehow)
Sharktooth
13th August 2006, 13:06
So, anyone knows if there's an OSS lib for FTP that supports PASV mode?
The Link
13th August 2006, 14:31
So, anyone knows if there's an OSS lib for FTP that supports PASV mode?Perhaps libCurl (http://curl.haxx.se/libcurl/)? I don't know what exact requirements you have since I'm not a programmer.
JoaCHIP
13th August 2006, 17:16
Any DVD player does the same upon playback.. that checkbox state will be changed over my dead body.
Yes, that's exactly why it shouldn't also happen in the encode.
Doom9
13th August 2006, 19:32
Yes, that's exactly why it shouldn't also happen in the encode.DRC is being performed when playing back DVDs. Not MP4s and not AVIs. Just search for something like "audio too low" and you'll see. As I said.. over my dead body so unless you're about to blow my head off, stop wasting everybody's time.
chros
14th August 2006, 07:35
@berrinam , @đoom9: thanks for the tips, it was working.
Sharktooth
14th August 2006, 14:21
0.2.3.2186
Commit by Doom9
- mp4box / mkvmerge got new split commandlines, adapted megui accordingly
- dgindex reports video % instead of film % when video % > 50 starting with v1.4.8, adapted megui to not apply forcefilm in such a case
- reshuffled menu shortcuts, megui no longer uses standard shortcuts like CTRL-A/C/V/X
- Changelog now has its own dialog
- Introduced a help menu with links to the megui wiki and the support forum
- Renamed Vorbis container to Ogg since that's the container's name
0.2.3.2187
Commit by Sharx1976:
- Cosmetic fixes (part 2...)
Doom9
14th August 2006, 18:32
I'm looking at the profile bug (new profile overwrites the currently selected one) and I'll go for the update button so that it'll be clear to everyone when a profile is updated.
Just one thing.. should pressing OK update the currently selected profile? And if not.. then I guess the profile shouldn't be returned to the main window, should it?
chros
14th August 2006, 23:29
So, anyone knows if there's an OSS lib for FTP that supports PASV mode?
Why do we need that ? (I was missing about 200 post ...)
If the nero aac encoder is the main reason (so we can update it from megui as well), do you know about ncftp ? (a crossplatform, opensource, command line ftp client)
http://www.ncftp.com/ncftp/
There is a 168 KB program in the package called ncftpget that will do the trick (and it knows passive connection).
http://www.ncftp.com/ncftp/doc/ncftpget.html
foxyshadis
15th August 2006, 02:11
So is it reasonably more stable now, that I can look at tweaking it again, or shall I just wait while other major changes are hashed out?
berrinam
15th August 2006, 06:06
I don't know if anyone has had a look at the refactor branch I made, but I see a whole lot of big changes going on in MeGUI. However, since it will take a while, can you say again what changes you want to make? Then I can tell you how much they are likely to interfere with what I want to do.
foxyshadis
15th August 2006, 07:24
Well, GUI changes, mostly referencing or changing values between the classes/panels - if they're going to be changed significantly it'll be a little pointless to do the binding work now. Particularly integrating the AVC options into the panel better, some xvid zone plumbing, and the profiles manager; and also splitting the profiles box into per-codec profiles.
I did look at your changes, but I'm not qualified to comment, honestly - I'm learning from you guys there.
For the future, what do you guys think of every codec being a dll? Too complex for the benefit of adding new codecs on the fly?
berrinam
15th August 2006, 07:57
For the future, what do you guys think of every codec being a dll? Too complex for the benefit of adding new codecs on the fly?This is pretty much the goal I'm gradually working towards. And it's not just for codecs, but also a few other things:
Tools (the things that currently appears in the tool menu, and can do anything)
muxers
pre- and post-processors (for bitrate calculation, intermediate file deletion, etc)
file sources (eg avisynth, d2v and mediainfo+dss for now)
encoders, or the more generic 'job processors'.
possibly even profiles? Basically, because the profile code is the same for each of the four types of profile, but supporting profiles at the moment requires a fair bit of copy+pasting, whereas it should be quite easy. However, this bit is yet to come.
The benefits are not only the dynamicity of it all, but also the cleanliness of the code.
Well, GUI changes, mostly referencing or changing values between the classes/panels - if they're going to be changed significantly it'll be a little pointless to do the binding work now. Particularly integrating the AVC options into the panel better, some xvid zone plumbing, and the profiles manager; and also splitting the profiles box into per-codec profiles.Feel free to change anything internal to the codec config dialogs (eg xvid and x264), since the video codec interface details have been around for a while and are pretty stable. The profiles are likely to change, however, so I would recommend leaving that alone.
Can you explain what you mean by 'splitting the profiles box into per-codec profiles'? Does this mean sorting by codec, or creating a list-view instead of a combo-box, or what do you have in mind?
Cheers,
berrinam
foxyshadis
15th August 2006, 10:51
Repopulating the combo box whenever the codec selected changes. Probably remembering the last selected profile with that codec.
It'll be interesting then, having essentially every class in its own dll. Are you going to call the zips .jar too? ;) Looking forward to see what shows up.
dimzon
15th August 2006, 11:48
So, anyone knows if there's an OSS lib for FTP that supports PASV mode?
http://msdn2.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx
:D
berrinam
15th August 2006, 12:13
I don't think I will get to that stage for a while, but if I do, it'll probably look something like BeHappy.
Sharktooth
15th August 2006, 19:31
Why do we need that ? (I was missing about 200 post ...)
If the nero aac encoder is the main reason (so we can update it from megui as well), do you know about ncftp ? (a crossplatform, opensource, command line ftp client)
http://www.ncftp.com/ncftp/
There is a 168 KB program in the package called ncftpget that will do the trick (and it knows passive connection).
http://www.ncftp.com/ncftp/doc/ncftpget.html
... i could use the ftp.exe that comes with windows as well ...
i just prefer integrating the FTP capability into MeGUI.
Sharktooth
16th August 2006, 03:00
0.2.3.2188
- Cosmetic fixes (part 3...)
- Swapped Crop and Resize controls position in Avisynth Script Creator window to better represent the correct workflow
dimzon
16th August 2006, 09:21
i just prefer integrating the FTP capability into MeGUI.
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
Doom9
16th August 2006, 11:05
@dimzon: you are doing certification wise what I ought to be doing at work.. but they keep me so busy I never get around to doing it.
You may want to have a look at this issue though: http://forum.doom9.org/showthread.php?p=863813#post863813
At the end of the line I suspect the script returns RGB32 which never will work, but I'd expect some kind of a useful error instead of a crash.
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.
cyberbeat
25th August 2006, 21:58
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?
I did not think so, but I am still learning about encoding and have been reluctant to change from the ways that have worked so far. As I learn more about the power and features of megui, I can try to make things easier for me. :D
Sharktooth
26th August 2006, 13:43
Take the check for neroAacEnc.exe off of update! :sly:
no, coz:
1 - you can do it by yourself (right click)
2 - im adding FTP support for autoupdate so it will download the encoder directly from the nero FTP.
Doom9
26th August 2006, 13:45
2 - im adding FTP support for autoupdate so it will download the encoder directly from the nero FTP.I'm not sure if that's actually okay with ahead since it bypasses the license agreement.. I more or less asked if it was okay to offer a download directly from megui and I never heard back that it was indeed okay.
Sharktooth
26th August 2006, 13:54
uhm... showing the licence (with an accept/reject button) would be ok?
Doom9
26th August 2006, 14:33
I don't know.. I think until Nero comes back with something they deem okay, we should really remove neroaac from the autoupdate and just tell people to download it manually. It's not the best solution, but it's one that will never get us into any trouble.
Doom9
27th August 2006, 18:02
If anybody has an idea about this (http://forum.doom9.org/showthread.php?goto=newpost&t=115248) I'd appreciate it.
Sharktooth
28th August 2006, 03:41
I get any sort of allergic reactions whenever i have something to do with divxmux...
Couldnt we just replace it with another avi muxer?
berrinam
28th August 2006, 05:59
I agree: it has caused many problems, because it only seems to be able to mux divx and avi. It doesn't even seem to handle xvid!
I think ffmpeg is the best candidate here.
Doom9
28th August 2006, 08:33
show me another commandline muxer that not only handles 1 audio stream... and that actually has some features like tagging, splitting, and subtitles.
Sharktooth
30th August 2006, 18:29
I updated the ContextHelp.xml in trunk due to this:
http://forum.doom9.org/showthread.php?p=869691#post869691
bob0r
31st August 2006, 01:12
Do i need updatecopier.exe with megui or not?
compile.bat is still wrong
F:\msys\1.0\home\user\megui>md Dist\updatecopier
F:\msys\1.0\home\user\megui>copy updatecopier.exe .\Dist\updatecopier
The system cannot find the file specified.
I use svn co https://svn.sourceforge.net/svnroot/megui/trunk megui
and i want to know if it can be fixed, i can do myself, but i would like to automate......
Sharktooth
31st August 2006, 01:21
bobor the SVN version is still unstable.
continue using 2192.
btw a workaround for updatecopier.exe:
- run the compile script for updatecopier.
- copy updatecopier.exe into the trunk directory
- run compile.bat in trunk
ill update the compile.bat though...
Sharktooth
31st August 2006, 01:43
Updated compilation scripts so running compile.bat in trunk will compile all the necessary stuff and copy the required MeGUI files into the "Dist" directory.
Sharktooth
31st August 2006, 13:08
@berrinam: in 2193 avisynth script creator doesnt work. when you load a file it doesnt set or enable controls.
bob0r
1st September 2006, 01:25
Its still kinda crappy trunk/compile.bat browses to another dir to run another .bat, which does not run inside mingw, but opens a new cmd.exe, which is no good.
Everything that is needed should be in trunk, if updatecopier.exe is part of megui core, it should be in the trunk dir (as subdir ofcourse).
Then 1 compile.bat is enough and i dont have to checkout svn 2x (trunk and updatecopier)
Also note, if updatecopier.exe is part of megui, it is not copied to the BigDist dir.
Bugs or Features... let me know
... and no, i will host whatever latest version of megui... as said before... same as x264, megui is very alpha-ish and thus should be tested by as many people as possible.
Sharktooth
1st September 2006, 02:53
UpdateCopier is a different package (and obviously it's not part of the core).
Just checkout the megui dir (not only trunk) and you will get all the necessary stuff.
If everything is in the right place you can just run the compile.bat in trunk and you're done.
I'll see how can i fix the compile.bat in trunk to work with mingw though.
berrinam
1st September 2006, 07:05
I haven't looked at the current situation, but I think what should happen (and it sounds like this is what bob0r is saying) is that we should have a compile.bat file in each package (and I consider updatecopier a separate package from megui, likewise for neroraw and messageboxexlib), and a global compile.bat which just runs each of the other compile.bat files. Thus, if you download just the megui trunk, you can compile just megui, without needing everything else.
Basically, I think we should separate as much into packages as possible, so that the least amount of updating is required, because a change to core shouldn't require re-downloading of updatecopier (which at the moment it doesn't anyway).
check
2nd September 2006, 11:18
Hi, can you please point new links in MeGUI for the wiki towards http://mewiki.project357.com ? It's pretty much setup now, I just have to copy the rest of the images across and readd a few redirects. I'm using .htaccess to make the page addresses nice and logical (/Main_Page instead of index.php?title=Main_Page), but my poor htaccess coding skills mean I don't know how to exclude specific subdirectories from this, which will be a problem if the random mirror system is implemented.
On that front, I've mirrored everything in the megui/auto directory in http://mewiki.project357.com/auto , but as you can see it's inaccessible as the .htaccess rule is rewriting it. If you can help me solve this, please PM me, I've been searching high & low for the solution for the past two nights.
Sharktooth
2nd September 2006, 14:13
i can access http://mewiki.project357.com/auto and all the files without problems...
check
2nd September 2006, 14:22
Maybe firefox just hates me - the page will load in IE for me but in ff it leads me to http://mewiki.project357.com/Forbidden.html . Doesn't seem to be affected by logging into the wiki - I guess it's something random on my end. I guess this means the mirror is ready for use if it's wanted (with an ftp acct for updating of course).
Sharktooth
2nd September 2006, 14:36
I completely removed that POS (Firefox). Its main features are:
1-being filled of bugs
2-eats memory (yeah it's not a bug, it's a feature!)
3-being a pachyderm
4-startup time measured in centuries
Get Opera and you will be ok for the next 3 lives...
Doom9
3rd September 2006, 19:36
I'm running FF 2.0 alpha1 here and I can open the url just fine. On my site, people can't download if they have a software that removes the referer of a http request.. maybe that's your problem?
Sharktooth
4th September 2006, 00:03
@Doom9 & Berrinam: what's the status of doom9 changes integration in trunk?
check
4th September 2006, 11:58
nobody else has problems - I'll put it down to divine intervention by the Opera gods on sharktooth's behalf ;)
Doom9
4th September 2006, 12:00
I haven't had time to do anything code-wise.. I still have to figure out a couple things about subtitle handling and most importantly I need some time.. working until 9pm every day really doesn't help with the motivation to work on megui.. I just need a break some time and megui just doesn't pay the bills.
Sharktooth
4th September 2006, 17:42
ok. BTW porting to mono is becoming quite impossible. Also there is too much windows related packages dependencies.
So I've decided some time ago to "revert" megui for linux to its original nature: being a Mencoder GUI.
I "freezed" the avisynth 3 interface (it's almost working but avisynth 3 status is too much unstable) in favour of mencoder (libavcodec) input/filtering/processing/encoding.
The workflow is also changed radically...
All the supported functions (cropping, filtering, etc) including deinterlacing (it's not yet automatic as in MeGUI) and video codecs are now managed by mencoder.
Also there's the possibility to use Lame, NeroAACenc (thru wine), faac etc... as in current MeGUI.
Preview, Subtitles and Multiple Tracks are not working right now and muxing is done thru mp4box and mkvmerge as usual (no AVI, sorry but it can be added later altering the workflow a bit). I've also completely rewritten the Adaptive Muxer...
There's no need for d2v creator, mencoder replaced it. There's no autoupdate yet but i plan to implement it with wget.
An "alpha" release will come asap (read: when i'll have time to fix some problems).
On the "new features" front, i've added the (in)famous compression test to the oneclick encoder. After selecting the encoder and the profile MeGUIx asks if you want to run a comp test. When it ends it will "suggest" the final filesizes for different final video qualities from which the user can choose from or just dont care about it and set his own personal filesize/media.
This feature is subject to change for a better "quality" metric (PSNR or SSIM instead of percentage based on the comptest filesize but i have no idea in how to implement it without avisynth).
Henrikx
4th September 2006, 18:04
MeGUI - Linux
Super !!!! That would be ingenious
Sharktooth
4th September 2006, 18:12
That is just a "what you can expect" from the MeGUIx "fork".
It is really very different from MeGUI coz most of the code has been rewritten/heavily modified.
Oh... i was about to forget profiles are not compatible with MeGUI.
Henrikx
4th September 2006, 18:26
code has been rewritten/heavily modified.
I hope you have success!
Thanks for the work !!!
Adub
4th September 2006, 19:19
This sounds really cool, Sharktooth. Keep us posted. :p
Sharktooth
14th September 2006, 13:33
MeGUIx will eventually work on win32 too, but i think windows users would prefer MeGUI just for the avisynth support.
The other thing im working on is network encoding.
Details will come later since there are a couple of things i should decide (since it will be also ported to the win32 MeGUI).
Adub
18th September 2006, 00:31
Now the network encoding sounds really cool. I have just gotten into the realm of distributed computing at it is awesome. Again, give us as much information as you can.
Sharktooth
18th September 2006, 14:50
Well, the network encoding is for x264 only (right now) since x264 can encode a part of a movie without cutting the source.
The other encoders would need avisynth (trim function) but as i said in a previous post avisynth 3 is too much incomplete and there are no ports of the 2.5 filters, so i dropped it for a while.
Cutting the source into multiple files is not an option...
squid_80
18th September 2006, 15:21
xvid_encraw has -frames and -start options...
Sharktooth
18th September 2006, 15:28
Really? I didnt know it... thanx!
Adub
23rd September 2006, 05:24
Well, the network encoding is for x264 only (right now) since x264 can encode a part of a movie without cutting the source.
The other encoders would need avisynth (trim function) but as i said in a previous post avisynth 3 is too much incomplete and there are no ports of the 2.5 filters, so i dropped it for a while.
Cutting the source into multiple files is not an option...
This is really cool! I look forward to this and Avisynth 3.0. Keep up the good work there Sharktooth, we all appreciate it.
bob0r
1st October 2006, 23:13
Question:
The new x264 options, like
--interlaced
--direct-8x8
--deadzone-inter
--deadzone-intra,
will they be added to the stable version, and a new stable version will be made, or will they be added to the latest revision, and do we have to wait for a new stable version?
Sharktooth
2nd October 2006, 03:38
Well, i added them in the MeGUIx port. But i dont know what to do with the current MeGUI source.
Theoretically those changes should be applied to the latest 2193 which is not stable at all but i'd like to add them to 2192 tree as well.
Sharktooth
3rd October 2006, 20:55
Since im at home with the flu, i have some time to fix some stuff in MeGUI.
Im going to rearrange the SVN making 2 branches:
Stable and Unstable.
Stable will be based on revision 2192 and it will be a BUGFIX only branch.
While Unstable (the unstable tree) will contain the latest revision with the berrinam's latest refactor. All the new stuff (new features and functionalities) should be added there.
A third directory (probably linux-port) will contain the MeGUIx branch.
@devs: do you agree on changing the SVN structure as described above?
bob0r
3rd October 2006, 23:47
So what you are saying is, the new x264 options will be only available, when a new stable branch is updated?
Ofcourse i mean available in a stable build.
ChronoCross
4th October 2006, 00:39
So what you are saying is, the new x264 options will be only available, when a new stable branch is updated?
Ofcourse i mean available in a stable build.
that would be bad....I mean I can image new Megui features shouldn't be added but you gotta add new command line stuff for x264.
Sharktooth
4th October 2006, 01:21
Well, command line stuff for the various codecs can be added to the stable tree too.
Sharktooth
5th October 2006, 00:21
If you want some raw explanation on how parallel encoding will work (at least i hope...) i've just wrote some info in this thread:
http://forum.doom9.org/showthread.php?p=883639#post883639
Sharktooth
6th October 2006, 12:33
So, no devs care about the SVN changes i proposed?
They will also require a new versioning scheme...
Romario
19th October 2006, 01:49
What's going on with MeGUI development? Nobody says anything.
berrinam
19th October 2006, 13:05
I have hardly any free time, yet I have (foolishly) committed an incomplete refactor to the trunk, stalling other people's development. I hope to resolve this soon.
ChrisBensch
26th October 2006, 05:14
I know it's probably too early to ask but I'll do it anyway. The distributed version of MeGUI is on it's way I know...is there a "test" version for those of us who'd like to play with it? I'm guessing it's in SVN somewhere but I just don't know where.
Sharktooth
26th October 2006, 13:51
No, it's not in the SVN. It's in an experimental stage and the last time i was coding i was working on the client/server communication protocol.
As i said in another thread i will restart working on it in few days.
asdfsauce
26th October 2006, 16:06
Oh great, I guess this means GPU accelerated command line generation is EVEN further away now. :(
Sharktooth
26th October 2006, 18:06
Commandline... GPU... what?
Romario
29th October 2006, 01:30
What's going on, guys? Nobody says anything about further MeGUI development?
Come on!
berrinam
29th October 2006, 01:39
Romario, don't spam. I replied to your message earlier. You are now being a pain, and if you do this again, I will ask a moderator to strike you.
Sharktooth
29th October 2006, 04:17
all devs are actually quite busy, so dont expect big updates in the near future...
Sharktooth
29th October 2006, 04:30
what are the exact partitions allowed per AVC Levels?
once akupenguin said p4x4 is allowed for 4.1
Megui actually restricts p4x4 for levels higher than 3 and for level 3 with b-frames.
i think this is quite wrong so, can anyone shed some lights on that?
berrinam
29th October 2006, 09:12
Doom9 based the settings on what akupenguin told him. If you know that akupenguin says p4x4 is fine for 4.1, then Doom9 must just have got the details slightly wrong.
Sharktooth
29th October 2006, 15:28
well, is p4x4 ok even for other levels? what ones? and what happens with b-frames?
berrinam
3rd November 2006, 09:03
I don't know. I just trusted what Doom9 did, and I haven't changed anything there.
Sharktooth
3rd November 2006, 14:51
Yes, i know but i need the exact info to fix this:
private bool checkP4x4Enabled(int level, x264Settings settings)
{
if (level != 15 && (level > 7 || (level == 7 && settings.NbBframes != 0)))
return false;
else
return true;
}
Thunderbolt8
3rd November 2006, 15:43
are the deadzone settings actually implented meanwhile, either in the gui or in the profiles ?
Sharktooth
3rd November 2006, 22:57
not yet, but you can use the custom commandline options
Kurtnoise
6th November 2006, 19:12
Hi,
I just started to read megui sources to try to learn C#...but I'm little bit confused by this (in BitrateCalculator.cs) :
private double cbrMP3Overhead = 23.75;
private double vbrMP3Overhead = 40;
private double ac3Overhead = 23.75;
How those values have been calculated ?
Checking alexnoe's page (http://www.alexander-noe.com/video/amg/en_estimate_overhead.html), we can see that :
The following items cause one unit of overhead in AVI-Mux GUI:
* one video frame
* 64 milliseconds of AC3 audio
* 24 milliseconds of MP3-VBR audio
* 1 second of MP3-CBR audio
* 21 milliseconds of DTS audio
(Same values in xvid VFW calculator.)
And for your information :
AC3BlockSize != DTSBlockSize >> DTSBlockSize = MP3BlockSize.
LCAACBlockSize = 1024
HEAACBlockSize = 1024
lcaacoverhead = 21 milliseconds
heaacoverhead = 42 milliseconds
dtsoverhead = 21 milliseconds
Sharktooth
6th November 2006, 19:31
IIRC Doom9 coded the bitrate calc.
xujunzhe
7th November 2006, 04:04
everytime after muxing the audio and video, even after the megui has already did the delay correction, still, a problem, delay about 1sec
I capped to MPEG2 then use megui to convert to mp4
anyone has same problem?
Doom9
7th November 2006, 10:55
@Kurtnoise13: I got those values looking at how GKnot calculates the overhead.. and GKnot seems to be pretty accurate as far as AVI goes (iirc those values are used for avis only.. there is a different calculation in place for mkv based on what robu4x told me. I'd be careful looking at formulas that work for avimuxgui.. it appears to work quite differently (more efficiently) from the "standard" avi muxer
Kurtnoise
7th November 2006, 14:39
I see...I should read GK sources more carefully then. :p
What about extras infos ? Could be great to have them for mkv output...
Last question : megui is compatible with the Framework 3.0 or not ?
Sharktooth
7th November 2006, 15:04
MeGUI is written for .NET 2.0... and it should compile with .NET 3.0.
There could be minor and easy fixable problems though.
bob0r
7th November 2006, 16:16
Forum Search Terms: Microsoft .NET Framework 3.0 Redistributable Package
:D
try for yourself:
http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en
x86: http://download.microsoft.com/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3.exe
x64: http://download.microsoft.com:80/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3_x64.exe
Doom9
7th November 2006, 19:04
I wouldn't expect any problems since .NET 3.0 is just .NET 2.0 plus WCF, WPF, WWF and that Infocard thingie. The language enhancements (touted C# 3.0, and LINQ will only come at some later day). It might be that a binary compiled with 3.0 wouldn't run on a 2.0 runtime though. I for one will stick to 2.0 for now until I need any of the new frameworks.
Adub
8th November 2006, 04:46
Sharktooth, I know that you are working on the distributed computing part of megui. Have you looked at omion's new program, to give you some support/ideas?
http://forum.doom9.org/showthread.php?t=117889
Sharktooth
8th November 2006, 04:49
Yes, i even asked to tobias if he's interested in implementing Elder in MeGUI.
It will save me much time...
Sharktooth
9th November 2006, 04:33
@berrinam: what's left to do to complete the refactor?
there are a couple of thing that arent working like the avisynth script creator...
Mutant_Fruit
18th November 2006, 03:07
Heya,
I just thought this might be interesting for making MeGUI support multi-machine encoding.
http://www.monoboss.com/details.html
It's basically a fully fledged framework for adding/removing/tracking nodes with fail detection and recovery. It could more than likely be used to pass pieces of a file out to different computers for encoding etc.
Doom9
18th November 2006, 11:33
Well.. I can't shut up any longer: multi machine / clustered encoding goes WAAAAAAYYY beyond the 80/20 rule. It goes so far you can't even see the line anymore.
Romario
18th November 2006, 18:47
What's 80/20 rule, Doom9?
foxyshadis
19th November 2006, 13:27
Indeed, the only way megui should support clustering should be by calling a program that mimics x264 and passes its arguments on to the real clustering tools, like ELDER and x264farm. Or, at best, a new "codec" that just creates a slightly different command line customized for one of the clustering engines, the way sharktooth wants to add ELDER support.
Romario: http://en.wikipedia.org/wiki/Pareto_principle
Sharktooth
19th November 2006, 14:46
Indeed. I already asked tobias if he wants to implement ELDER in megui.
x264farm is also good though, but only for x264.
check
20th November 2006, 14:13
May I chime in with a reminder about berriman's old proposal to separate the megui job control from the rest of the logic? Something like this would give a completely extensible interface upon which people could build their own frontends for whatever they want. I have something like this written in python currently brewing on my hard drive, but I'd switch to the megui job control backend in a flash, it's far more capable than my efforts.
dimzon
20th November 2006, 14:31
What's 80/20 rule, Doom9?
The misnamed Pareto principle (also known as the 20-80 rule, the law of the vital few and the principle of factor sparsity) states that for many phenomena 80% of consequences stem from 20% of the causes.
Some Sample 80/20 Rule Applications
80% of process defects arise from 20% of the process issues.
20% of your sales force produces 80% of your company revenues.
80% of delays in schedule arise from 20% of the possible causes of the delays.
80% of customer complaints arise from 20% of your products or services. (MeGUI applicable)
As explained example - 80% of MS Word users use only 20% of it's functionality
How can we put the 80-20 principle to good use? The key to 80-20 is not time-management. Don't try to do more. Just do more of the right things.
http://en.wikipedia.org/wiki/Pareto_rule
http://www.gassner.co.il/pareto/
http://www.clickz.com/showPage.html?page=988291
http://www.entrepreneurs-journey.com/428/80-20-rule-pareto-principle/
Sharktooth
20th November 2006, 14:44
Eh... if italians weren't so good... :p
bob0r
21st November 2006, 10:26
We wouldn't have an Enzo Ferrari.
JarrettH
26th November 2006, 22:42
Suggestion!
So I'm trying to encode an xvid using meGUI and one of the xvid profiles. The 1st pass errors out instantaneously. I figured it out quite easily the quant matrices (EQM) for xvid are missing from the autoupdater. The path on the hard drive it points to is extras/eqm_v3hr.xcm. Even if you have xvid installed it doesn't come with the EQM matrices.
:D
Sharktooth
27th November 2006, 05:19
:readguid:
laksman91
27th November 2006, 05:35
i have problem with megui. When i put something to encode (.avs) with x264 and i tried with XVID codecs, for over 24hours i got 0/xxxx Frames analyzed and i dont recieve an FPS i just get "FPS" and Estimated time is N/A
The avs works flawlessly in VDub, i'm leaning towards maybe an error w/ my MeGUI config. ?
Sharktooth
28th November 2006, 19:35
this is not the bugreport thread.
Adub
2nd December 2006, 08:01
Man, and I got all excited because I thought there was an upswing in development.
People, Read the guides, Use Search, and for Good sake, Post in the right forum!
If you have a problem with Megui, post it elsewhere.
Thank you.
miztadux
12th December 2006, 16:55
Hello,
Thanks for all the work you did with this great app....I got a question for people with knowledge of MeGui source code...
I tried to "port" x264 MeGUi profiles by Sharktooth to my transcoding app (a lame homebrewed perl script).
To do so i looked at the MeGui source and tried to extract the bits that translate the profile/settings to a x264 commandline.
I found most of the code was in "CommandLineGenerator.cs", in particular the two methods "x264TriStateAdjustment", "generateX264CLICommandline"...
So basically I ported the "x264Settings" class and the two aforementioned methods in my script, and had the script do:
- load the MeGUI profile in a x264Settings "object" (no more an object in my sloppy code...)
- set "BitrateQuantizer" and "Logfile" to some correct values depending on the source/settings.
- for each pass:
* use a copy of the loaded settings
* set "EncodingMode" to an appropriate value (//comments in generateX264CLICommandline)
* run "x264TriStateAdjustment" on those settings
* run "generateX264CLICommandline" on those settings to get the cmdline
* run the pass...
I'd like to ask if I've missed something that MeGUI does with the profile/settings before feeding them to the "generateVideoCommandline" method, perhaps setting the value of some parameters based on some properties of the source ? (i'm no .net expert and did a sloppy job, i'm pretty sure i did something wrong ;))
In particular, I didn't have much time to test my code, but i saw that x264 displayed a warning like "--vbv-maxbitrate specified but no value for --vbv-buffersize" using the "HQ-Slow" profile...and actually i didn't find where, in the code ,"VBVBufferSize" value would have been changed (except manually in the control panel)...
(VBVBufferSize is "-1" in the profile, so it won't be in the command line as "if (xs.VBVBufferSize > 0)..." )
Sorry for my English (i did the best i could;)) or if this post doesn't belong here.
Thanks for any help....
PS: For now, I completely skipped the "AVCLevels" class, as I though it was only used if "Level" is different from "15" in the profile, but is it used somewhere else in the process ??
nightrhyme
15th December 2006, 01:06
Any word on when the updates on the server will be fixed ?
This is as far as the update procedure goes. have let it hang for an hour.
http://img335.imageshack.us/img335/4563/screen02pr4.jpg
Do we still need NEROAACenc ? because it can't update that either ?
Tried running a job. But it just sits there. No progress.
Sharktooth
15th December 2006, 01:32
There should be an hidden window... try moving around the autoupdate and the megui window...
you should find an import profiles window...
select the profiles you wanna import and go on.
neroaacenc should be update manually. you can turn of the error message by clicking with the rigth mouse button over neroaacentry in the autoupdate...
nightrhyme
15th December 2006, 01:52
Thanx for reply.
Ok I almost got it.
Regarding manual update of neroaacenc:
So I just take the neroaacenc dll from nero directory ? and put where ?
Sharktooth
15th December 2006, 02:17
no.. you need the nero digital aac encoder binary (exe). it's available at nero website for free: http://www.nero.com/nerodigital/eng/Audio.html
place it in the C:\Program Files\megui\tools\neroaacenc folder (or wherever you installed megui)
Sharktooth
16th December 2006, 05:07
SVN update (please do a checkout!):
- Trunk is now 0.2.4.0000 (updated changelog and Assemblyinfo.cs accordingly)
- New tag 0.2.3.2193 in tags dir
check
16th December 2006, 05:19
somewhat related, can people recommend any good online resources on c#? I'm coming from an intermediate level of experience in python, and... that's it :)
shon3i
16th December 2006, 11:02
Nice Shartooth tanks, can you include SSIM check
Sharktooth
16th December 2006, 14:18
It will be included in 0.2.4.x
bob0r
16th December 2006, 21:06
0.2.3.2193 on http://x264.nl
bob0r
16th December 2006, 21:15
What is the workaround for x264 sliceless threads?
I dont see --threads auto in commandline, and selecting threads is disabled. Why is that?
Threads:
auto <default>
1
2
3
...
16
Thats how it should be.
Edit:
Also the help balloon disappears when mouse over on threads.
berrinam
16th December 2006, 23:15
0.2.4.0001
Commit by berrinam:
- Fixed Guide link so it points to http://mewiki.project357.com/wiki/Main_Page
- Fixed bug when loading d2v files into avs creator
- New deinterlacing options in avs creator
In addition, Sharktooth's last commit (0.2.4.0000) involves a lot of change to MeGUI's internals. To the user, it means:
Reworked profile behavior so that it is consistant across MeGUI
Reworked One click encoder's profiles; removed the one click configuration dialog.
Left out the avi muxer since it doesn't seem to work anyway. This omission isn't permanent, though.
berrinam
17th December 2006, 00:07
Oh, and another nice feature is that the One click encoder is more likely to guess and format the name properly when it opens a file.
Adub
17th December 2006, 00:14
All right! good to see you again berrinam. And thanks for the update too.
berrinam
17th December 2006, 05:07
This version should be fit for use:
0.2.4.1002
Commit by berrinam:
- Add 'run command after encoding'
- x264: add support for --no-ssim and --interlaced
Sharktooth
17th December 2006, 05:16
What is the workaround for x264 sliceless threads?
I dont see --threads auto in commandline, and selecting threads is disabled. Why is that?
Threads:
auto <default>
1
2
3
...
16
Thats how it should be.
Edit:
Also the help balloon disappears when mouse over on threads.
"--threads auto" will be added if "Automatically set the number of threads" option in megui settings is enabled.
It just doesnt show in the command line in x264 config window.
The x264 Threads option can be safely removed in future versions.
berrinam
17th December 2006, 05:29
As a result of the refactor, profiles before 0.2.3.2193 can't be loaded with MeGUI 0.2.4.0000 or higher. [EDIT: There's a very simple solution to that, so if you wait, I can provide a program which converts profiles]
You'll just have to recreate them, I suppose. This also means that Sharktooth's profiles aren't accessible...
0.2.4.1003
Commit by berrinam:
- Allow deletion of unreadable profiles
- Add the update window to the tools menu again
Sharktooth
17th December 2006, 05:33
i will update the profiles ASAP. i have also some new audio profiles to add...
i should also check the new code and adapt some fixes/additions i already had floating on my harddrive...
but now it's time to sleep (5:35AM)...
berrinam
17th December 2006, 05:55
Actually, the profiles don't need to be modified by hand -- in fact, there's a very quick conversion from an old profile to a new one, so I might even include that in MeGUI (it just involves changing the type listed in the xml file from VideoProfile to GenericProfileOfVideoCodecSettings, or something similar for all the other profiles).
berrinam
17th December 2006, 07:15
0.2.4.1004
Commit by berrinam:
- Workaround so that old profiles (from before 0.2.4) can work with 0.2.4.1004+ builds -- such old profiles will be recognised and updated to the new format.
berrinam
17th December 2006, 07:23
0.2.4.1004 is on autoupdate now, so everyone can get it now. Enjoy.
The profile collections on the update site also need to be upgraded to work with 0.2.4+, but they can wait for the moment. It would be better if everyone upgrades MeGUI first.
Alizar
17th December 2006, 08:02
0.2.4.1004 is on autoupdate now, so everyone can get it now. Enjoy.
The profile collections on the update site also need to be upgraded to work with 0.2.4+, but they can wait for the moment. It would be better if everyone upgrades MeGUI first.
Is it just me, or is this version missing an "Enqueue" button for audio?
Adub
17th December 2006, 08:08
righteous! I will download as soon as possible. Just not right now. I am on the wrong computer. Thanks for the updates man!
berrinam
17th December 2006, 08:16
0.2.4.1005
Commit by berrinam:
- Made the 'enqueue' button for audio visible. Sorry
Carpo
17th December 2006, 09:55
its always the way - i dont do any encoding for a while but still check for updates - dont see any - then as soon as i start a batch encode loads of updates ;)
will give them a go later :)
edit: i was going to post in the questions thread about resizing - i suppose reading does pay off
If you want to resize your video, enable it, check "suggest resolution" and change to the resolution you want. Computer backups are often done to a horizontal resolution of 640. If you want the highest quality file, do not resize.
just have to redo the encodes now :o
shon3i
17th December 2006, 12:18
@Devs, can you add Deadzone options, and AQ since now always used Sharktooth's build?
ChronoCross
18th December 2006, 01:54
aq shouldn't be added till it's in svn.
berrinam
18th December 2006, 05:03
0.2.4.1006
Commit by berrinam:
- Fixed interlace detection
- Fixed Adaptive muxer crash
- Re-added the avc2avi and divxmux muxers (for avi).
berrinam
18th December 2006, 11:41
0.2.4.1007
Commit by berrinam:
- Fixed force film detection for video sources
Sharktooth
18th December 2006, 16:46
0.2.4.1008
Commit by Sharx1976:
- Added "--threads auto" support in x264 config and commandline generator
Note: The "Automatically set the number of threads" option will still set threads = number of core/cpus.
If you want x264 automatically set the number of threads (this is now a preferable choice for x264 encoding) you should disable that option and set threads=0 in the x264 config.
I will update the profiles to reflect that change ASAP.
Thunderbolt8
18th December 2006, 17:09
so again, when entering 0 there, megui automatically sets the number of threads to 2. but when trying to enter 4 threads manually there (and saving this into a profile), megui STILL keeps resetting it to 2...
and the status window still keeps disappearing when switching from 1st to 2nd pass.
Sharktooth
18th December 2006, 17:13
DISABLE the "Automatically Set The Number Of Threads" option in megui settings! Also dont post here but on the other thread...
Thunderbolt8
18th December 2006, 17:16
:S seems like I was too fast and overlooked that.
1st pass now gives me the usual 60fps, even 65, which is allright. lets see what 2nd pass does...
2nd pass now also says 4 threads, but the speed doesnt increase, its again ~10 fps, which was equal to 1-2 threads (?) and definately too slow for no additional filtering options.
deets
18th December 2006, 17:34
i seem to have a prob with 1008. its not taking the name of the file i put in video output and just uses the name from the avs file
Sharktooth
18th December 2006, 17:37
this is not the bug-report thread...
deets
18th December 2006, 17:43
sorry :) posted in the right one
sp@rrow
18th December 2006, 20:35
Plz check audio delay correction - gui don`t apply it automatic
devaster
18th December 2006, 22:00
hello my friend ask for something aka time managing of a job queue - when he planned for pausing it pause start or continue encoding....
i make it on base code 00.2.4.1005 (see attached picture) .
have i broke some restrictions of authors of megui ???
check
18th December 2006, 22:11
the feature request thread is that way ----->
devaster
18th December 2006, 23:47
the feature request thread is that way ----->
i am not asking for feature i am asking for permision to modify a megui code and release my own modified build....
when authors found my changes usefull then maybe i make a patch or something ...
Sharktooth
19th December 2006, 03:25
i am not asking for feature i am asking for permision to modify a megui code and release my own modified build....
when authors found my changes usefull then maybe i make a patch or something ...
Post your changes (possibly as a patch) if it's ok we will merge it to the current code and give you the credits.
Sharktooth
19th December 2006, 03:40
0.2.4.1009
Commit by berrinam:
- Fixed the 'modify filename doesn't work' bug
sillKotscha
19th December 2006, 03:52
SVN update (please do a checkout!):
- Trunk is now 0.2.4.0000
as the version number had such a 'big' change, wouldn't it make sense to release the last 0.2.3.x as a "new" build on SF.net (https://sourceforge.net/project/showfiles.php?group_id=156112)
Sharktooth
19th December 2006, 04:03
done.
sillKotscha
19th December 2006, 04:10
thank you :)
berrinam
19th December 2006, 05:12
Does anyone know how to deal with this resizing issue? I know Doom9 was doing something about this a while ago, but I don't know what. What is the correct approach?
Sharktooth
19th December 2006, 05:16
what resizing issue? you mean the problem with the font size?
ChronoCross
19th December 2006, 07:17
window resizing I think..
berrinam
19th December 2006, 11:52
The font size bugs that everyone is now complaining about on the bug report thread.
sillKotscha
19th December 2006, 11:58
The font size bugs that everyone is now complaining about on the bug report thread.
complaining?... I've only discovered two nullities...
http://img309.imageshack.us/img309/8451/fontyp2.jpg (http://imageshack.us)
berrinam
19th December 2006, 12:03
That's not the problem. Have a look at http://forum.doom9.org/showthread.php?p=918768#post918768
Maybe it is a specific problem with the custom styles, but maybe not....
sillKotscha
19th December 2006, 12:06
That's not the problem. Have a look at http://forum.doom9.org/showthread.php?p=918768#post918768
Maybe it is a specific problem with the custom styles, but maybe not....
uoops... indeed, that does look weird but I would assume that it should be related to custom styles...
nk
20th December 2006, 05:32
Now, MeGUI sees environmental variable 'NUMBER_OF_PROCESSORS' and set it to the number of threads.
But now x264 support '-threads=auto', so when "Automatically set number of Threads" is checked, command line arguments should be set to '-threads=auto' instead of '-threads=num_of_processors', I think.
Audionut
20th December 2006, 07:35
Have the threads option disabled by default. With a little balloon that says "to use this option, disable auto set threads in megui settings".
edit: or as nk says.
Thanks for your hard work.
sillKotscha
20th December 2006, 10:47
command line arguments should be set to '-threads=auto' instead of '-threads=num_of_processors', I think.
http://img266.imageshack.us/img266/7420/loglh7.png (http://imageshack.us)
Audionut
20th December 2006, 11:04
@ sillKotscha
You still need to disable auto set threads otherwise megui always uses the threads it detects.
edit: which is what nk is saying
sillKotscha
20th December 2006, 11:11
@ sillKotscha
You still need to disable auto set threads otherwise megui always uses the threads it detects.
edit: which is what nk is saying
ah, ok... that I didn't know... although you did already wrote about it one post above - shame on me :D
Sharktooth
20th December 2006, 14:37
Now, MeGUI sees environmental variable 'NUMBER_OF_PROCESSORS' and set it to the number of threads.
But now x264 support '-threads=auto', so when "Automatically set number of Threads" is checked, command line arguments should be set to '-threads=auto' instead of '-threads=num_of_processors', I think.
nbThreads is a global settings. if i set it to "auto" other codecs wont accept it.
Maybe i can use the same "rule" used in x264 by setting the nbThreads to number_of_processors * 1.5 but other codecs maybe will perform worse...
Sharktooth
21st December 2006, 00:25
0.2.4.1010
Commit by Sharx1976:
- Max number of threads for x264 is now '16'
Sharktooth
21st December 2006, 01:18
0.2.4.1011
Commit by Sharx1976:
- Better codecs profiles management: the OK button in the codec config window now pops up a messagebox asking if you want to update the profile
Sharktooth
21st December 2006, 02:28
0.2.4.1012
Commit by Sharx1976:
- Fixed the delay option in audio configuration window
JarrettH
21st December 2006, 03:40
What was wrong with the delay? I thought it was detected now.
Sharktooth
21st December 2006, 03:42
it is but the delay option was always grayed out
bob0r
21st December 2006, 10:21
Should i put 0.2.4.1012 (or any 0.2.4.xxxx) on x264.nl now, as 0.2.3 updates to it?
berrinam
21st December 2006, 10:24
Yes, I think these builds are pretty stable.
Sharktooth
21st December 2006, 14:56
Well... they're not stable AT ALL...
there are still big issues (Oneclick encoder throws an exception when clicking Config on 1 click profile, people is reporting issues with .d2v files... etc).
pinkie_1
21st December 2006, 16:34
I totally agree with you on this one, Sharx.
And it's rather funny recalling that you said one or two days ago to someone that .2193 it's an outdated version...
For regular users (n00bs included), .2192/.2193 still offer the most reliable encodings.
Maybe you should tag .10xy (up to 20 or even 30) as being testing-only.
Sharktooth
21st December 2006, 16:38
Well, we need testing... and we havent beta testers... so... :)
Adub
21st December 2006, 17:34
I'm there for you guys man. I test as much as possible.
Speaking of which, that dialog bug showed up again. I will try and track it down later on today. It may have something to do with 3 threads being used, but just wait until I can isolate the incident.
Sharktooth
21st December 2006, 17:41
0.2.4.1013
Commit by berrinam:
- Re-enabled the right-click menu in the job queue
berrinam
22nd December 2006, 00:01
Well... they're not stable AT ALL...
there are still big issues (Oneclick encoder throws an exception when clicking Config on 1 click profile, people is reporting issues with .d2v files... etc).
Really?
I knew about the Oneclick exception, but I thought I had fixed it, and I can no longer reproduce it.
Sharktooth
22nd December 2006, 00:34
open megui, open 1 click encoder then click on the config button... also zones in xvid are broken.
when clicking preview in avisynth script creator, after crop and resize, it doesnt display the whole image (the frame is of the correct dimensions though), sometimes the jobs do not start automatically in auto-encode, status window disappear in 2nd pass...
im looking at the code and fixing here and there, but im still "learning" after the refactor.
bob0r
22nd December 2006, 00:39
So megui 0.2.3.2193 updating to 0.2.4.x is a bug also? :)
Sharktooth
22nd December 2006, 00:43
Well, once installed it auto-updates itself... so you can just put into the package the newer versions as well... it will save some traffic on the auto-update server.
berrinam
22nd December 2006, 01:33
open megui, open 1 click encoder then click on the config button... The annoying thing is that I get this crash when I run megui by itself, but when I run it from VS with the debugger, it opens fine.
Sharktooth
22nd December 2006, 01:44
weird. try compiling a debug build and see if it crashes (i cant do it right now).
berrinam
22nd December 2006, 07:02
0.2.4.1014
Commit by berrinam:
- Big code changes to JobControl (the queue) resulting in:
- 'skip' is now a status which has the same effect as 'postponed'
- chained jobs are set to 'skip' if a job in the chain is aborted/errored
- Progress Window should always open
- Jobs should always start if 'Auto start queue' is set
- Missing an executable file results in an error now
- No running of single jobs, like the AVS window is supposed to do
chros
22nd December 2006, 09:08
How about this idea?
It would be fortunate that megui had a stabe and testing branch: eg: in C:\ProgFiles\Megui\:
- stable\
- testing\
In each directory megui would store all the files.
Stable: the last known good version (now: 2.3.9xx)
testing: the current version (now: 2.4.1xxx)
In the Strat Menu there would be 2 shortcuts to the appropriate exe file.
Once the community has agreed that the new branch is stable, megui updater ask the user if he want to upgrade the new stable release: which means the updater must download the new stable branch dir.
So maybe the updater must be devided into 2 parts: stable/testing...
So with this setup everybody can test the new builds, and can do encodes with the stable build if the new build is broken some way ...
I hope you all see the benefits of this scenario, and I hope that it doesn't require much work to do this ... :)
Best regards, and thanks for this great app...
Sharktooth
22nd December 2006, 14:41
The fact is 2193 is not to be considered stable...
Yes, it is more stable than the new versions (maybe 1015 reached the same stability) but it's still to be considered an alpha version.
Sharktooth
22nd December 2006, 15:07
0.2.4.1015
Commit by berrinam:
- Change AutoEncode shortcut from CtrlA to Ctrl3, so that text can be selected in log window
berrinam
23rd December 2006, 09:14
0.2.4.1016
Commit by berrinam:
- Fix up zones+previews in codec configs
- Fix up the long-time bug in AVS creator with previewing. The distinction between preview windows is now explicit
- Changed AutoScaleMode to DPI, so it may look marginally better with large fonts.
The problems with large fonts seems to come from the custom controls. They just don't scale properly. I don't know why.
berrinam
23rd December 2006, 11:09
0.2.4.1017
Commit by berrinam:
- AutoEncode now calculates bitrate properly again
- Removed 'Safe Profile Alteration' from the settings window, since it didn't do anything anyway
berrinam
23rd December 2006, 11:37
0.2.4.1018
Commit by berrinam:
- Fixed crash on 'Reset'That's the last of the bugs mentioned recently that I can reproduce. The other bugs that I'm aware of are:
The large fonts issue (which I can't solve -- it seems to be funny behaviour with UserControls)
Spurious issues with loading avs files
The OneClick 'config' button crash (which I can't reproduce when running from VS)
Sharktooth
23rd December 2006, 14:37
i dont know how but the OneClick 'config' works within VS...
It also works if you compile the bin within VS... it's just the compile.bat build that crashes.
bob0r
24th December 2006, 16:41
So what version should i update on x264.nl?
As there are still errors i see....
berrinam
24th December 2006, 22:15
0.2.4.1019
Commit by berrinam:
- Support multiple servers in auto-update
Sharktooth
25th December 2006, 15:03
@devs: The CSC compiled builds of MeGUI have a different size and "behaviour" than the Visual Studio compiled ones.
If you're going to put new builds on the update server, ensure you compiled the megui binaries from Visual Studio coz the builds produced by CSC (compile.bat) are broken.
Sharktooth
25th December 2006, 15:29
0.2.4.1020
Commit by Sharx1976:
- Fixed the behaviour of the UseAutoUpdate checkbox in Settings (now it works and the value is saved correctly into the settings)
Since i havent yet any access to the project357.com ftp, the new build is available thru my own update server: http://forum.doom9.org/showthread.php?t=119808
EDIT: Updated the main auto-update server with the new build. Also 0.2.4.1020 is now on sourceforge.net: http://sourceforge.net/project/showfiles.php?group_id=156112
Sharktooth
25th December 2006, 16:26
So what version should i update on x264.nl?
As there are still errors i see....
0.2.4.1020... but ensure the MeGUI.exe is compiled using Visual Studio (and not just compile.bat) until we find what's causing the problems with CSC...
(Basically run compile.bat and dont hit any button while it pauses, compile again using VS - Release and replace the MeGUI.exe with the one from Bin\Release then hit any key in the compile.bat window)
Sharktooth
26th December 2006, 05:01
0.2.4.1021
Commit by Sharx1976:
- Cosmetic fixes
0.2.4.1022
Commit by Sharx1976:
- More cosmetic fixes
bob0r
26th December 2006, 17:27
I rather have you fix it first, don't have VS installed, nor want to :)
Sharktooth
27th December 2006, 04:30
bobor, i dont really know how to fix that...
berrinam
27th December 2006, 06:36
I know where the problem comes from... I'm justing updating compile.bat to fix it.
Sharktooth
27th December 2006, 14:42
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(8,50): error CS0102: The
type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'components'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(8,50): (Location
of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(14,33): error CS0111:
Type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already defines
a member called 'Dispose' with the same parameter types
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(14,33):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(29,22): error CS0111:
Type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already defines
a member called 'InitializeComponent' with the same parameter types
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(29,22):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(403,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'otherGroupBox'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(474,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(404,57): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'avsProfileControl'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(475,57):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(405,44): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'filesizeLabel'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(476,44):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(406,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'filesizeComboBox'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(477,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(407,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'autoDeint'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(478,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(408,44): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'inKBLabel'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(479,44):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(409,46): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'filesizeKB'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(480,46):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(410,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'signalAR'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(481,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(411,52): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'horizontalResolution'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(482,52):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(412,44): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'outputResolutionLabel'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(483,44):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(413,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'extraGroupbox'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(484,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(414,44): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'audioProfileLabel'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(485,44):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(415,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'dontEncodeAudio'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(486,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(416,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'splitOutput'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(487,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(417,46): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'splitSize'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(488,46):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(418,44): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'MBLabel'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(489,44):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(419,44): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'videoCodecLabel'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(490,44):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(420,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'videoCodec'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(491,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(421,44): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'containerFormatLabel'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(492,44):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(422,57): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'audioProfileControl'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(493,57):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(423,57): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'videoProfileControl'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(494,57):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(424,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'audioCodec'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(495,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(425,47): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'preprocessVideo'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(496,47):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(426,44): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'label1'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(497,44):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(427,53): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'containerTypeList'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(498,53):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(428,49): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'tabControl1'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(499,49):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(429,46): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'tabPage1'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(500,46):
(Location of symbol related to previous error)
packages\tools\oneclick\OneClickConfigPanel.Designer.cs(430,46): error CS0102:
The type 'MeGUI.packages.tools.oneclick.OneClickConfigPanel' already
contains a definition for 'tabPage2'
packages\tools\oneclick\Copy of OneClickConfigPanel.Designer.cs(501,46):
(Location of symbol related to previous error)
bob0r
27th December 2006, 17:01
@berrinam
Thats good to know, we patiently await your progress ;)
berrinam
27th December 2006, 21:28
0.2.4.1023
Commit by berrinam:
- Fix the OneClick+Config+compile.bat crash -- the text was too long, and delegated to a resource that wasn't compiled in
Sharktooth
27th December 2006, 21:38
it doesnt compile
The errors are in my previous post.
berrinam
27th December 2006, 21:50
@Sharktooth: You must have a copy of the file there which is causing all the errors. However, I just did a new SVN checkout and I don't get those errors, so I figure they must be on your end.
Sharktooth
27th December 2006, 22:07
yep, a checkout fixed it.
sillKotscha
28th December 2006, 16:44
isn't time for an icon?...
what about something like this...
http://img187.imageshack.us/img187/5780/video2audioiconkx1.gif (http://imageshack.us)
I'm sorry but I have to admit that this one is stolen from here (http://www.aone-video.com/images/video2audio-icon.gif) as I was searching google for converter icons... but it should only give an idea how an Icon for MeGUI could look like :)
berrinam
1st January 2007, 08:28
0.2.4.1024
Commit by berrinam:
- Nicer profile behavior, and detection whether you've actually changed the profile or not
- SelectedProfiles bug fixed
Doom9
1st January 2007, 13:29
quick question for berrinam/sharktooth: is the main branch (0.2.4.x) the completion of the refactor berrinam started a while back, and have the changes I made to the last 3 or so revisions to the 0.2.3.x branch been ported to the main branch?
Sharktooth
1st January 2007, 16:07
1) yes
2) not completely sure all the changes were ported
EDIT: The megui.org server is back online
berrinam
1st January 2007, 21:38
I believe all the changes were ported. I looked in the SVN changelog and the code is there, and MeGUI has the features that the changelog says it should.
berrinam
2nd January 2007, 00:56
0.2.4.1025
Commit by berrinam:
- Fix profile import/export behavior, especially with CQMs, etc
0.2.4.1026
Commit by berrinam:
- Profile Porter window is now TopMost
JarrettH
2nd January 2007, 03:18
Thank god, now it doesn't just assume you've changed the profile because you've opened it :devil: :cool:
Lolitka
7th January 2007, 01:57
Can i have a quite offtopic question?
How did you get mencoder output in realtime in c#?
When i try to execute it whith
procInfo.UseShellExecute = false;
procInfo.RedirectStandardOutput = true;
procInfo.CreateNoWindow = true;
and then start it in another thred it crates 81kB file and then stops
when i use
procInfo.UseShellExecute = true;
procInfo.RedirectStandardOutput = false;
procInfo.CreateNoWindow = true;
then it work ok, but i can't get any output with procInfo.UseShellExecute = true;
Can you help me?
And sorry for a bit OT question.
berrinam
7th January 2007, 02:38
Perhaps you need to redirect standardError as well?
Here's the code that MeGUI uses for almost all commandline apps it runs (found in CommandlineJobProcessor.cs):
pstart.FileName = executable;
pstart.Arguments = job.Commandline;
pstart.RedirectStandardOutput = true;
pstart.RedirectStandardError = true;
pstart.WindowStyle = ProcessWindowStyle.Minimized;
pstart.CreateNoWindow = true;
pstart.UseShellExecute = false;
Lolitka
7th January 2007, 13:05
Well, erm, i'm redirecting it too now, so it starts and and in some position < 1 minute (my machine encode on about 55fps).
I use one my thread, one for reading standard output, one for reading error output (where i obviously don't get anything) and one for starting mencoder.
When i close my application mencoder continue to end.
Any ideas?
Nevermind, fixed it again (forgot to start one thread) ... it took me 6 hours to found it (:
Romario
18th January 2007, 16:33
Can someone, please, add more resize filters in MeGUI, like Spline36 Resize? Thanks.
ChronoCross
18th January 2007, 20:39
Can someone, please, add more resize filters in MeGUI, like Spline36 Resize? Thanks.
there isn't really any noticable increase/decrease in quality by switching resizers. There is no point in 99% of situations where you would need to use anything different than what is already provided.
Besides you can always edit the file manaully if you really need those.
Sharktooth
22nd January 2007, 03:47
As per italian Corte di Cassazione rule, i can re-add neroaacenc to my personal megui repository without violating copyright laws in italy. Obviously only italian ppl is entitled to download it from my repo but there is no rule that says i should log the accesses...
So, if you think it could be convenient, i can put neroaacenc back into my own auto-update server...
hackboyz
23rd January 2007, 11:18
Corte di Cassazione doesn't change anything, if you want I explain why, but in italian :D
Sharktooth
23rd January 2007, 23:05
well, in a post on another forum i explained why it would possibly change even the new (Urbani) law... it's all about the "profit" term...
and after all, hosting the nero encoder on my server doesnt generate any profit to me or any megui devs... ;)
berrinam
28th January 2007, 06:58
0.2.4.1028
Commit by berrinam:
- Made the audio output a save dialog
- Made the FPS changeable in AVS window
- Changing deinterlace filter now updates the script
- Made 'Zone' a class, not a struct, which fixes zones setting bug. (Unfortunately, other bugs may have been created)
- Fix the bug where MeGUI crashes on deleting multiple jobs.
berrinam
29th January 2007, 01:47
0.2.4.1029
Commit by berrinam:
- Fixed 1621767: Made OneClick suggest an output filename again
- Fixed 1646330: Made OneClick show the correct output filename filter
berrinam
29th January 2007, 06:15
0.2.4.1030
Commit by berrinam:
- Fixed 1599119 (updater does not respect user-selected paths)
- Fixed 1646706 (crash with autoencode and audio)
berrinam
29th January 2007, 08:55
Note: this question is really meant for the devs, so I don't want people clamouring here with feature requests -- use the SF tracker for that.
What do you think of aiming for a MeGUI 1.0 sometime soon, so people can actually have a tool they can trust? I want to put a video cutter in, and perhaps we want a compressibility check. Any other features for before 1.0? What do you think?
Sharktooth
29th January 2007, 16:16
maybe adding some controls for trimming (multiple trims) and cutting videos and eventually locale support for swapped decimal and thousands separators (that's causing mayem for non US ppl).
also, if you have enough free time (otherwise i'll do it when i finished moving into my new home), it wouldnt be bad to add a dropdown list to the autoupdater to select which update server you want to manually check and update from. also if autoupdate finds multiple updates but Core or Libs or other core components are in it should automatically check only the core and libs and the core components and gray out all the other updates. so after the restart the autoupdate can automatically select the other updates as well.
another thing to do is remove undot() and use RemoveGrain(mode=1) or RemoveGrain(mode=2) for minimal noise (removegrain should be included in autoupdate), add Lanczos4Resize, GaussResize (with sharpness control) and Spline16/Spline36Resize or just some of them...
A checkbox for using AviSource instead of DirectShowSource for .avi files (or just a messagebox in case the input file is an avi? - useful to fix delay issues with avi files as input).
Add the deadzones settings to the x264 config.
berrinam
29th January 2007, 22:25
maybe adding some controls for trimming (multiple trims) and cutting videosI'm doing this now (unless I misunderstand you)
and eventually locale support for swapped decimal and thousands separators (that's causing mayem for non US ppl).Where is this a problem? Interfacing with AviSynth requires a decimal *point*... are there any bug reports about this? EDIT: AAh, I see: the bug report thread.
also, if you have enough free time (otherwise i'll do it when i finished moving into my new home), it wouldnt be bad to add a dropdown list to the autoupdater to select which update server you want to manually check and update from.Why? Isn't it better to randomly check a server, so that the load is shared?
also if autoupdate finds multiple updates but Core or Libs or other core components are in it should automatically check only the core and libs and the core components and gray out all the other updates. so after the restart the autoupdate can automatically select the other updates as well.Yep
another thing to do is remove undot() and use RemoveGrain(mode=1) or RemoveGrain(mode=2) for minimal noise (removegrain should be included in autoupdate), add Lanczos4Resize, GaussResize (with sharpness control) and Spline16/Spline36Resize or just some of them...All pretty easy. Except for a sharpness control on GaussResize... I'll think about that.
A checkbox for using AviSource instead of DirectShowSource for .avi files (or just a messagebox in case the input file is an avi? - useful to fix delay issues with avi files as input).Alternatively, I could try opening the file first with AviSource, and use DirectShowSource only if that fails.
Add the deadzones settings to the x264 config.I haven't heard about these. What are they?
Sharktooth
29th January 2007, 22:36
GaussResize is not mandatory. It could be taken out. For the decimal point there were and are a lot of bugreports. 29.976 becomes 29970.xxxx (same for 23.976) and then i let you imagine what happens...
deadzones settings are: --deadzone-intra and --deadzone-inter. they control the deadzones in x264 and can be usefull to retain fine details at high bitrates (such as grain, noise, ultra-detailed textures like in video games, etc...).
About the avisource i think it's better to have a choice, coz sometimes there are problems with it (and DSSource fixes them) as well as DDShource could cause problems that get fixed with Avisource. So there is no preferred method... it's all a matter of how was muxed the source and what kind of streams were put in the container...
Also i proposed the listbox for the autoupdate servers coz now that you can define your custom servers we can use 1 for "stable" releases and another for the "testing" releases so we can mantain a stable set of binaries and packages for the masses as well as a "bleeding edge/testing" version AND custom update servers...
berrinam
30th January 2007, 00:52
Also i proposed the listbox for the autoupdate servers coz now that you can define your custom servers we can use 1 for "stable" releases and another for the "testing" releases so we can mantain a stable set of binaries and packages for the masses as well as a "bleeding edge/testing" version AND custom update servers...How about not providing this option in the autoupdate window, but instead providing separate server lists, eg a server list for stable, one for bleeding edge, etc?
berrinam
30th January 2007, 01:11
0.2.4.1031
Commit by berrinam:
- Add an AviSynth cutter (allows audio and video cutting)
This comes in two parts:
a tool in the tools menu called AVS cutter, which opens an avs file and allows you to select sections to keep
A file bar in the audio encoding part of the main form which allows you to select a MeGUI-generated cut file, and audio you encode will then be cut according to that file
So, if you have a source that you want to cut (say, remove the ads) then you generate the avs however, open it with the AVS cutter, save the cuts to the AVS and to a cut file, then load that cut file in the main form, to encode your audio.
This doesn't (yet) support cutting of unprocessed audio (if you like to keep your original audio tracks). The issue is that this needs external tools, so more work needs to be done for that. If people know some tools that I can use, please tell me (I'm thinking about BeSplit)
Enjoy!
berrinam
30th January 2007, 02:20
0.2.4.1032
Commit by berrinam:
- Fixed 1647454 (crash with German FPS in AVS window)
0.2.4.1033
Commit by berrinam:
- Fixed 1647524 ("optional output extensions" are not saving at next sessions)
- Fixed 1647520 ("advanced tooltip" not working)
berrinam
30th January 2007, 05:41
I need a suitable AVI muxer. I was loking back through this thread and we abandoned mencoder because it was faulty. DivXmux only works with DivX files. AviMuxGUI doesn't interface with the commandline well (errors are shown in messagebox form).
This leaves ffmpeg and virtualdub. I'm thinking about trying ffmpeg -- does anyone have any experience with that? Does it have any glaring problems to be aware of?
buzzqw
30th January 2007, 08:23
pardon me berrinam ... but avimux don't prompt error message if input file are correct and muxing file is correct too.
The only problem i am aware is from xvid with not "fixed" framerate, or not well rounded... like 25.002 or 29.986...
this is a muxing file for avi+ac3
CLEAR
LOAD c:\movie.avi
LOAD C:\audio.ac3
SELECT FILE 1
ADD VIDEOSOURCE
SET INPUT OPTIONS
SET OPTION MP3 VERIFY CBR NEVER
SET OPTION MP3 VERIFY RESDLG OFF
SET OUTPUT OPTIONS
WITH SET OPTION
OPENDML 0
RECLISTS 0
AUDIO INTERLEAVE 3 FR
AVI ADDJUNKBEFOREHEADERS 0
PRELOAD 200
WITH AUDIO
NAME 1 english
END WITH
OVERWRITEDLG 0
CLOSEAPP 1
DONEDLG 0
ALL AUDIO 1
LEGACY 0
RECLISTS 1
NUMBERING OFF
MAXFILESIZE OFF
END WITH
START C:\_aaa_full.avi
other examples could be generated by automkv
BHH
berrinam
30th January 2007, 09:35
But think about what would happen if there was an error. AviMuxGUI would hang forever, and the rest of the queue wouldn't complete until a user comes along and finds the error. The rest of MeGUI is built so that you can continue with independent jobs after an error...
I suppose that AviMuxGUI is really the best avi muxer, so maybe it's just worth using it, and if there's an error, hope the user isn't too bothered.
buzzqw
30th January 2007, 11:49
yes, i know and understud :( but there isn't an easy solution.
(but megui should not build or give to avimux bugged files...)
since megui has in its arsenal even mencoder, this could be used for muxing. Mencoder is a good muxer and allow a very wide range of input files :)
BHH
berrinam
30th January 2007, 12:22
We used mencoder before and it seemed to have problems with ac3. I tried out ffmpeg today and it seemed to also have problems with ac3 (it claimed to support it, but when muxing ac3 with a video track, the video was sped up ridiculously)...
buzzqw
30th January 2007, 13:12
i am not used to ffmpeg but have you try to pass the -r switch (the framerate)?
BHH
check
30th January 2007, 14:05
Why allow ac3 in avi? It's rather unusual, and case of fitting a square peg in a round hole, a la h264-in-avi. I can see no discernible benefit to allowing it, and on this note I'm a fan of removing the avc2avi frontend too.
Sharktooth
30th January 2007, 14:35
oh, something i forgot... there are major problems with Vista and Win2k. I dont know how to test coz i havent those OSes.
buzzqw
30th January 2007, 15:00
ac3 in avi is perfectly legal and widely used. I think MeGui should allow this muxing.
Almost all SAP support this format.
BUT h264-in-avi is another story and imho cannot be permitted at all.
just my 0.02€
BHH
berrinam
1st February 2007, 11:45
0.2.4.1034
Commit by berrinam:
- Added support for --deadzone in x264
shon3i
1st February 2007, 12:55
why when i select trellis, deadzone is off?
EDIT: I founded answer http://forum.doom9.org/showthread.php?p=883255#post883255
Sharktooth
1st February 2007, 14:59
Uhm, while you're at it can you also change the x264 quantizer/crf from int to float (1 decimal)?
check
1st February 2007, 18:30
shoni, trellis & deadzone are mutually exclusive.
aside to devs: tooltips to this effect could be useful.
moadib2k
2nd February 2007, 00:26
MeGui has problems under vista x64, the problem I am having is the AviSynth Attempted to read or write protected memory.
I downloaded the source and here is where I am at. I set everything to compile for x86 (sometimes this is the problem). I stepped through the AviSynth wrapper and everything was working fine.
There is a loop in MediaFileFactory.cs Line 23
foreach (IMediaFileFactory factory in mainForm.PackageSystem.MediaFileTypes.Values)
It does not break until it gets to: IMediaFileFactory type MeGUI.MediaInfoFileFactory
It crashes in MediaInfoFile.cs line 127:
MediaInfo info = new MediaInfo(file);
I have downloaded the media info library and tried to compile it but I have to figure out where the wx/wxprec.h is coming from.
Its a library thats referenced from the mediainfolib source thats not included. I know of wxWidgets but it does not make much sense that he included it in a non-ui chunk of code.
I ran out time for now but if I find anything I'll let you know.
berrinam
2nd February 2007, 05:42
@moadib2k: Thanks for looking into this. I'm sure you understand that we can't find the MeGUI problem with Vista since we don't have it, so I appreciate your attempts to isolate the bug. If you can suggest anything to change in MeGUI to fix the bug, if you upload a patch, I will be happy to commit it to the SVN.
berrinam
2nd February 2007, 06:10
0.2.4.1035
Commit by berrinam:
- Added support for non-integer crf in x264
Should x264 also support non-integer qp? Because the r620 doesn't.
devaster
2nd February 2007, 08:44
can you make the program paths in settings dialog relative ???
f.e. : \utils\mencoder.exe ?
(megui would be more portable(on USB disks...))
berrinam
2nd February 2007, 12:01
I could do that, but I think it might require some internal reworkings, so I'm not keen to do that yet (anyway, AviSynth+DGIndex are the main blockers with portability, I think). Could you post this request on SourceForge please, so it can be kept for later?
NOTE TO EVERYONE: This thread is not for feature requests
berrinam
2nd February 2007, 12:38
0.2.4.1036
Commit by berrinam:
- Fixed 1650271 (Queue analysis pass does nothing)
devaster
2nd February 2007, 13:04
I could do that, but I think it might require some internal reworkings, so I'm not keen to do that yet (anyway, AviSynth+DGIndex are the main blockers with portability, I think). Could you post this request on SourceForge please, so it can be kept for later?
avisynth and filters is in most cases placed in his default dir in program files ....
anyway , may be there be a switch for absolute or relative paths ...
request posted ...
TwoToad
2nd February 2007, 13:10
I don't suppose Spline36Resize could be added to the list of meGUI's resizers? Thanks for the great work on this program!
Edit: WOOT! I feel like I've contributed to meGUI now!! Thanks berrinam (down several posts in the changlog) and to check for making me look at the small print in berr's sig. The resizers were added =)
check
2nd February 2007, 13:33
@twotoad, please read the post 3 up. Then read berrinam's signature. Then think! :devil:
moadib2k
2nd February 2007, 14:45
Do you compile mediainfo.dll in your build or do you just include the win32 build from souceforge? I have a suspicion that this is going to end up being an invalid malloc call or something similar so it might actually require a change to mediainfo.
Sharktooth
2nd February 2007, 14:47
0.2.4.1035
Commit by berrinam:
- Added support for non-integer crf in x264
Should x264 also support non-integer qp? Because the r620 doesn't.
uhm... dunno. but i think it's not planned
berrinam
2nd February 2007, 22:11
MeGUI uses a precompiled build of MediaInfo. I suspect it comes from the sourceforge build, but I can't remember for sure.
moadib2k
3rd February 2007, 18:11
Well, the version of mediainfo you are shipping is 0.7.2.1, the latest release is 0.7.4.3. Thats not the problem though, I recompiled mediainfowrapper.dll using 0.7.4.3 and it did not solve the problem with vista x64. I have narrowed it down to being a mediainfo problem, it is definitely not a MeGUI problem.
I have posted some questions to the developer of mediainfo. It uses a ton of other libraries so the problem could be just about anywhere in there.
If I get any resolution I will let you know.
Zerofool
4th February 2007, 07:35
0.2.4.1035
Commit by berrinam:
- Added support for non-integer crf in x264
Should x264 also support non-integer qp? Because the r620 doesn't.
Finally!!
It's supported since r591 (http://trac.videolan.org/x264/changeset/591). But it doesn't work because MeGUI is doing it wrong. It sends xx,x in the command line and it should be xx.x ;).
0.2.4.1034
Commit by berrinam:
- Added support for --deadzone in x264Thanks for that too. Now MeGUI is completely perfect for my needs :D.
Sharktooth
4th February 2007, 15:06
the usual non-US problems when it comes to locales.
berrinam
5th February 2007, 10:57
0.2.4.1037
Commit by berrinam:
- Made PgDn/PgUp do a jump of 1000 frames; made >> jump 25 frames
- Add extra resizers for AviSynth
- Save jobs on creation
- Support 'install priority' for autoupdate -- allows very coarse dependencies to be expressed
- Fixed 1650887 (x264 doesn't understand --crf 18,0)
- Fixed 1651387 (reset button does not remove audio cut file reference)
berrinam
5th February 2007, 12:05
0.2.4.1038
Commit by berrinam:
- Support update server branching
- Fixed 1651704 (CQ- profiles create error "not valid value")
There are now two update server branches: 'stable' and 'development'. Currently they're identical, but the idea is that stable will be updated less frequently.
foxyshadis
5th February 2007, 12:11
Why not just email Alexander Noé and ask him if he knows of and can fix the command-line error popups? (Also any issues that can cause such prompts.) You won't find much better than avimuxgui for doing that.
berrinam
5th February 2007, 12:17
I have already spoken with him, and he doesn't really want to send the errors to stdout (since stuff is already written there). I don't know what's wrong with stderr, though...
I was going to modify AMG myself and send him a patch, but I can't get it to compile on VS2005.
berrinam
5th February 2007, 12:20
About MeGUI 1.0 again:
I plan to add support for AviMuxGUI, and perhaps update MeGUI to support TIVTC 1.0, and then I think it should be ready for a 1.0 release candidate. Anything else needed beforehand?
Sharktooth
5th February 2007, 14:40
uhm, comp.test (in tools & oneclick encoder) is the only thing that was left on my list.
network encoding will be after 1.0 since it requires huge changes.
EDIT: i noticed the commandline in the codec config is only visible for x264. xvid, snow and lmp4 commandlines are not visible.
moadib2k
6th February 2007, 19:25
Hello all - some good news. I have worked with the gentleman from MediaInfo. After some work it looks like I have a version of the MediaInfoWrapper dll that works on vista x64. Its an x86 compile so it will also work on vista x86.
You will need the latest version of MediaInfo and I need to get the wrapper to the right person.
berrinam
6th February 2007, 20:58
Great! Thanks for that.
Can you upload the wrapper to rapidshare or some other filehost please? I'll put it on MeGUI's autoupdate then.
moadib2k
6th February 2007, 21:23
Can you upload the wrapper to rapidshare or some other filehost please? I'll put it on MeGUI's autoupdate then.
I uploaded it here (http://www.thebensons.org/MediaInfoWrapper.rar)
It has the wrapper and latest version of mediainfo.dll. I set the version for the wrapper to match the version of mediainfo.dll.
I will pull this down in 24 hours or so.
berrinam
6th February 2007, 22:03
I've put it on the server. A big thanks goes to you and the MediaInfo people.
moadib2k
6th February 2007, 22:25
Any interest in adding wmv encoding to MeGui?
MaxPlanck
7th February 2007, 00:51
thanks in advance for the vista fix, will be testing it tonight :)
Works beautifully guys...thanks.
Sharktooth
7th February 2007, 03:26
thanks goes to berrinam, moadib2k and the MediaInfo ppl.
did anyone made some tests to see if it fixes the problems in win2k as well?
@moadib2k: adding WMV encoding to megui shouldnt be so hard but it will require some time and tests. i think it can be taken into consideration after 1.0 release.
berrinam
7th February 2007, 04:38
I agree with Sharktooth.
JarrettH
7th February 2007, 04:55
What was the libs update? :sly:
Sharktooth
7th February 2007, 13:53
mediainfolib update.
moadib2k
7th February 2007, 15:43
@moadib2k: adding WMV encoding to megui shouldnt be so hard but it will require some time and tests. i think it can be taken into consideration after 1.0 release.
Wow, I actually expected to hear a no :) since MeGui is really a x264 tool.
I am starting to write an encoder for wmv using some of the concepts from encode360 and some of the code from MeGui (namely the mediainfo wrapper and the avsynth wrapper). This is so I can write an x64 version.
What is your time-frame for 1.0?
Sharktooth
7th February 2007, 21:21
uhm... there isnt any precise date but the actual megui is close to what 1.0 should be.
berrinam
7th February 2007, 21:22
Well, we need to add a compressibility check, which I think could take a few weeks, as will supporting AviMuxGui.
Then, after that is RC1. Leave it one month for the bugs to surface, and release 1.0.
Mind you, during that one month, we can already start working on post-1.0 features.
Sharktooth
7th February 2007, 21:55
Seems some files were not commited to the SVN.
The referenced component 'MediaInfoWrapper' could not be found.
berrinam
7th February 2007, 21:59
I presume this is a error that occured when you ran it from visual studio?
You have to copy all the dlls from \trunk\ to \trunk\bin\debug, under the default VS settings.
berrinam
7th February 2007, 22:02
Sharktooth, are you working on MeGUI again, or do you still have very little time?
I think that the compressibility check is going to definitely be the largest thing before 1.0, and I'm unsure of how it is supposed to work (eg what script, and what adjustments do I make based on the results?). Do you want to implement the compressibility check?
Sharktooth
7th February 2007, 22:14
ill be back working full time on megui after 16th of feb.
i already have a prototype for the comp. check but no adjustments are made.
it only tells you the compression percentage in different colors (red from 0 to 45%, orange from 45 to 65% and green for results over 65%)
adjustments should be always a manual thing unless you want to create something that is aware of EVERY codecs option impact on compression and the same for EVERY possible avisynth filter...
berrinam
7th February 2007, 22:24
ill be back working full time on megui after 16th of feb.
i already have a prototype for the comp. check but no adjustments are made.
it only tells you the compression percentage in different colors (red from 0 to 45%, orange from 45 to 65% and green for results over 65%)Sounds good.
adjustments should be always a manual thing unless you want to create something that is aware of EVERY codecs option impact on compression and the same for EVERY possible avisynth filter...Not necessarily so. In particular, there are two things you could do:
Suppose that the bitrate of all codecs increases the same way as the resolution increases (I think that's a fair assumption). Then, find out how the resolution affects bitrate, and scale the resolution or bitrate accordingly, until your quality demands are satisfied.
Create a pluggable way to adjust codec settings, so that you can implement adjustments for individual codecs at a time (eg x264 first, then xvid, maybe never lavc or snow). You would do this by adding to the PluginManager another plugin type which had an interface like the following:
interface SettingsAdjuster
{
bool CanAdjustTheseSettings(VideoCodecSettings t);
VideoCodecSettings GetAdjustedSettings(double currentQualityPercent, double targetQualityPercent, VideoCodecSettings current);
}
This could allow for different behaviours of different codecs.
moadib2k
8th February 2007, 16:46
Zenitram introduced a bug in 0.7.4.4 of MediaInfo. In short, the dispaly aspect ratio string is wrong. If you use the numerical version your fine but if you use the "16/9" text there is a problem.
If you need a fix, I can pull the latest svn and compile a build for you. I don't know when he is going to release 0.7.4.5 but it should be soon.
For details see http://forum.doom9.org/showthread.php?t=96516&page=9
JarrettH
9th February 2007, 19:18
I had a couple good ideas for MeGUI in my dreams tonight. I only remember one of them :scared: :D
To save some time I think there should be a way to queue up the mux even if the audio or video file hasn't been created yet. You could point it to the directory where the files will appear...since the queue is obviously in an order by the time it gets to the mux the files will be there to join.
What do you think?:devil:
berrinam
9th February 2007, 20:57
Most of the time, autoencode should be satisfactory for that. When it isn't, there's nothing you can do for the moment, but a possibility for the future is MeGUI writing little placeholder files where it expects files to be.
smuthy
11th February 2007, 19:57
The avisynth cut functionality is great, however, there is a drawback with the current work flow;
Deinterlacing checks are made in the megui AVS script creator on the whole d2v file. This means that interlace behaviour in the adverts to be cut out will influence the interlace settings.
I've checked by running an interlace test with the adds in and edited out (using an mpeg2 editor) and got different results. Not sure how to fix this without possible some difficult changes to the work flow (putting avisynth cutter before avisymth creator?).
This can be got around by maunually inspecting the video and editing the avisynth file.
Not sure if this affects the crops - does the cropping refer to the frame visable in the preview?
Sorry for posting this in this form as its not really a bug or feature request.
squid_80
23rd February 2007, 13:28
@Devs: Can you update the version of xvid_encraw on the auto-update servers to the current one available on my homepage (http://members.optusnet.com.au/squid_80)? aviwriter.dll will have to be pushed out with it too. The reason I'm asking specifically for it to be done is because the older versions use the avifile API for writing avi files, and vista's avifile library is BROKEN. Newer versions use aviwriter.dll (made from virtualdub's avi writing code) so they should be ok.
Gilgamesh83
25th February 2007, 17:45
Hiya! Noob here with some things to say :p
Concerning the muxer avc2avi in megui, the problem that most users face is that when using the FPS 23.976 it results in a 23.975 FPS on the file written this also applies to convertfps=23.976 in avisynth files. What i have figured out is that when using the FPS 23.9762 instead of 23.976 fixes the problem thus when using avc2avi_gui.exe with avc2avi and writing 23.9762 in the FPS field the correct FPS is the used for the file and this also applies to convertfps command in avisynth. Well the reason I'm saying this is because I would like to be able to convert in batch mode but since meguis interface doesn't allow for manual input of FPS and one has to choose 23.976 which results in the error mentioned above. Well was wondering if this could be fixed in later revisions and also this seems to affect the FPS 119.88 which should be 119.881.
Oh and also the 23.9762 comes from the stats files header wich when converting 23.976 sources uses the 250000/10427 division.
Well thx for listening to my noob comment and keep up the good work :)
gino25
26th February 2007, 16:46
any news about linux port? Thank you
Sharktooth
26th February 2007, 19:47
cant do much without an internet connection at home...
jeffy
26th February 2007, 21:09
cant do much without an internet connection at home...
You can rest which should be good for you... not that bad, eh? :D
Sharktooth
27th February 2007, 16:40
well, i planned to do some stuff but the damn ISP told me the service was available in my (new) area while it isnt...
so i shall wait about 40 days until they move their a$$...
Sharktooth
8th March 2007, 17:02
Found some time at work to commit a bugfix:
0.2.4.1039
Commint by Sharx1976:
- Fixed 1672842 (x264 lossless broken)
- Fixed MediaInfoWrapper reference in the megui project
berrinam
10th March 2007, 13:27
Sharktooth: what do you think of DSpider's icons at http://sourceforge.net/tracker/index.php?func=detail&aid=1656502&group_id=156112&atid=798479
??
leinieman
12th March 2007, 21:24
I know I'm way over my head in this forum but I thought someone here would know what this error is trying to tell me. Any help appreciated.
MeGUI encountered a fatal error and may not be able to proceed. Reason: The given key was not present in the dictionary. Source of exception: mscorlib stacktrace: at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections. Generic. Diclionary ‘2.get_Item(TKey key)
at MeGUI.baseMuxWindow.convertLanguagesToISO()
at MeGUI.AdaptiveMuxWindow.getAdditionalStreams(SubStream[]& audio, SubStream[]& subtitles, String& chapters, String& output, ContainerType& cot)
at MeGUI.AutoEncodeWindow.queueButton_Click(Obiect sender, EventArgs e)
at System.Windows.Forms. Control. OnClick(EventArgs e)
at System. Windows. Forms. Button. OnClick(EventArgs e)
at System.Windows. Forms. Button. OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System .Windows. Forms. Control. WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System. Windows.Forms.Button. WndProc(Message& m)
at System.Windows.Forms. Control. ControlNativeWindow.OnMessage(Message& m)
at Systern.Windows. Forms. Control. ConfrolNativeWindow.WndProc(Message& m)
at System.Wiridows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPfr wparam, IntPtr iparam)
check
13th March 2007, 02:17
Not so helpful. Please post the error with more information (what you were doing, whatOS, etc etc) over on the big report tracker.
Doom9
13th March 2007, 10:19
@leinieman: bugs aren't the topic in this thread. Unless you know C# you have no business in this thread. You report is also severely lacking. Keep in mind that for bugs to be fixed, they first have to be reproduced.. with the amount of information you have provided, this is impossible. And I shouldn't have to ask which languages you had selected in the language dropdowns..
Soshen
13th March 2007, 18:57
@doom9
you think that can be add in megui the option for allow writing stats when is used the CBR pass?
imho this is the bigger problem of megui at now ^^;
leinieman
13th March 2007, 20:07
My humble apologies.
Adub
13th March 2007, 22:46
@Soshen
As doom9 would agree, judging by the content of his post right before yours, this isn't the thread for feature requests.
Sharktooth
14th March 2007, 01:13
Sharktooth: what do you think of DSpider's icons at http://sourceforge.net/tracker/index.php?func=detail&aid=1656502&group_id=156112&atid=798479
??
Uhm, i dont like them, but those are better than nothing.
Raere
30th March 2007, 04:58
I'm looking to do some changes to the meGUI form for a custom build for myself, but in the SVN repository on SF, all I see are the regular code files. Are the forms available anywhere to edit in Visual C#? Or are the forms built using some other program?
:thanks:
tebasuna51
5th April 2007, 02:23
You are using NicAudio.dll 2006-03-14 from Dimzon than crash when an ac3 frame with different parameters than the first arrive.
In this post (http://forum.doom9.org/showthread.php?t=114968) is exposed the problem and Nic make a new version 2006-09-01 (http://nic.dnsalias.com/NicAudio_alpha3.zip), based in last Dimzon sources with DRC.
This version is working fine by months with BeHappy, maybe you can add it to MEGUI install.
Edit: From 2007-02-24 this version is in Nic's Web Page (http://nic.dnsalias.com/nixaudiostuff.html) like v1.7
Eric B
9th April 2007, 13:48
I wonder why meGUI main window form is locked. It is quite boring not to be able to see the queue list in a bigger window.
Instead of setting the locked bool in the form, why not using proper anchoring, so that the GUI elements are resized when the main window is made bigger?
I wanted to do it in my own build by getting the sources, but I have some difficulties with CVS. I'm using TortoiseCVS under Windows, I set the proper CVSROOT in checkout, but I don't receive any file. Here my log:
Dans E:\Download\MeGui : "C:\Program Files\TortoiseCVS\cvs.exe" -q -z6 checkout -P MeGUI
CVSROOT=:pserver:anonymous@megui.cvs.sourceforge.net:/cvsroot/megui
Empty password used - try 'cvs login' with a real password
cvs checkout: in directory .:
cvs checkout: cannot open CVS/Entries for reading: No such file or directory
Succès : opération CVS terminée
What's wrong here?
cc979
9th April 2007, 14:21
because it got transfered to svn
https://svn.sourceforge.net/svnroot/megui/
Eric B
9th April 2007, 15:45
ok, so I've taken TortoiseSVN and now, I've the sources.
PS: It could be nice to edit the code page in sourceforge and saying that only SVN is used.
so, I've opened the solution in VS (and for Raere, the forms are there too, check under core\gui).
1) I've renamed "Form1" to "MainForm"
2) I've edited the form & control properties, adding the following:
this.autoEncodeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.resetButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.log.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
and removed
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
and now, I have a GUI which can be resized.
All others controls seems indeed to be already set with the proper anchoring.
Is it possible to have the same behavior in the "normal" build? If not, why?
S¡nTë£
11th April 2007, 16:23
Is there a specific reason why megui ignores the output file name when encoding from AVS to x264 (either mp4 or mkv)? It always encodes to the same location/filename of the input with the extension of the output format.
I had 4 jobs based on the same avs where i specified different output filenames, but in the end each one overwrote the previous, which was a major loss of time.
check
11th April 2007, 17:39
use the [...] button to specify the output location.
mcka
12th April 2007, 05:35
Hi!
What about making MeGUI create anamorphic videos which work with Quicktime/AppleTV/IPod? If you create an anamorphic video (e.g. H.264/MP4) using MeGUI, it works with VLC, but not with Apple products. But this problem seems to be solvable if you set PAR in the MP4 container using Quicktime Pro:
http://discussions.apple.com/thread.jspa?messageID=4297526
http://appletvhacker.blogspot.com/2007/03/mikes-hands-on-report-step-by-step-how.html
People from handbrake/MediaFork have made anamorphic MP4 work with Quicktime by adding an "atom" to the MP4 container:
The container in beta2 remains .mp4, with a .mov atom patched in for QuickTime support. QT still doesn't recognize PAR...the atom applies a transformation matrix, similar to setting the DAR in an .mkv.
http://handbrake.m0k.org/forum/viewtopic.php?t=256
http://handbrake.m0k.org/forum/viewtopic.php?t=265
AFAIK that's done by the following patch:
http://handbrake.m0k.org/trac/changeset/353
One of the patched files belongs to mpeg4ip:
http://mpeg4ip.cvs.sourceforge.net/mpeg4ip/mpeg4ip/lib/mp4v2/atom_tkhd.cpp?view=markup
Do you think this could be implemented in MeGUI too?
best regards
mcka
Doom9
12th April 2007, 20:52
there's a lot of discussion about the whole aspect ratio thing in the megui threads.. there are good reasons why things are done the way they are being done now but I don't recall those offhand.. berrinam did all the research and coded the version that is now used.
I strongly object to any time investment to support the POS software Apple writes.. their MPEG4 video products are a disgrace.
McCauley
15th April 2007, 16:11
Hi,
i would like to suggest an option to use multipass and huffyuv in a more efficient way:
It's not my idea, i borrowed it from a IRC conversation.
While the Huffyuv is created the output could be used at the same time for the first pass, that would save some encoding time.
Have a look at this (http://akuvian.org/src/avisynth/avs2yuv/).
Are there any reasons why this isn't implemented?
Regards
McCauley
Doom9
15th April 2007, 18:24
Are there any reasons why this isn't implemented?Because we don't use mencoder for the main video encoding scenarios? mencoder as primary encoder was dropped for various good reasons that have all been publicly stated (there even was some discussion about it in this very forum).
squid_80
16th April 2007, 01:24
There's an avisynth plugin called twriteavi that can write a huffyuv avi file while the first pass is being done. With some clever scripting it's possible to use the exact same script for first and second passes, but the second pass actually uses the huffyuv avi written during the first pass as the source. It's not something I'd recommend be added to MeGUI (too many things to go wrong), but it is a possibility for people who want speed and know how to manually write scripts.
mcka
19th April 2007, 17:28
there's a lot of discussion about the whole aspect ratio thing in the megui threads.. there are good reasons why things are done the way they are being done now but I don't recall those offhand.. berrinam did all the research and coded the version that is now used.
I'm quite sure your solution is the better solution. I don't ask to change the way Aspect Ratio is implemented. Perhapy only a small option/flag like "add QT-compatible AR information". You probably think that nobody should use QT, but you cannot choose a different player if you want to use FrontRow (Apples Media Center, Apple TV...). AFAIK you don't need to change the way you set the AR, you only have to add an extra atom to the MP4 container, which doesn't bother other players. Currently only Quicktime Pro and Hanbrake SVN support that. Because I like MeGUI a lot more, I'd like to use it for encoding Apple-compatible, anamorphic videos.
Can you tell me if "adding an atom to the mp4 container" is implemented in MeGUI itself or mp4box? Perhaps I could try to write a patch and you could decide on that?
Doom9
19th April 2007, 17:43
megui doesn't do anything on a container level (or encoding level for that matter).. it's strictly a control application (well, almost strictly, it does some audio decoding via avisynth and pipes that data to audio encoders).
thuongshoo
27th April 2007, 09:05
Hi! I like to have newest source code of MeGui. Version which is at SourceForge is too old 0.2.3.x
Thanks!
check
27th April 2007, 15:31
browse the svn @ sourceforge for the latest revision.
bob0r
28th April 2007, 16:32
or http://x264.nl for a compile (still revision 117)
thuongshoo
5th May 2007, 09:52
@check: I have not still got newest version. In tag directory, newest version is 2193
Version Megui , is at x264.nl, has many new feature but also lost many old feature such as: in queue tab, click button "load", then ... nothing....
Thunderbolt8
9th May 2007, 16:09
my megui doesnt update any more, it just saying "There are 0 files that can be updated". its been like this for ~1 month now (?) and even continues after I reinstalled windows & megui completely. I dont believe there would be nothing to update since that long time e.g. x264 version is from 635, while 655 seems to be the latest right now, or dgindex still bein 1.48 etc.
the 2 update servers in the update list I have are the 2 standard ones.
chickenmonger
10th May 2007, 00:44
my megui doesnt update any more, it just saying "There are 0 files that can be updated". its been like this for ~1 month now (?) and even continues after I reinstalled windows & megui completely. I dont believe there would be nothing to update since that long time e.g. x264 version is from 635, while 655 seems to be the latest right now, or dgindex still bein 1.48 etc.
the 2 update servers in the update list I have are the 2 standard ones.
Check has created an alternate unofficial update site that's described in this post (http://forum.doom9.org/showthread.php?p=996003#post996003). It might be just what you're looking for.
Thunderbolt8
10th May 2007, 17:22
thanks, but it still doesnt work, theres also no update coming from that update site.
berrinam
13th May 2007, 06:40
Bug bash:
0.2.4.1040
Commit by berrinam:
- Small new feature: AutoEncode has better filesize choosers.
(addresses 1654588)
- If the bitrate calculator doesn't contain an appropriate framerate, one is added
(fixes 1676934, includes code from there)
- Removed the unused avsConfigurationDialog.cs
- Fixed 1652664 (no commandline previews)
- Fixed 1653755 (Muxer reports audio in wrong notation)
- Fixed 1679572 (Turbo Mode in LMP4 multipass sometimes not selectable)
- Fixed 1696067 (Video encoding doesn't use the specified filename)
(a duplicate of 1653186: Video Output not passed to commandline)
- Fixed 1688789 (One Click Encoder Crashes with Automatic Deinterlace checked)
- Fixed 1675408 (mkvmerge split option incorrect)
- Fixed 1666878 (Vobsubber changing output doesn't work)
- Fixed 1659596 (Load DLL in Avisynth configuration dialog)
- Fixed 1652312 (xvid b-frames default wrong)
The filesize displays meant some biggish internal changes, so there may be some new bugs in displaying and calculating filesizes.
JarrettH
13th May 2007, 07:09
omgosh an update!
thank you so much team!
no download to be found for 1040
berrinam
13th May 2007, 22:16
What range of values does XviD cq allow?
check
14th May 2007, 03:18
It should be 1-31.
berrinam
14th May 2007, 08:09
Some cosmetic features this time.
0.2.4.1041
Commit by berrinam:
- Allow non-integer XviD quantizers (1650574)
- Make the main window expandable (1704963)
- Groups of jobs can be moved up and down in the queue (1685623)
- Allow autoscrolling the log (1661785)
Raere
14th May 2007, 17:45
Thanks for the cosmetic fixes! I've been waiting for those. Is there any chance that they'll be a feature that'll save the position of the tab things in the queue window? Like, the size in pixels would be saved to a file and read when you started up meGUI. I like to have them just right so that it fits nicely into the window.
bob0r
14th May 2007, 18:21
x264.nl: 14-05-07: megui 0.2.4.1041 added
berrinam
14th May 2007, 21:24
@Raere: it's a possibility. Please don't ask for it here, though, but on the SourceForge bug tracker. See my signature
dinolib
14th May 2007, 22:30
Since latest update (core 0.2.4.1041) Autoupdate button doesn't work anymore. I click but nothing happends!:confused:
Video Input: avs
Video output: mp4 (x264)
Audio input: avi (mp3)
Audio output: mp4 (aac)
I'm used to work with these settings and I've done tons of encodings, but now autoencode button is died.
Can anyone check, please?
Thanks
-----------------------
update: rolled back to 0.2.4.1039 and everything is ok.
-----------------------
update 2: version 1041 works using menu for autoencode
SpAwN_gUy
17th May 2007, 16:43
Well,.. guys,.. i'm currently adding support for x264farm to MeGUI, as far as i'm not so good C# programmer.. i have few questions on using profiles,.. can anybody contact me via e-mail or iCQ ? ...
it seems like new encoder-Property works (i've been working for 3 days already..).. i'm not sure if Job addition does(didn't try that).. and i think i have settings properly made :) ... and commandline generation..
now i need(or want) to add "ProfileControl" to show up x264Configuration itself.. and then get some needed params..
BUT.. i'm currently lost in those lines(looked throug code):
profileHandler = new ProfilesControlHandler<VideoCodecSettings, VideoInfo>("Video", mainForm, profileControl1,
x264codecHandler.EditSettings, Empty.Getter,
x264codecHandler.Getter, x264codecHandler.Setter);
x264codecHandler = new SingleConfigurerHandler<VideoCodecSettings, VideoInfo, VideoCodec, VideoEncoderType>(profileHandler, CodecManager.X264);
ProfilesControlHandler<VideoCodecSettings, VideoInfo> profileHandler = new ProfilesControlHandler<VideoCodecSettings, VideoInfo>(
"Video", mainForm, profileControl1, CodecManager.X264, Empty.Getter,
new SettingsGetter<AviSynthSettings>(settingsProvider.GetCurrentSettings), new SettingsSetter<AviSynthSettings>(settingsProvider.LoadSettings));
SingleConfigurerHandler<AviSynthSettings, Empty, int, int> configurerHandler = new SingleConfigurerHandler<AviSynthSettings, Empty, int, int>(profileHandler, settingsProvider);
configurerHandler.ProfileChanged += new SelectedProfileChangedEvent(ProfileChanged);
well,.. i don't need All Codecs(as MultipleConfigurersHandler) and i need(i think) "SingleConfigurerHandler" ... but i can see sample only for AviSynth.. wich is not what i need :)
help. :)
Doom9
17th May 2007, 16:59
@berrinam: could it be that you didn't close all bugs/feature requests that you recently implemented?
mitsubishi
17th May 2007, 17:45
I'm glad to hear that I can now use a decimal for cq in Xvid without having to break to command line.
But is this all on autoupdate?
I have 1039 and nothing has updated in a week or so..
Raere
17th May 2007, 18:25
Instead of sitting around and waiting for autoupdate to work, you could just manually download it from x264.nl. It looks like it's broken; it's not going to fix itself if you wait long enough.
Also, I wish I could help you, SpAwN_gUy, but keep it up!
I'm glad to hear that I can now use a decimal for cq in Xvid without having to break to command line.
But is this all on autoupdate?
I have 1039 and nothing has updated in a week or so..
try the new update server from check: http://forum.doom9.org/showthread.php?p=996003#post996003
check
18th May 2007, 03:53
my new update server was closed again now that development has resumed :) I will be keeping it in sync with megui.org
ChronoCross
18th May 2007, 17:33
also remember that you need to switch the updater to the development branch.
Doom9
19th May 2007, 23:05
I have a serious problem with all those people abusing this thread for all kinds of non development related stuff. Get back to topic or familiarize yourself with rule 16.
homerpez
20th May 2007, 15:55
Newest build will not load ANY video-related AVS files.. Tried numerous times... brings up a "protected memory" error
VirtualDub Mod loads the same AVS files just fine.
http://forum.doom9.org/showthread.php?t=125971
This is pretty serious, as it means I can no longer use MeGUI to encode basically anything, and I don't completely know how to go back and fix this...
HELP!
---------------------------------------------------------------
EDIT: I don't know if this was entirely necessary...
We have discovered that you have violated forum rule #16 in one of your posts. If you violate the forum rules 2 more times you will be suspended for 30 days.
You really should've read the post right above yours.
I only posted that as I thought it had to do with the development of MeGUI (addressing a potential serious bug)... I guess my apologies if I was confused as to what a "development" thread is for... yikes...!
Doom9
24th May 2007, 08:23
@Lolitka: this would be a topic for the development forum at the bottom.
Lolitka
24th May 2007, 08:40
Ok ... moved :)
GenoSV
29th May 2007, 16:31
hope noone'll get mad when I post this in this thread (know this is the development-thread so, but since the problem was brought up here, hope it's ok guys)
Newest build will not load ANY video-related AVS files.. Tried numerous times... brings up a "protected memory" error
VirtualDub Mod loads the same AVS files just fine.
Hadn't used megui for a while, and just got it again yesterday. Ran into the same problem as you.
Although, if i disabled "Open Preview after Avisynth script selection" the error won't happen, and I succesfully managed to encode several videoclips after that.
So:
Open MeGUI -> Tools -> Settings -> uncheck "Open Preview after Avisynth script selection" -> Save
Hope it works for you too =)
Mutant_Fruit
2nd June 2007, 00:01
Not so much a bug as a huge performance hit...
When encoding audio in MeGUI the GUI is updated several dozen (or more) times a second. This results in MeGUI taking a huge proportion of CPU time to keep the gui updated.
The code should be altered so that the screen is only refreshed once a second (or thereabouts). For people on single cores (or people using multithreaded audio encoders), it'll vastly increase encoding speed for audio.
At the moment MeGUI is taking up 60-70% of one of my cores due to the frequent GUI updates.
This is a known issue, so please just wait patiently like the rest of us.
Mutant_Fruit
4th June 2007, 14:53
This is a known issue, so please just wait patiently like the rest of us.
Rightio. I didn't realise it was a known issue.
Mutant_Fruit
4th June 2007, 16:12
Ok, i've worked up a quick workaround. The way the code is structured doesn't lend itself well to doing delayed GUI updates, so this is more of a hack than a full solution. However, it may be the best solution as it involves the minimum amount of code change.
If one of the full-time dev's has a better solution, let me know.
Warren
5th June 2007, 23:42
Has anyone looked at compiling this with mono lately? It appears that mono supports .NET 2.0 and part of 3.0 now (http://mono-project.com/CSharp_Compiler)
Mutant_Fruit
6th June 2007, 01:42
It won't run on mono as it uses methods which aren't suppoted as of yet. Secondly, the necessary 3rd party libs don't exist on linux/macos x yet, so the advantage of being able to run MeGUI is nil as you won't be able to do anything useful with it ;) Basically, you need Avisynth 3, which ain't out yet.
Mutant_Fruit
9th June 2007, 16:03
Ok, i've worked up a quick workaround. The way the code is structured doesn't lend itself well to doing delayed GUI updates, so this is more of a hack than a full solution. However, it may be the best solution as it involves the minimum amount of code change.
If one of the full-time dev's has a better solution, let me know.
Any comments on the patch? It's only a three liner, so it should be easy to review ;)
check
9th June 2007, 17:53
There are sadly only three devs (berrinam - the main one, sharktooth, and doom9). All three have put up signs saying "no time sorry", so sadly you might be waiting a long while. On the other hand, I am interested in putting up an alternate update mirror again ;)
Mutant_Fruit
10th June 2007, 01:32
I'll port MeGUI to mono along with the change i put above over the next few days and you can mirror it if you want. I may ping the dev's and see what the story is.
berrinam
30th June 2007, 02:29
Hi everyone, I'm back for a little while.
@Mutant_Fruit: I haven't yet looked at your patch, but I will probably be happy to commit it to SVN. How's the port going? I'm not entirely sure why a port is necessary, given that MeGUI still needs a lot more work to run on Linux anyway...
berrinam
30th June 2007, 04:19
0.2.4.1042
Commit by berrinam:
- Make main window maximizable (1734262)
- Fixed 1648638 with Mutant_Fruit's patch
- Fixed 1737423 adapting foxyshadis's patch
- Fixed 1734260 (must select profile in AVS creator for settings to be applied)
- Fixed 1728899 (AutoEncode button does not work)
- Fixed 1728890 (mp4box problem). mp4box muxes now use the output file's folder as the temp dir
- Fixed 1727973 (crop limit 200 pixels). The crop limit is now half the video's size
- Fixed inability to serialise jobs created with non-adaptive muxers
- Fixed 1659923 (Audio Delay ignored in muxer)
More still to come.
berrinam
30th June 2007, 11:16
0.2.4.1043
Commit by berrinam:
- Add support for AVI-Mux GUI muxing
It's not in AutoUpdate, because putting it there would crash current MeGUIs. I've fixed that bug in 0.2.3.1043; I'm going to wait about a week for people to update to 1043 before putting AVI-Mux GUI on AutoUpdate. In the meantime, you can get it from http://www.alexander-noe.com/video/amg/
Doom9
30th June 2007, 11:45
I'm not entirely sure why a port is necessary, given that MeGUI still needs a lot more work to run on Linux anyway...Not really megui.. rather the other way round :) You can all but forget AviSynth under Linux at this point, and there are various support programs (the video codecs may be open source, but other than lame and faac audio encoding on LInux is rather limited) that require windows, including support libs (e.g. mediainfo).
What Sharktooth is/was trying is to change megui, rolling back to using mencoder for all encoding purposes and at the same time convert all avisynth based stuff to use mencoder as well (which will never yield as much flexibility as we have with avisynth). Megui stands and falls with AviSynth - it's a very central component.
berrinam
30th June 2007, 12:05
0.2.4.1044
Commit by berrinam:
- Allow future programs to be added to AutoUpdate without crashing
rack04
30th June 2007, 16:26
Are these updates on the update server? MeGUI doesn't find any updates. Thanks for the great work.
Selur
30th June 2007, 23:07
@rack04: Tools->Settings->Extra Config->Configure Servers->Auto-update Servers->Developement
---
Did anyone check if "Add support for AVI-Mux GUI muxing"
also fixes 1646837 ?
(will check later; going to sleep now :))
Cu Selur
berrinam
1st July 2007, 02:25
0.2.5.1001 Libs update
- Same as 0.2.4.1038, but corrected because autoupdate had an old version
0.2.5.1001
Commit by berrinam:
- Add support for BeSplit audio cutting/joining, based on cutlists
See http://mewiki.project357.com/wiki/MeGUI:Audio_cutter for details.
@Selur: it should be fixed, but I'll see later.
thanks for the Audio GUI Update fix!
Rock on!
Selur
1st July 2007, 16:35
@berrinam: just tested, avi(Xvid/mp3) encoding work again.
Did the besplit support kill the cultlist support in the main window?
just tried to encode with a cutlist and got:
Log for job job1
Error:
MeGUI.AviSynthException: Script error: Invalid arguments to function "BlankClip"
bei MeGUI.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
bei MeGUI.AviSynthAudioEncoder.encode()
----------------------------------------------------------------------------------------------------------
The current job contains errors. Skipping chained jobs
encoding without the cutlist works fine.
JarrettH
1st July 2007, 18:35
is it safe to just update x264.exe myself? does auto-update use a different compile from the x264 website?
auto-update also has not final DG index 1.4.9
mp4 box 0.4.4 http://kurtnoise.free.fr/mp4tools/MP4Box-0.4.4.zip
berrinam
1st July 2007, 22:42
@berrinam: just tested, avi(Xvid/mp3) encoding work again.Great!
Did the besplit support kill the cultlist support in the main window?
just tried to encode with a cutlist and got:
Log for job job1
Error:
MeGUI.AviSynthException: Script error: Invalid arguments to function "BlankClip"
bei MeGUI.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
bei MeGUI.AviSynthAudioEncoder.encode()
----------------------------------------------------------------------------------------------------------
The current job contains errors. Skipping chained jobs
encoding without the cutlist works fine.That's a bug, which is weird, because I haven't touched that code...
Can you add it to Sourceforge please?
is it safe to just update x264.exe myself? does auto-update use a different compile from the x264 website?Yes, because x264 tends not to require a different calling syntax.
auto-update also has not final DG index 1.4.9
mp4 box 0.4.4 http://kurtnoise.free.fr/mp4tools/MP4Box-0.4.4.zip
I wouldn't replace them if I were you, because they are more likely to break MeGUI. Furthermore, what advantages are you likely to get? With x264, speed and compressibility, but nothing so clear with mp4box and DGIndex.
Selur
1st July 2007, 22:51
Can you add it to Sourceforge please?
I'll write a post in the bug tracker tomorrow :)
-> done
berrinam
2nd July 2007, 06:51
0.2.5.1004
Commit by berrinam:
- Fixed avc2avi muxing (d'oh!)
- Fixed error on corrupt input in Adaptive Muxer
0.2.5.1003
Commit by berrinam:
- Nicer progress window displaying consistent information for all jobs
(and much nicer internal code)
0.2.5.1002
Commit by berrinam:
- Removed the DivX avi muxer
- Fixed up mux-path-finding with AutoEncode+AddSubsNChapters to support changing output format with same codec.
Result: you can now encode to AVI through AutoEncode+AddSubsNChapters
mitsubishi
2nd July 2007, 09:05
Audio encoding seems to be broken now, I'm guessing because of the new progress window. If trying to start with an audio:
http://img179.imageshack.us/img179/7477/meaudvi5.png
If coming after a video, then meGui crashes and the previous video job gets stuck in "processing"
berrinam
2nd July 2007, 09:11
I'm aware of the bug, and my working copy has a fix. But I still need to make some other changes before releasing it.
berrinam
2nd July 2007, 14:28
0.2.5.1005
Commit by berrinam:
- Fixed audio encoding
- Fixed ColorCorrect's missing 'interlaced=true' on interlaced sources
deets
2nd July 2007, 19:08
is the fps in the queue after an encode now gone, or is just me?
kOoL tHuG
2nd July 2007, 20:57
Where can i get MeGUI Build 0.2.5.1005????????
Thanks in Advance
deets
2nd July 2007, 20:59
Where can i get MeGUI Build 0.2.5.1005????????
Thanks in Advance
auto update? if its set to developer?
berrinam
3rd July 2007, 00:17
0.2.5.1006
Commit by berrinam:
- Applied chiklit8963's patch for 1696276 (Ask whether to overwrite file if already exists)
berrinam
4th July 2007, 07:19
0.2.5.1007
Commit by berrinam:
- Fixed some profile behaviour bugs in OneClick window
- Added a help button to all the windows, which links to the relevant page on http://mewiki.project357.com/wiki/Main_Page
bob0r
4th July 2007, 09:30
Please update x264 to revision 663, this x264 revision fixes some blocking issue with certain h.264 decoders.
megui 0.2.5.1007 is on http://x264.nl
fight2win
4th July 2007, 18:37
0.2.4.1043
Commit by berrinam:
- Add support for AVI-Mux GUI muxing
It's not in AutoUpdate, because putting it there would crash current MeGUIs. I've fixed that bug in 0.2.3.1043; I'm going to wait about a week for people to update to 1043 before putting AVI-Mux GUI on AutoUpdate. In the meantime, you can get it from http://www.alexander-noe.com/video/amg/
is it working in vista?
You Rule Berrinam! Keep up the good work. Thank you very much!
Mutant_Fruit
5th July 2007, 05:17
I'm not entirely sure why a port is necessary, given that MeGUI still needs a lot more work to run on Linux anyway...
I got it all up and running, but there are a fair few rendering issues in Mono which are (i think) currently being worked on. So at the moment it doesn't look particularly pretty, but does run.
The port was mostly to see how it ran under mono, so i could report bugs and suchlike to the mono team (i'm currently interning at novell and working on mono ;) ). So hopefully when avisynth does get finished everything will render beautifully.
Selur
5th July 2007, 06:26
little 'bug' (since latest versions) in Automatic Encoding -> Size and Bitrate:
When entering an average bitrate, filesize is calculated, but not the other way around. :(
Iirc in older versions one could entering a file size and the resulting average bitrate was calculated and shown. ;)
Cu Selur
Ps.: didn't post this in the tracker since I'm not totally sure if it really was possible in older versions and this is a bug or if it wasn't and it's a feature request. ;)
berrinam
8th July 2007, 01:16
0.2.6.1001
Commit by berrinam:
- Parallel job execution. See http://mewiki.project357.com/wiki/MeGUI:Parallel_job_execution for details.
SkilledAbbot
8th July 2007, 06:35
Mr. Berrinam,
Is the Job Worker Feature only applicable to multi-cored PCs?
0.2.6.1001
Commit by berrinam:
- Parallel job execution. See http://mewiki.project357.com/wiki/MeGUI:Parallel_job_execution for details.
berrinam
8th July 2007, 07:45
Well, you'll only get speed gains on multi-core (and for the video encoders, only small gains). But the ability to run jobs now, without waiting for other jobs to finish is available to all PCs
SkilledAbbot
8th July 2007, 12:31
I see. Thank you. I went back to 0.2.5.1007 though . . . for now.
Here's a little something I saw, some of the help buttons throw a fatal error, but the meguiwiki still opens up fine.
seggitek
8th July 2007, 13:44
I hope this is the right place to post this. I noticed that I can't rename the video output file in MeGUI. Regardless what filename I enter the output video is always rendered to the file suggestes by MeGUI by default.
Example:
I load my file called nighty_frags.avs
MeGUI inserts nighty_frags.mp4 into the output filename textbox
I change this to nighty_frags_aqstrength05.mp4 but in the queue there is always nighty_frags.mp4 as output filename and the video is also rendered to that file.
I'm using MeGUI 0.2.5.1007
^ just change the name of the .avs file to whatever filename you want instead.
Dot50Cal
15th July 2007, 02:09
Just curious if it would be possible to support the Logitech G15 keyboard's LCD screen in Megui? Im often times using my monitor for other tasks while encoding, and it would be great to have it display the percentage, time left etc on the LCD screen. Has anyone thought of this?
anybody
19th July 2007, 14:59
With 0.2.6.1001, in the AviSynth script generator,
i always get a
ColorMatrix(hints=true,interlaced=true)
for progressive sources.
This happens when "Deinterlace: Do nothing" is selected, which is the default after analyzing a progressive source... I have to manually uncheck the Deinterlace checkbox to get rid of the interlaced=true option.
Other than that, i'm pretty happy with the new 2.6.1001 version, the new worker thing is cool and seems to work fine for me :-)
check
20th July 2007, 18:42
This thread is not for support, or for reporting bugs, or for suggesting features. This is for megui coding work!
A patch has been made available here to fix mp4box muxing: http://forum.doom9.org/showthread.php?p=1026270#post1026270
chros
29th August 2007, 20:47
I have invastigated the calculator, and I don't understand the given DVD sizes. eg:
- if a 1 DVD: 4586496 ,
- how come a 1/4 DVD : 1126400 (*4: only 4505600; which is 80896 minus KB or 79 MB minus)
Is this for the file-overhead of the DVD structure? But 79 MB ?
And is this DVD size for DVD+5 discs?
Thanks
Sharktooth
30th August 2007, 13:21
ask doom9. IIRC it was him to code the bitrate calc.
Kurtnoise
30th August 2007, 20:22
Can we discuss freely the future meGUI development here or should I use my SF account ?
I played with the code during few days last week and I changed several things (mostly redesign and fixed some bugs).
I need to play again with the sources though...:D C# is quite new for me.
I plan to add Aften encoder and redesign some other parts...
Sharktooth
31st August 2007, 01:52
we can discuss here, but if you have feature requests it's better you post them into the appropriate place.
however if you're interested in megui development i can add you to the project devs and give you svn write access since i sincerely have almost no time to contribute to megui dev at least for the near future.
Kurtnoise
31st August 2007, 07:33
My free time is also limited. :)
For the moment, I haven't features requests. Aften encoder was already mentioned by someone else in the tracker.
The only thing I would like to have, it's some feedback about redesign. If it's ok to speak about that here, I'll post some shoots soon (better to have pictures than code concerning design, isnt it ?)...Let me just finish to play with the sources. I'll be in vacation the next week.
btw, thanks for the offer about svn write access. :)
chros
31st August 2007, 08:03
ask doom9. IIRC it was him to code the bitrate calc.
Thanks Sharktooth, I think it's a little bug, so I'll post it in the proper topic ...
EDIT: I can't post in the proper topic: it's closed ... :)
So where should I post it?
@Kurt.: It would be nice to see Aften in megui ...
Thanks
berrinam
31st August 2007, 08:07
I don't have much to say right now, just encouraging Kurtnoise with contribution to MeGUI, and I'm happy if you want to redesign. I'll read what you post, but probably won't code much.
chickenmonger
1st September 2007, 00:31
Thanks Sharktooth, I think it's a little bug, so I'll post it in the proper topic ...
EDIT: I can't post in the proper topic: it's closed ... :)
So where should I post it?
@Kurt.: It would be nice to see Aften in megui ...
Thanks
I'd say the bug tracker (https://sourceforge.net/tracker/?group_id=156112&atid=798476) on SF.
Bigmango
3rd September 2007, 01:00
I'd say the bug tracker (https://sourceforge.net/tracker/?group_id=156112&atid=798476) on SF.
Are you sure ? The tracker doesn't seem to be used.
I see bugs listed there since 2006 and none of them has been assigned to anyone.
It rather looks like a good black hole to drop the bugs so they won't get lost until some kind soul resurects the project. :)
Sharktooth
3rd September 2007, 01:08
devs read it, so post it there.
berrinam
4th September 2007, 06:13
I never really assign to anyone, but I do fix a lot of bugs there, and I do appreciate people using that, as it's the easiest way to keep track. If you want evidence that it gets used, why not look at the list of 52 closed bugs?
Kurtnoise
4th September 2007, 09:04
Yes, it's a great feature...:) All users should use it to summit bugs.
Speaking of bugs, I've uploaded some patches here (http://kurtnoise.free.fr/MeGUI/) to fix them :
# 1758807
# 1767122
# 1772571
# 1785319
@devs : Feel free to submit them. Some other might follow...Otherwise, if you haven't time I'm ok to have the write access. (my login in SF is the same as D9 :: kurtnoise13)
ACrowley
4th September 2007, 10:13
Any Chance for a fixing the Time Calculation Engine ?
I mean :
1. "Elapsed Time" Value resets to zero after 24h
2. Remainig Time Value jumps around. Older Builds and x264 in cmd Window shows a more or less "static" Remaing Time Value
Kurtnoise
4th September 2007, 10:50
Why not posting in the SF bugs tracker instead of here ?
btw, I'll look at this...
berrinam
4th September 2007, 12:14
I've given you SVN access on SF. Have fun.
Sharktooth
4th September 2007, 12:37
mitsubishi posted a patch for megui. get it here: http://forum.doom9.org/showthread.php?p=1033012#post1033012
also i think we can now remove the tags folder, berrinam?
Kurtnoise
4th September 2007, 13:18
I've given you SVN access on SF. Have fun.
thanks...:)
The *big* question now : how to close bugs tickets ?
Sharktooth
4th September 2007, 13:29
http://img511.imageshack.us/img511/6140/bbhi0.th.png (http://img511.imageshack.us/my.php?image=bbhi0.png)
then hit the submit button on the bottom of the page
berrinam
4th September 2007, 13:54
mitsubishi posted a patch for megui. get it here: http://forum.doom9.org/showthread.php?p=1033012#post1033012
also i think we can now remove the tags folder, berrinam?
Sounds fine
Sharktooth
4th September 2007, 14:02
0.2.6.1002
Commit by Kurtnoise:
- "Do all and Close" button for the AVS Cutter. Patch by mitsubishi (http://forum.doom9.org/showthread.php?p=1033012#post1033012)
- PreRender fix. Patch by mitsubishi.
- fix a typo for the FFmpeg AC-3 Encoder Type.
- fix some typos for the MP4Box command line generator.
- ANSI Encoding type instead of UTF-8 for the chapters file saved + some revamping.
- add MP4 Container support for the XviD compressor.
- fix ac3 bitrate command line for the new FFmpeg builds.
P.S.: i removed the folders in Tags
i also think i closed all the bug-reports regarding the fixes in this version
Sharktooth
4th September 2007, 14:47
0.2.6.1003
Commit by Sharx1976:
- Fix One Click Encoder crash (patch by bbel)
- Drag&Drop support for avs input in main window (patch by dako-kun)
Sharktooth
4th September 2007, 15:00
since today it seems i have some free time i posted a couple of builds and i did a small cleanup on the project trackers. i also disabled the CVS since it's no longer in use.
@devs: please ensure to check the feature request tracker frequently.
EDIT: Where i can get the megui install script used for the 0.2.5.1007 release?
Kurtnoise
4th September 2007, 17:45
EDIT: Where i can get the megui install script used for the 0.2.5.1007 release?
you mean the NSIS script ?
btw, here is a screenshot of the audio part refactoring :
http://img211.imageshack.us/img211/9956/meguiaudioenc0409200718rv6.th.png (http://img211.imageshack.us/my.php?image=meguiaudioenc0409200718rv6.png)
A white panel on the top with a short text + the logo of the encoder with a direct link for download or something when we move the mouse on it.
What do you think about that ?
Note: the ND logo is free of charge (available for free on the official website (http://www.nero.com/eng/AppLogos_NDA.html))...
Sharktooth
4th September 2007, 17:56
yep the NSIS script.
some time ago i was thinking to add ftp download capabilities to the auto-updater so to fetch the nero encoder directly from their FTP. however, i like the encoder logo on the audio cfg window.
Bigmango
4th September 2007, 18:04
@ berrinam, Kurtnoise13, Sharktooth & Co
Thanks a lot for the great work on this app, it's good to know it is still updated :thanks:
Btw, if anyone of you guys happens to be looking at the source files, there is one very small fix I would like to use:
- increase the max possible nero audio (aac) bitrate from 320k to 640k (like the official nero gui allows 448k and 640k). This is primarily for multichannel audio.
Sharktooth
4th September 2007, 18:18
done.
Sharktooth
4th September 2007, 18:35
0.2.6.1004
Commit by Sharx1976:
- Always check to see if an event handler delegate is non-null before calling it (Patch by Sean McGovern)
- Increased the neroaac encoder max bitrate to 640kbps
- (Kurtnoise) add "Français" in the Language Selection (supported by the ISO 639 code and also needed for the parsing of the DVDDecrypter Info Text File)
Bigmango
4th September 2007, 18:42
Awesome ! :thanks:
Sharktooth
5th September 2007, 03:27
we have 27 bugs left in the megui bugtracker.
i suggest to concentrate our attention on fixing those bugs before implementing new features.
i think 0.2.5.xxxx is a bit too buggy to call it "stable".
what do you think?
Kurtnoise
5th September 2007, 07:47
we have 27 bugs left in the megui bugtracker.
i suggest to concentrate our attention on fixing those bugs before implementing new features.
yes, it's my main goal...:)
About NSIS script, try to ask to bob0r maybe...
Sharktooth
5th September 2007, 20:23
rev164 disables the updates if the avisynth plugins path is not found in the settings (that could mean avisynth is not installed since this path is get stright from the registry). afterall avisynth is required or megui wont work...
if you dont agree with that behaviour ill change it.
Sharktooth
5th September 2007, 21:00
0.2.6.1005
Commit by Sharx1976:
- Using Avisource() to open .avi files.
- Added a warning if avisynth is not installed and automatically disables the update button.
- (Kurtnoise) m4a extension missing for MKV mux.
- (Kurtnoise) allow m4a extension for AudioType.
- (Kurtnoise) Drag & Drop support for Audio Encoding.
- (Kurtnoise) Drap & Drop support for D2V Creator Tool (bug #1718007)
- (Kurtnoise) Drag & Drop support for the OneClick Tool. (bug #1718007)
- (Kurtnoise) remove Aften code...
- (Kurtnoise) -add Subtitles Streams Name for MKV and MP4 Muxer. -enable some missing features for the Muxers. Adaptive Muxer issues not fixed yet...
- (Kurtnoise) -add Subtitles Streams Name for MKV and MP4 Muxer. -enable some missing features for the Muxers. Adaptive Muxer issues not fixed yet...
Kurtnoise
5th September 2007, 21:01
I'm ok with it but the stored path in registry is not OS dependent ? I mean, is it the same name for Vista and XP/2K ?
Sharktooth
5th September 2007, 21:02
it should. however the user is warned to check if avisynth is installed AND if the path is set...
Kurtnoise
5th September 2007, 21:06
ok...great.
chickenmonger
5th September 2007, 22:38
Here's a tiny visual bug in the d2v creation window:
"Track1" and "Track 2"
http://www.imagehosting.com/out.php/t1106106_untitled.PNG (http://www.imagehosting.com/out.php/i1106106_untitled.PNG)
Here's what I hope is a patch to fix that single missing space. Let me know if I managed to do it correctly. It's my first time making a patch.
Index: VobinputWindow.cs
===================================================================
--- VobinputWindow.cs (revision 166)
+++ VobinputWindow.cs (working copy)
@@ -309,7 +309,7 @@
this.track1Label.Name = "track1Label";
this.track1Label.Size = new System.Drawing.Size(72, 23);
this.track1Label.TabIndex = 11;
- this.track1Label.Text = "Track1";
+ this.track1Label.Text = "Track 1";
//
// track2
//
Atak_Snajpera
5th September 2007, 22:53
0.2.6.1005
Commit by Sharx1976:
- Using Avisource() to open .avi files.
What If user has loseless HD avi larger than 2GB? I suggest OpenDMLSource instead of AVI...
squid_80
5th September 2007, 23:49
AVISource is just a wrapper for avifilesource and opendmlsource. It scans the avi file and uses whichever one is appropriate.
Sharktooth
6th September 2007, 02:25
Here's a tiny visual bug in the d2v creation window:
...
Done. Also added some logic to control the "Suggest resolution" control activation based on the "Resize" status.
Question for Berrinam: I see TIVTC 1.0.1 in the auto-update but it doesnt get updated (fixable)... but the point is, does megui already support version 1.0.1 (i have no interlaced content to test it and i dont wanna waste time in something you may have already did...)?
berrinam
6th September 2007, 08:55
I didn't put TIVTC 1.0.1 on the update servers, it was probably check, who kindly offered to manage and update them. I haven't done anything to change the interlacing, so that may have to be reverted to an older version which does still work with MeGUI.
Edit: Sometime, I plan to replace the auto-deinterlacing in MeGUI with my external program, bautodeint. It's a better analyser, and it will also be integrated into the job queue more nicely. (Being able to run small jobs like this without waiting for larger encodes to finish is one of my main motivations for having parallel job encoding)
check
6th September 2007, 10:59
I just updated TIVTC to the latest version a while ago. I have been using it without worries so far, but I dont use the MeGUI script creator much. Did I miss a problem with MeGUI & TIVTC 1.0.1?
Sharktooth
6th September 2007, 12:49
uhm... well, the problem may be the script creator. if TIVTC 1.0.1 has different parameters than the actual one (1.0RC6), the script created by MeGUI may not work.
Infact 1.0RC7 was reverted to 1.0RC6 for that reason until berrinam could have a look at the auto-deinterlacer and update it to support a newer TIVTC version.
Atak_Snajpera
7th September 2007, 00:14
Why MeGUI does not use Yadif deinterlacer? Yadif is faster, no artifacts and quality is comparable to TDeint
Sharktooth
7th September 2007, 02:06
well, probably it's not worth spending time on a function it is going to be replaced.
however that could be a suggestion for bautodeint... :)
Sharktooth
7th September 2007, 02:25
I just updated TIVTC to the latest version a while ago. I have been using it without worries so far, but I dont use the MeGUI script creator much. Did I miss a problem with MeGUI & TIVTC 1.0.1?
could you please try if MeGUI has problems with TIVTC 1.0.1 using the AVS creator?
Sharktooth
7th September 2007, 02:37
0.2.6.1006
Commit by Sharx1976:
- Fixed some visual interface glitches
- AVS Creator: Checking "Resize" enables "Suggest Resolution"
- AVS Creator: Checking "Suggest Resolution" automatically checks "Resize"
- (Kurtnoise) fix subtitles streams parsing when we have strings instead of numbers.
chickenmonger
7th September 2007, 05:29
The mewiki has changed slightly from what I've seen. What used to be:
http://mewiki.project357.com/wiki/Main_Page
is now
http://mewiki.project357.com/index.php/Main_Page
If this is a permanent change, the internal links in MeGUI should be updated.
Also, here's two more patches for minor visual errors:
Index: MuxProvider.cs
===================================================================
--- MuxProvider.cs (revision 170)
+++ MuxProvider.cs (working copy)
@@ -433,7 +433,7 @@
maxFilesOfType = new int[] { -1, -1, -1, 1 };
base.type = MuxerType.MKVMERGE;
generator = CommandLineGenerator.generateMkvmergeCommandline;
- name = "Mkv muxer";
+ name = "MKV Muxer";
// base.audioInputFilter = "All supported types (*.aac, *.ac3, *.dts, *.mp2, *.mp3, *.mp4, *.ogg)|*.aac;*.ac3;*.dts;*.mp2;*.mp3;*.mp4;*.ogg|RAW AAC Files (*.aac)|*.aac|AC3 Files (*.ac3)|*.ac3|DTS Files (*.dts)|*.dts" +
// "MP2 Files (*.mp2)|*.mp2|MP3 Files (*.mp3)|*.mp3|MP4 Audio Files (*.mp4)|*.mp4|Ogg Vorbis Files (*.ogg)|*.ogg";
// base.videoInputFilter = "All supported types (*.avi, *.mkv, *.mp4)|*.avi;*.mkv;*.mp4|AVI Files (*.avi)|*.avi|Matroska Files (*.mkv)|*.mkv|MP4 Files (*.mp4)|*.mp4";
Index: VobinputWindow.cs
===================================================================
--- VobinputWindow.cs (revision 170)
+++ VobinputWindow.cs (working copy)
@@ -382,7 +382,7 @@
this.projectNameLabel.Name = "projectNameLabel";
this.projectNameLabel.Size = new System.Drawing.Size(100, 13);
this.projectNameLabel.TabIndex = 3;
- this.projectNameLabel.Text = "d2v Project Ouput";
+ this.projectNameLabel.Text = "d2v Project Output";
//
// saveProjectDialog
//
Does anybody know of any current work being done on ContextHelp.xml? That's something even us non-programmers can handle. Also, the mewiki suggests that the preferred way to add a patch is through SF's patch tracker. Is this still the preferred way?
check
7th September 2007, 08:36
re: web site, please see my sig or http://forum.doom9.org/showthread.php?p=1042398#1328
Kurtnoise
7th September 2007, 09:30
@chickenmonger: done...:)
Sharktooth
7th September 2007, 13:58
0.2.6.1007
- (Sharx1976) New changelog format
- (Sharx1976) Fixed 1735676 (Video Output filename can't be changed directly)
- (Kurtnoise) fix wiki link
- (Kurtnoise) fix label typos
- (Kurtnoise) remove hint track option for NDAAC encoder + several tunings
- (Kurtnoise) few tunings for audio encoders
Atak_Snajpera
8th September 2007, 21:02
well, probably it's not worth spending time on a function it is going to be replaced.
By what? At the moment in terms of speed and quality Yadif is unbeaten.
chickenmonger
8th September 2007, 23:30
By what? At the moment in terms of speed and quality Yadif is unbeaten.
I think Sharktooth is talking about choosing to not integrate Yadif into MeGUI's current auto-deinterlacer, as there are tentative plans to replace the current auto-deinterlacer with Bautodeint instead. As Bautodeint is also AviSynth based, Yadif should be able to be integrated into it instead.
berrinam
9th September 2007, 00:16
I certainly want to add yadif to MeGUI. I already use it myself, using AVS templates in MeGUI. The automatic deinterlacing will still use the TIVTC package, because they provide filters such as TIsCombedTIVTC, but yadif should be offered as a possible filter if the source is detected as interlaced.
Sharktooth
9th September 2007, 01:49
I think Sharktooth is talking about choosing to not integrate Yadif into MeGUI's current auto-deinterlacer, as there are tentative plans to replace the current auto-deinterlacer with Bautodeint instead. As Bautodeint is also AviSynth based, Yadif should be able to be integrated into it instead.
exactly
@kurtnoise: thank you for your help with megui :)
Sharktooth
10th September 2007, 03:09
0.2.6.1009
- (Kurtnoise) fixed 1660566 (Audio Streams were discarded from command line in the Adaptive Muxer).
- (Kurtnoise) [AVS Creator] Add yadif.dll deinterlacer (also added to AutoUpdate)
- (Kurtnoise) [AVS Creator] Re-order deinterlacers, to prefer TDeint over TDeint+EEDI2, and yadif over TDeint
- (Kurtnoise) [MainForm] : some refactoring in the Help Menu.
- (Kurtnoise) added a TabControl for Program Paths.
- (Kurtnoise) updated MediaInfo.dll & MediaInfoWrapper.dll (0.7.4.4 to 0.7.5.3)
- (Kurtnoise) move Settings & Update items to Options Menu.
@kurtnoise: i saw you added yadif but yadif is an avisynth plugin... it is a nonsense to have a path for yadif.dll when we already have an avisynth plugins path.
it should be removed from the settings too since there is a special section in the upgrade.xml named:
<AviSynthFile type="tree" displayname="AviSynth plugins">
that includes ALL the avisynth plugins for the autoupdate. all files placed there will be automatically copied to the avisynth plugins directory stored in the settings.
the changes to to updatewindow.cs and settingsform.cs have be reverted and yadif.dll path removed from the settingsform.cs
Look at the upgrade.xml (http://megui.org/auto/upgrade.xml) file megui parses for the updates, it will make you understand better.
just adding:
<yadif type="file">
<filepath version="0.9">yadif09.zip</filepath>
</yadif>
in that section of the upgrade.xml file, will make megui download the yadif09.zip and unpack it in the avisynth plugins folder
so, i've built 0.2.6.1009 without fixing the yadif stuff since it's 5:00 AM and i need to sleep, but before fixing other bugs please have a look at the yadif stuff.
buzzqw
10th September 2007, 05:54
yadif should have a specific path for load since is a LoadCplugin..
in automkv (avaiable in next update) i added a cplugin folder for adding and loading all avisynth_C plugins. If cplugin folder is present and *.dll found i will load it with loadCplugin.. else skip
just my 0.02€
BHH
berrinam
10th September 2007, 06:41
Actually, I added yadif (and re-ordered the deinterlacers) -- you probably just misread the SVN log. Anyway, as buzzqw said, it's a C plugin, so it can't be put in the AVS plugins folder. This is why I put it in a MeGUI program files folder. If we will support more C plugins, then it might be worth doing what buzzqw does with automkv.
Sharktooth
10th September 2007, 12:46
Oops.... so where should yadif be added in the upgrade.xml?
EDIT: Nevermind, found it.
EDIT: There is a problem in the program paths browse buttons. they do not open the dialog.
Kurtnoise
10th September 2007, 13:17
EDIT: There is a problem in the program paths browse buttons. they do not open the dialog.
fixed...:o
bob0r
10th September 2007, 14:35
I compiled a fresh new megui, but when i run a clean install, updater keeps asking for this:
Trying server: http://megui.org/auto/stable/
Retrieving update file from server...
File downloaded successfully...
Loading update data...
Update data loaded successfully...
Finished parsing update file...
There are 1 files that can be updated.
Updating libs. File 1/1.
Error: libs could not be found on the server
Update completed.
0 files were completed successfully
1 files had problems.
Easy fix i assume...
Sharktooth
10th September 2007, 14:48
does it work now?
also where i can find the megui NSIS installer script you use?
bob0r
10th September 2007, 14:58
It works but uhm, aren't the libs i compiled newer and possibly needed??
http://x264.nl/megui.nsi
Edit:
Also why does the "new updates available" pop-up, pop up behind the main windows?
Sharktooth
10th September 2007, 15:02
Trying server: http://megui.org/auto/stable/
use the development auto-update server (look in the settings) :)
EDIT: is it ok if i add the installer script to megui svn? ... if so, who's the author?
bob0r
10th September 2007, 15:26
Uhm, you are the author?
former x264 installer script? :)
bob0r
10th September 2007, 15:30
Uhm, on the update server, isn't it a bad thing to use old LIBS for 0.2.6.1010+ ? Won't this create conflicts?
Sharktooth
10th September 2007, 15:38
LOL! ok.:)
however the libs are fine. there will be no conflict.
bob0r
10th September 2007, 15:44
Hmm, ok, good to know, 0.2.6.1010 added to x264.nl with new installer and some files removed that were no longer used!
Please fix the New Updates Available Pop-UP popping up behind the main window issue... it has annoyed me from day one :p
..... now all we need is a: MEGUI LOGO!
Sharktooth
10th September 2007, 15:55
eh...
Atak_Snajpera
10th September 2007, 16:52
AviSource won't open Avis with MJPEG compression, MPEG2 and so on. In case of error MeGUI should switch to DirectShowSource()
Sharktooth
10th September 2007, 16:55
That's tricky... however it will be able to do that if you have the respective VFW decoders installed and working (in ffdshow VFW config enable MPEG in AVI and MJPEG)
Atak_Snajpera
10th September 2007, 16:58
I've already fixed that in my GUI but I use Delphi so I cannot help you further
Sharktooth
10th September 2007, 16:59
it's not necessary. also it's tricky coz megui workflow codebase is more complex.
Sharktooth
10th September 2007, 18:01
0.2.6.1011
- (Sharktooth) [OneClick] Audio Track 2 is disabled by default unless "Show Advanced Options" is checked.
- (Sharktooth) [Autoupdate] Check if yadif.dll path was set before trying to update it...
also available here: http://sourceforge.net/project/showfiles.php?group_id=156112
Sharktooth
11th September 2007, 14:12
i've put the latest CD's build in the auto-update (dev) server. Please test if it works correctly.
bob0r
11th September 2007, 15:42
0.2.6.1011
1: you put start menu shortcut to point to: "C:\Program Files\trunk\dist\bigdist\megui.exe"
2: The Updates Available pop-up still pop ups behind the main window.
3: you cannot set yadif.dll path, because when you browse for it, you need the actual file.
Just set one default path for all none set program files?
%installdir%/tools would be a good place to dumb stuff :)
- Muxer/avimux_gui.exe also has no path set
- Audio/neroAacEnc.exe also has no path set
- Audio/besplit.exe also has no path set
Maybe just set default path to C:\Program Files\megui\tools\
Or C:\Program Files\megui\tools\<program name>\ for each .dll or .exe
icon for installer:
http://x264.nl/x264.ico (you already have it seems)
http://x264.nl/x264.bmp the logo inside the installer, use for dimensions to create your own! (now it looks ugly/weird)
Sharktooth
11th September 2007, 16:11
installer should be fixed.
i will put a new build up...
however i dont really know why the autoupdate pop-up just pops "under"...
nk
11th September 2007, 16:19
I can't see preview with new version of MeGUI)0.2.6.1011), becase of MediaInfoWrapper.dll.
If I use old version of MediaInfoWrapper.dll, I can see preview.
Sharktooth
11th September 2007, 16:34
0.2.6.1012
- (Sharktooth) [Autoupdate] Removed yadif.dll path check since it was impossible to set the path without already having yadif.
- (Sharktooth) Various Installer fixes.
@bobor: the installer stuff is located here: http://megui.svn.sourceforge.net/viewvc/megui/NSIS%20Installer%20script/
Sharktooth
11th September 2007, 16:34
I can't see preview with new version of MeGUI)0.2.6.1011), becase of MediaInfoWrapper.dll.
If I use old version of MediaInfoWrapper.dll, I can see preview.
are you sure? it works pretty well here.
are you on XP or Vista?
bob0r
11th September 2007, 18:06
@bobor: the installer stuff is located here: http://megui.svn.sourceforge.net/viewvc/megui/NSIS%20Installer%20script/
Hmm cool, maybe better to remove ANY spaces on SVN for any file or dir, for my auto scripts its very annoying :)
Just add _ or . or just remove spaces :cool:
I have added 0.2.6.1012 to x264.nl, if developement will be continuous again, ill have a script auto update once a day.
The more testers the better!
nk
11th September 2007, 22:54
are you sure? it works pretty well here.
are you on XP or Vista?
Vista. If it happens only on my environment, maybe something wrong with my envirnment.
This problem also happend at old version (I forgot version number, but not recent).
Additional Information:
MediaInfoWrapper(0.7.5.3 maybe latest version) does not properly work on my environment.
0,7.4.4 works fine.
If I open some avs file for video, an error dialog pops. It says wrong color space. But avs file's
color space is YV12.comverttoyv12() does not help me:mad:
MarcioAB
12th September 2007, 02:36
Is there any chance to see adaptive Q parms (--aq-strength and --aq-sensitivity) on MeGUI ?
Who knows why "adaptive Q" is not official in x264 (IMHO it should be) but anyway: it works great (at least for me).
It deserves a much better space in "Quantizers" Advanced tag than a "Custom Commandline Options" in Zones tag.
Thank you.
Sharktooth
12th September 2007, 14:03
@MarcioAB: NO. i already explained it in another thread and i also explained how to use those options with megui.
http://forum.doom9.org/showthread.php?t=129813
please dont crosspost.
@nk: thanks, i'll try to investigate the problem but i havent vista for testing...
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.