View Full Version : MeGUI development
Doom9
20th June 2005, 09:15
@Ligh: though that doesn't seem to be the problem here as he can play the file in a media player. But if you can, then we know the filters are available.. it's just that AVIFile works differently.. I really wished I could reproduce this somehow because right now I'm rather clueless... I know which call fails but I have no idea why.. I guess I need to read into the AVIFile API after all - unfortunately it's the one class I didn't write by myself and except for a small change to expose the video framerate I have never touched it.
But first... x264 custom matrices.
LigH
20th June 2005, 09:27
Before you get crazy about it - first we should try to find out if the reason is the 'CPAE'* bug.
The second idea: If you are often testing many different setups, a virtual PC might be the perfect solution; install, backup the harddisk file, check out... Some even support temporary disk operations which are discarded when the emulator closes, if I remember right. BOCHS is a free solution, but maybe a bit slow, I'm afraid?
__
* CPAE: "Codec Packs Are Evil"
Doom9
20th June 2005, 10:31
what is 'CPAE'*?
ahh.. saw it in your signature. Obviously I don't have time for 20 different setups so basically we need to compare configurations of cases where it fails to find out some common ground.
And before I forget, custom matrices are actually already supported since I have added a field to the x264 configuration where you can plug in additional commandline parameters.. just plug in a valid matrix configuration there and you're all set. And those settings are even saved in profiles :)
LigH
20th June 2005, 10:59
Signature? - No, just a "footnote"! ;) (Just made something similar to the "ID-10T error".)
stax76
20th June 2005, 12:08
AVIStreamGetFrameOpen failed
I'm struggling with such problems for years, when I was using DShow instead of avifile it was even worse. Recent months I didn't get any bug reports at all so I guess most issues are solved. Try open with AVSEdit!
http://www.planetdvb.net/AVSEdit_1.1.1.3.exe
there is a reg key where you can define which yv12 decoder to use, it's described in the AVSEdit topic
Doom9
20th June 2005, 12:24
@stax: what did you change in the avi opening routines in between the last release where this problem was reported and the last release?
GetFrameOpen certainly seems to point to a decoder problem. And I'm wondering why the problem does not ocurr in VDub.. could it be that it's using homebrewn routines rather than standard VfW ones, at least for certain tasks?
I did some more reading and found this: http://www.gamedev.net/reference/programming/features/avifile/page4.asp Makes me think the conversion to 24bit could be the culprit. http://www.shrinkwrapvb.com/avihelp/avihlp_3.htmseems to confirm that converting to 24 bit can be problematic.
stax76
20th June 2005, 13:12
there were a couple of different things that could cause trouble, color space, yv12 decoder, color depth and iirc even screen resolution. The functions taking care of it are:
string GetFourCC(int value)
{
byte[] bytes = BitConverter.GetBytes(value);
char[] chars = new char[4];
for (int i = 0; i < bytes.Length; i++)
chars[i] = Convert.ToChar(bytes[i]);
return new String(chars);
}
public void Open(string fileName)
{
try
{
AVIFileInit();
int OF_SHARE_DENY_WRITE = 32;
int result = AVIFileOpen(ref AviFile, fileName,
OF_SHARE_DENY_WRITE, 0);
if (result != 0)
throw new Exception("AVIFileOpen failed");
result = AVIFileGetStream(AviFile, out AviStream,
1935960438 /*FourCC for vids*/, 0);
if (result != 0)
throw new Exception("AVIFileGetStream failed");
FrameCountValue = AVIStreamLength(AviStream.ToInt32());
StreamInfo = new AVISTREAMINFO();
result = AVIStreamInfo(AviStream.ToInt32(), ref StreamInfo,
Marshal.SizeOf(StreamInfo));
if (result != 0)
throw new Exception("AVIStreamInfo failed");
if (GetFourCC(Convert.ToInt32(StreamInfo.fccHandler)) == "YV12")
FrameObject = AVIStreamGetFrameOpen(AviStream, 1);
else
FrameObject = AVIStreamGetFrameOpen(AviStream, 0);
if (FrameObject == IntPtr.Zero)
throw new Exception("AVIStreamGetFrameOpen failed");
}
catch (Exception ex)
{
MessageBox.Show("An error occurred. Maybe no YV12 decoder available, installing XviD, DivX or ffdshow might help.\r\n\r\n" +
ex.ToString(), Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
GetFrameOpen certainly seems to point to a decoder problem. And I'm wondering why the problem does not ocurr in VDub.. could it be that it's using homebrewn routines rather than standard VfW ones, at least for certain tasks?
I did some more reading and found this: http://www.gamedev.net/reference/pr...ifile/page4.asp Makes me think the conversion to 24bit could be the culprit. http://www.shrinkwrapvb.com/avihelp/avihlp_3.htmseems to confirm that converting to 24 bit can be problematic.
I don't know but you could ask Avery Lee
Doom9
20th June 2005, 14:12
thanks :)
Doom9
20th June 2005, 19:54
@xtknight: I managed to kill your muxer with my test scenarios :) And I scrapped everything but the idea of starting two threads besides the main processing thread.. but that seems to work as desired, even though mp4box still "runs away".. but at least I get the stdout, and when I'm not debugging I expect the GUI to stay on top of the mp4box process. Now it's time to turn that status window back alive.
xtknight
21st June 2005, 01:39
and there's another one if you're already working on that class.. run dgindex minimized.. the solution can be either found in the development forum or the avi.net thread.. I'm a participant in both discussions. Or perhaps it's in the old megui thread. Either way the solution is aready around, and it's a real easy fix
yup...see my reply in that thread:
http://forum.doom9.org/showthread.php?t=94578
@xtknight: I managed to kill your muxer with my test scenarios :) And I scrapped everything but the idea of starting two threads besides the main processing thread.. but that seems to work as desired, even though mp4box still "runs away".. but at least I get the stdout, and when I'm not debugging I expect the GUI to stay on top of the mp4box process. Now it's time to turn that status window back alive.
OK...uh...what was the command line you gave to kill it? I realize I need to account for the different types of status mp4muxer spits out but the problem is I don't know what those would be, so I need to try the command line here and find out.
---------------------
By the way, about that AVIStreamGetFrameOpen open problem..umm..I got that error with MeGUI when I was opening a file with a broken version of AVISynth. Could that be the problem?
To catch the errors you must open a new thread because the AVIFile API will crash your main program thread without returning anything IIRC.
berrinam
21st June 2005, 09:51
I have a few updates prepared here:
Firstly, a bugfix for crashes in the Avisynth Window (see this thread (http://forum.doom9.org/showthread.php?t=96185)). This is done by adding
suggestResolution.Enabled = false;
autoCropButton.Enabled = false;
previewButton.Enabled = false;
to AviSynthWindow.AviSynthWindow (constructor)
and adding
suggestResolution.Enabled = true;
autoCropButton.Enabled = true;
previewButton.Enabled = true;
before player.Show() in AviSynthWindow.openVideo(string)
Next is a bugfix for autocropping. Autocropping previously undercropped on the left and on the top if the amount to be cropped was odd, i.e. it rounded down instead of up, leaving one line of black bars. This is now changed to overcrop by one line in this situation. To apply, go to AviSynthWindow.getAutoCropValues(Bitmap). Change
retval.left = i - 1;
(in the first loop) to
retval.left = i;
and change
retval.top = i - 1;
(in the second loop) to
retval.top = i;
.
Finally, audio files will now be copied from VobinputWindow to mainForm by the following:
turn VobinputWindow.projectCreationFinished(bool) into
this.processing = false;
if (loadOnSave.Checked && !error)
{
string[] files = Directory.GetFiles(Path.GetDirectoryName(projectName.Text) + @"\",
Path.GetFileNameWithoutExtension(projectName.Text)+"*");
int counter = 0;
foreach (int index in audioTracks.CheckedIndices)
{
if (counter >= 2)
{
// More than two tracks is not supported
break;
}
else
{
string trackNumber = "T" + ((counter+1).ToString()).PadLeft(2, '0');
string filename = "";
foreach (string file in files)
{
if (file.IndexOf(trackNumber) != -1) // It is the right track
{
filename = file;
}
}
if (filename.Length != 0)
{
mainForm.setAudioTrack(counter, filename,
Path.GetDirectoryName(projectName.Text) + @"\" +
Path.GetFileNameWithoutExtension(filename) + ".mp4");
}
}
counter++;
}
AviSynthWindow asw = new AviSynthWindow(projectName.Text);
asw.OpenScript += new OpenScriptCallback(mainForm.asw_OpenScript);
asw.Show();
this.Close();
}
and in the MeGUI class, add the following function (I treat it as a helper function, but your choice, of course):
public void setAudioTrack(int trackNumber, string input, string output)
{
// Change view to other track
if (trackNumber == 1)
{
audioTrack1.Checked = true;
audioTrack2.Checked = false;
}
else
{
audioTrack1.Checked = false;
audioTrack2.Checked = true;
}
audioTrack_CheckedChanged(null, null);
this.audioStreams[trackNumber].path = input;
this.audioStreams[trackNumber].output = output;
if (audioStreams[trackNumber].isInputMP4Muxable())
audioStreams[trackNumber].settings = null;
else if (audioStreams[trackNumber].isOutputMP4Muxable())
audioStreams[trackNumber].settings = this.currentAACSettings;
else
audioStreams[trackNumber].settings = null;
audioOutput.Enabled = true;
}
Enjoy!
EDIT: If there is a better way to communicate changes, please tell me. These long posts seem quite cumbersome.
EDIT2: Changed first bugfix per MeteorRain's request.
berrinam
21st June 2005, 10:26
Maybe the Ok and Cancel buttons should be put on each tab for the video config settings?
MeteorRain
21st June 2005, 11:18
Maybe the Ok and Cancel buttons should be put on each tab for the video config settings?
a better idea is to catch the 2 buttons out of the tab control ^ ^
Doom9
21st June 2005, 12:23
Maybe the Ok and Cancel buttons should be put on each tab for the video config settings?I was considering that too... just strikes me as bad having multiple buttons for the same purpose. I've never had any formal training on what is good or bad GUI design so I guess I'll just add them. Normally I'd try to have a bottom area with just the buttons, independent of the tabs, but that would mean an even bigger window.
Though those things are part of what I put as a todo point... reorganize dialogs.. perhaps the way I've ordered the options could be improved, and then I think it would be nice to have a dropdown for the profile.. like simple profile, main profile and high profile. high profile would enable 8x8i and 8x8dct, allow quant 0 and allow custom matrices (currently working on that). For the difference between simple and main profile I'd have to look at bond's sticky but I'm sure something could be worked out for this as well.
Doom9
21st June 2005, 21:22
@xtknight: certain split and raw video input scenarios. I have them ironed out though but not doing everything very properly right now.. in raw video input, certainly .264, the percentage can reset.. you take this as a grounds to increase the track number.. that is wrong.. I did it the way I had planned using my existing code.. it takes care of that but you still have the resetting percentage.. it's no big deal to fix that though.. I have it mapped out just need to code it.
MeteorRain
22nd June 2005, 03:29
@doom9
could you have a modify at the encoding status window to make it similar to the status window of the VDM that can minimize to the startmenubar instead of at the bottomleft of the screen like the style in windows 3.2 now?
azsd
23rd June 2005, 09:44
this may called Taskbar as usually.
in ProgressWindow.cs form,set the "Window Style -> ShowInTaskBar" to True.
and by the way modify the form font to Tahoma or It will changed to different fonts in runtime in different os because unchanged(defaut) fonts havn't store in form.
or you can uncheck "TopMost" field
now It goes yuanman shimashita like VDM status dialog.
mmm,but is there MeGUI 1.9.9.9 src availble for download at somewhere?
Doom9
23rd June 2005, 11:04
but is there MeGUI 1.9.9.9 src availble for download at somewhere?I wish, I had those, too ;) But if you're refering to 0.1.9.9 then no and they won't because I've already started working on the next revision so the code has been changed.
I started making dialogs not appear in the status window because I ended up having a lot of entries there... main gui, dialog 1, preview window from that dialog and a quantizer matrix editor at the same time.. that seemed a bit excessive.
Doom9
23rd June 2005, 21:31
the latest sources are out now.
If anybody has an idea about category1 (mentioned here: http://forum.doom9.org/showpost.php?p=677298&postcount=114 - inability to redirect stderr from commandline and .net) don't hesitate..
berrinam
24th June 2005, 09:30
I have added a few design study screenshots for these features. In case you want to start implementing one, please give me a heads-up, because the design will require some changes.
I'm planning to work on the OneClick Encode. Is there some way for me to get your design files for it?
Doom9
24th June 2005, 09:57
There are none. I only got that screenshot from North101. There's no need for the container dropdown right now and certainly not the PSP thing (you need a special non specs compliant MP4 muxer for the PSP anyway.. and it's seriously limited in terms of what resolutions and framerates it can support, too).
I'd appreciate it though if you could give the whole x264.exe status bar issue a look cos I'm stumped.
xtknight
24th June 2005, 17:10
There are none. I only got that screenshot from North101. There's no need for the container dropdown right now and certainly not the PSP thing (you need a special non specs compliant MP4 muxer for the PSP anyway.. and it's seriously limited in terms of what resolutions and framerates it can support, too).
I'd appreciate it though if you could give the whole x264.exe status bar issue a look cos I'm stumped.
If you model an x264 progress bar off that program I made which uses the CodeProject stdout reader class, does it work? I think it uses different functions than the stdout reader in MeGUI. For me, that CodeProject class read every single thing in stdout with no issues. What is x264clireader?
Doom9
24th June 2005, 17:20
What is x264clireader?A simple stdout stderr reader for x264.exe based on the muxer you sent me.. it uses exactly the same mechanisms to read stdout/stderr (as does the updated mp4 muxer.. which works fine for all parties involved).
This isn't so much about not reading things incorrectly.. this is about figuring out why for some people (a small minority) it doesn't work whereas the large majority has no problems at all with x264.exe. I suppose you'll start guessing soon enough, too because it'll work just fine on your machine. It's hard to fix issues you cannot reproduce and where you cannot go to the affected machine and start the debugger, isn't it?
berrinam
26th June 2005, 01:12
Another bug and bugfix:
In any codec configuration dialog, if you delete the last profile and then select a different one, it will crash. The following line needs to be added to the deleteVideoProfileButton_Click function, at the end of the if block:
this.oldVideoProfileIndex = -1;
Doom9
26th June 2005, 22:39
Another bug and bugfix:It also applies to the audio dialogues ;)
Doom9
27th June 2005, 19:14
btw, in case you haven't noticed, as admin my edits are now shown but I'm constantly updating the 3rd post in this thread as development progresses. The todo list is getting shorter.
I just finished AVI bitrate calculation.. once mencoder is up to the level, the AVI feature should be a walk in the park. Same goes for the still open mp4box issue, where I also have to adapt the stream info part a bit. But it almost seems to me the major bits are done.. except for the one click mode.
berrinam
27th June 2005, 22:10
But it almost seems to me the major bits are done.. except for the one click mode.
Well, good news: I have a preliminary version of the One Click encoder attached. If all the options have been configured (languages and codec profiles), then all you need to do is select the input file, and it will fill in the rest. I built it on v2.0.0 sources, so I'll just list the changes I made. Here goes:
I made a new form and class called OneClickWindow, which I have attached.
I added a menubutton to it from the main form. It has this event handler:
OneClickWindow oneClick = new OneClickWindow(this, videoProfiles, audioProfiles, videoProfile.SelectedIndex, audioProfile.SelectedIndex);
oneClick.ShowDialog();
I also added the following properties to MeGUI:
public JobUtil JobUtil
{
get {return this.jobUtil;}
}
public NeroAACSettings CurrentAACSettings
{
get {return this.currentAACSettings;}
set {this.currentAACSettings = value;}
}
public xvidSettings CurrentXvidSettings
{
get {return this.currentXvidSettings;}
set {this.currentXvidSettings = value;}
}
public x264Settings CurrentX264Settings
{
get {return this.currentX264Settings;}
set {this.currentX264Settings = value;}
}
public lavcSettings CurrentLavcSettings
{
get {return this.currentLavcSettings;}
set {this.currentLavcSettings = value;}
}
public snowSettings CurrentSnowSettings
{
get {return this.currentSnowSettings;}
set {this.currentSnowSettings = value;}
}
public string StartPath
{
get {return path;}
}
. And that is all for the One Click Window.
But I also have a bug and bugfix I found in the development: The AutoEncodeWindow was showing the wrong filesizes for the various DVD options. The fix is here:
sizeSelection_SelectedIndexChanged needs to be replaced by
if (sizeSelection.SelectedIndex == 0) // 1/4 CD
this.muxedSize.Text = "179200";
if (sizeSelection.SelectedIndex == 1) // 1/2 CD
this.muxedSize.Text = "358400";
if (sizeSelection.SelectedIndex == 2) // 1 CD
this.muxedSize.Text = "716800";
if (sizeSelection.SelectedIndex == 3) // 2 CDs
this.muxedSize.Text = "1433600";
if (sizeSelection.SelectedIndex == 4) // 3 CDs
this.muxedSize.Text = "2150400";
if (sizeSelection.SelectedIndex == 5) // 1/3 DVD
this.muxedSize.Text = "1501184";
if (sizeSelection.SelectedIndex == 6) // 1/4 DVD
this.muxedSize.Text = "1126400";
if (sizeSelection.SelectedIndex == 7) // 1/5 DVD
this.muxedSize.Text = "901120";
if (sizeSelection.SelectedIndex == 8) // 1 DVD
this.muxedSize.Text = "4586496";
EDIT: Newer AutoEncodeWindow code
berrinam
27th June 2005, 22:37
There are some problems/limitations with what I have done so far with the one click window. They are as follows:
-it is not possible to select the working directory (the button is disabled). The reason is that I haven't found a folderdialog class.
-I'm not sure what the situation is with MP4 overhead, so I've just copied the code from the AutoEncodeWindow
-custom filesizes are not enabled. I know how to do this, but at the moment I am too busy to implement it. EDIT: done
-nothing happens if you change the project name. As above, this is simply a matter of catching the valuechanged event, but I haven't done it yet. EDIT: done
-the code in general needs to be cleaned up. EDIT: done
Also, would it be worth turning DGIndex jobs into jobs that can be queued?
stax76
27th June 2005, 22:49
-it is not possible to select the working directory (the button is disabled). The reason is that I haven't found a folderdialog class.
enter folder in the search of Visual Studio and restrict the search on .NET Framework. If you look for stuff in .NET, you can also search with Google, Google Groups and at CodeProject. For Google Groups you can use this link:
http://groups.google.de/groups?ie=UTF-8&oe=UTF-8&as_ugroup=*dotnet*&lr=&hl=de
it searches only dotnet groups, I've used this a lot and still have to from time to time
berrinam
28th June 2005, 07:03
@stax: Thanks, I'll look into it.
Anyway, I've fixed up everything else that I can, which includes a basic code cleanup of the OneClickWindow class, and I have uploaded a new version to replace the old one.
Doom9
28th June 2005, 12:48
Also, would it be worth turning DGIndex jobs into jobs that can be queued?I'm not sure.. it would take quite a bit of work..and if you're looking at the one click window just writing a bunch of jobs, a lot of other things would be affected as well (for instance the loading of demuxed audio files from the DGIndex project creator)
Plus I imagine that there's some custom logic somewhere in between DGIndex and the rest of the jobs but I haven't looked at your attachement yet.
superdump
29th June 2005, 05:08
I don't know if this has been mentioned before so disregard it if it has but I've noted a couple of things.
Sometimes when switching between the config panel for x264 and the main window and then back again, the settings are remembered in precisely the same manner as they were set. It doesn't really matter, but when you select none from the list of analysis options, click ok, then click the config button, it switches to custom but with all options deselected. Similarly for 'all'. Looking again at the commandline I see that when none is selected there is no --analysis or -A switch specified, so default behaviour will be assumed by the command line encoder. This isn't the same as -A none.
The other thing is, would it be possible to move the rate/qp settings to the main window, or make the user defined profiles not remember the bitrate such that the profile can be selected and then the bitrate set for each encode? I'm not sure what the best method of attacking this would be. I'll have a think and see if I can give a more useful suggestion than above. :)
Very nice GUI by the way, good work, it's appreciated. :)
berrinam
29th June 2005, 07:42
The other thing is, would it be possible to move the rate/qp settings to the main window, or make the user defined profiles not remember the bitrate such that the profile can be selected and then the bitrate set for each encode?
For automatic encoding, the bitrate is set automatically. I suppose the reasoning behind keeping the bitrate as part of the profile in all other situations is that the profile is a quality-based profile, as in, you would want the same quality for all things you do with the same profile... now that I say it I realise that I'm not actually explaining anything ... ah well.
berrinam
29th June 2005, 07:44
@Doom9, I was just wondering whether you wanted to include my OneClickWindow code into the project sometime?
Doom9
29th June 2005, 08:08
@berrinam: let's just say I was incapacitated for the entire day yesterday so I didn't look at one single line of code.. obviously it's going to be integrated. Not sure which release but I hope to have major changes (I'm going to move the pre-encoded audio selection away from the main window so that'll cause some changes in other parts) done by the end of the week-end.
berrinam
29th June 2005, 08:12
Ok, sorry to nag.
superdump
29th June 2005, 17:00
For automatic encoding, the bitrate is set automatically. I suppose the reasoning behind keeping the bitrate as part of the profile in all other situations is that the profile is a quality-based profile, as in, you would want the same quality for all things you do with the same profile... now that I say it I realise that I'm not actually explaining anything ... ah well.
Bah. I didn't see the autoencode option. I'll to play with it and discover its behaviour though. It might be good to be able to specify one of your userdefined profiles within it for each of the video passes and for the audio. I see that you can select profiles in the main window but you can only select one video profile, what if you wish to use different settings for the first pass? :)
Doom9
29th June 2005, 18:59
what if you wish to use different settings for the first pass? Well.. if you can convince me why this is necessary and why the turbo flag isn't enough..
Though, I have one thing planned not yet listed in the todo list: update an existing job in the queue.. you can load their settings, but you cannot save them back again. Once you can, you can apply another profile to the first pass if you please.. I kinda doubt that most people would want to do that though.. basically you want your options to match as good as possible with the exception of those that can be safely reduced.. and those are the ones for the turbo flag.
I just got a new PC (dual core :) so I might not write any code today either but I'll resume the work tomorrow and look at the mb options you mentioned.. I'm pretty sure I don't even have to reproduce them.. I seem to recall to have put in certain defaults.. iirc I apply all mb options but force the dropdown to custom.. I can add logic that makes it go to all or none depending on what is checked and what is unchecked.. and the --analyse options.. your'e correct, I didn't take care of that.. it never was an issue using mencoder and that's where I based the commandline generation code on.
superdump
29th June 2005, 19:25
Well.. if you can convince me why this is necessary and why the turbo flag isn't enough..
Well, I suppose it makes it more versatile so you don't have to add or remove stuff from the turbo flag but if turbo is implemented as mentioned in the x264 dev thread then I have no reason to convince you really. :)
I assume that when using the automatic 2 pass mode with turbo enabled it only uses the reduced settings in the first pass and uses the settings specified in the gui for the second pass, right?
Though, I have one thing planned not yet listed in the todo list: update an existing job in the queue.. you can load their settings, but you cannot save them back again. Once you can, you can apply another profile to the first pass if you please.. I kinda doubt that most people would want to do that though.. basically you want your options to match as good as possible with the exception of those that can be safely reduced.. and those are the ones for the turbo flag.
Not necessarily for altering the codec settings for my purpose but generally I think this is a worthwhile feature, in case mistakes are made etc.
I just got a new PC (dual core :) so I might not write any code today either but I'll resume the work tomorrow and look at the mb options you mentioned.. I'm pretty sure I don't even have to reproduce them.. I seem to recall to have put in certain defaults.. iirc I apply all mb options but force the dropdown to custom.. I can add logic that makes it go to all or none depending on what is checked and what is unchecked.. and the --analyse options.. your'e correct, I didn't take care of that.. it never was an issue using mencoder and that's where I based the commandline generation code on.
Niiice. AMD or P4? I'm sure that will aid with the next codec comparison. :D I did note that the options worked correctly for mencoder, it's just the 'none' switch that needs adding when using the cli. :)
Cheers.
berrinam
2nd July 2005, 00:10
Is a plain old x264 gui still wanted? Any comments on what should be included?
Doom9
2nd July 2005, 00:26
I assume that when using the automatic 2 pass mode with turbo enabled it only uses the reduced settings in the first pass and uses the settings specified in the gui for the second pass, right?Absolutely. It will be like that in the upcoming automated 3 pass mode as well (my way of killing a perfectly good week-end)
The analyse switches are fixed in the upcoming 0.2.0.5.. I just need to finish the AVI part.
The first encoding results from my shiny new CPU can be found here: http://forum.doom9.org/showthread.php?t=94226
Is a plain old x264 gui still wanted?Still on the todo list, yes. I see two ways of handling that: 1) smart compiling.. use compilation flags to "throw out" all the stuff not needed. 2) add a flag to the settings file that upon loading disables everythinb but x264 encoding (basically hide the audio groupbox, codec label and selection and blank out the AVI output mode). You also have to blank out everything but the settings in the tools menu, and that menu has to be simplified to just offer the x264 path, and all the options in the other groupbox (except for the x264 encoder of course). If you start now, please be careful to touch as little as possible as a lot of classes will come back changed in 0.2.0.5
berrinam
2nd July 2005, 00:55
How long till 0.2.0.5 release? Should I just wait?
About MeGUIlite, do I leave in
matrix editor?
chapters?
zones?
muxing?
raw and mp4 output?
Doom9
2nd July 2005, 00:58
no, the lite is just really an x264.exe GUI... I guess. But that includes both raw and mp4 output (which is what x264.exe can do). I hope to have the new version out within 24h.
Yama4050242
2nd July 2005, 04:32
a litter request, can you kindly use Mandarin and Cantonese in the mux tool audio track name instead of chinese, although there are quite a lot of dialects in china,but for dvd backup, i think these 2 are the main ones.
the inconvenience of just a chinese there is if i got a clip with both Mandarin and Cantonese,i can just use Chinese for 1 audio track, but no proper name for the other
btw, i am chinese, poor english:P
Yama4050242
2nd July 2005, 04:36
or make the audio track name not only selectable, but can define by user would be great
leowai
2nd July 2005, 04:42
a litter request, can you kindly use Mandarin and Cantonese in the mux tool audio track name instead of chinese, although there are quite a lot of dialects in china,but for dvd backup, i think these 2 are the main ones.
the inconvenience of just a chinese there is if i got a clip with both Mandarin and Cantonese,i can just use Chinese for 1 audio track, but no proper name for the other
btw, i am chinese, poor english:P
If this is the case, why don't make the language selector editable? You can input whatever name you wish to have in both audio and subtitles section.
Doom9
2nd July 2005, 10:25
If this is the case, why don't make the language selector editable? You can input whatever name you wish to have in both audio and subtitles section.Sorry to be blunt but apparently you do not know how mp4box works. Here's a hint: it takes a 3 letter ISO code, and for some reason it doesn't support them all. So what happens under the hood is that you can work with humanly readable strings, and at the end I resolve them to an ISO string. That only works if I know the values of both in advance. Even if you could enter both, there's no guarantee that it would work because mp4box also knows only a limited selection of languages. I'll go over that list again and make sure I've included every language mp4box supports, but I cannot go beyond that.. it makes no sense to explicitly give users a way to mess up.
Yama4050242
2nd July 2005, 10:57
Sorry to be blunt but apparently you do not know how mp4box works. Here's a hint: it takes a 3 letter ISO code, and for some reason it doesn't support them all. So what happens under the hood is that you can work with humanly readable strings, and at the end I resolve them to an ISO string. That only works if I know the values of both in advance. Even if you could enter both, there's no guarantee that it would work because mp4box also knows only a limited selection of languages. I'll go over that list again and make sure I've included every language mp4box supports, but I cannot go beyond that.. it makes no sense to explicitly give users a way to mess up.
thx for your explanation, i think i know what you said, and again thx for your great work on this GUI
Doom9
2nd July 2005, 21:20
alright, I have attached the latest version. @berrinam: could you please check how this works with the one click form? And also note that there'll be a new setting soon setting how many passes will be done in auto (and one click) mode.. it'll be called NbAutomatedPasses, of type int. JobUtil.prepareVideoJob will return a third job in automated mode (all in the proper order of course, like it's done for automated twopass right now).
Doom9
2nd July 2005, 21:31
public string StartPath
{
get {return path;}
}
Is not required because the main Form already has a property for that: MeGUIPath
In addition, it has a property to get the settings for the currently configured video codec: public VideoCodecSettings VidCodecSettingsso you should use that
I'll add the same to get the current audio settings. Since I'm making heavy use of inheritance we should work with the generic types whenever possible and get the actual type using the "is" operator.
I have already added the new property.. here's the prototype
public AudioCodecSettings AudCodecSettings
And I hope you don't mind that when I integrate it, I'm going to rewrite parts of the code.. I saw you integrated autocrop and dgindex project creation code, which is not ideal. I'll move those a/multiple separate classes so that the code will only have to be maintained once. Or you can create those classes, as you like.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.