Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 Encoder GUIs
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 17th June 2008, 05:54   #3761  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
@alcatron: MeGUI is only a frontend and can only supply graphics card encoding when the backend tools provide it. Currently, they don't, so the answer is no.
berrinam is offline   Reply With Quote
Old 17th June 2008, 06:49   #3762  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Quote:
Originally Posted by Sharktooth View Post
i dont have vista to test the NSIS UAC plugin.
No need to have Vista to test it... I already tested it (not with megui installer though) and it works great. I'll add it this weekend. But if you want some details, I can give you some hints...
  1. Download the last package where I pointed the link.
  2. Put UAC.dll in your NSIS plugins folder.
  3. Put UAC.nsh in your NSIS include folder.
  4. Add several lines to the script (that's the main task but there are some examples in the package [UAC_RealWorldFullyLoadedDualModeExample]).
  5. Compile & Test it.


@berrinam : glad you're back... There are also several bugs reported in the SF bugstracker. If you have some time, just look them. Your patch for the adaptive muxer looks ok...I'll test it tonight.
Kurtnoise is offline   Reply With Quote
Old 17th June 2008, 08:07   #3763  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
This adds zones support back, in the main window. I've attempted to do the minimum changes simply to get it working:

http://www.box.net/shared/97swopctcg
berrinam is offline   Reply With Quote
Old 17th June 2008, 12:47   #3764  |  Link
toytown
Registered User
 
Join Date: Jul 2005
Posts: 97
There still seems to be a bug whereby on Vista, Megui is assuming the install path is c:\program files (x86)\megui. Therefore when you start megui it tells you a new version is available and you download it, restart and your still on the previous version and you get the popup again telling you to upgrade.

To fix it i manually copy megui.exe from c:\program files (x86)\megui to the proper location.

EDIT - Still has bug in Vista, whereby when you click file open or ... box after enqueuing a encode, the application will freeze, workaround is to enqueue 1 movie, restart megui and enqueue next and so on and so. Then encode. Does this on Vista32 and Vista64

Last edited by toytown; 17th June 2008 at 12:54.
toytown is offline   Reply With Quote
Old 17th June 2008, 13:05   #3765  |  Link
Underground78
Registered User
 
Underground78's Avatar
 
Join Date: Oct 2004
Location: France
Posts: 567
Hello,

I think something broke the "Quantizer Matrices choice" default size in rev. 530 :



Moreover I've seen that the caption text wasn't displayed because it was erased when the selected profil wasn't "High Profil". I've changed this to always display the text, maybe I'm wrong but it seems more logical to me ... Now it looks like this :



Code:
Index: x264ConfigurationPanel.cs
===================================================================
--- x264ConfigurationPanel.cs	(revision 531)
+++ x264ConfigurationPanel.cs	(working copy)
@@ -749,7 +749,6 @@
                     x264NumberOfBFrames.Enabled = false;
                     x264NumberOfRefFramesLabel.Enabled = false;
                     cqmComboBox1.SelectedIndex = 0;
-                    quantizerMatrixGroupbox.Text = "";
                     quantizerMatrixGroupbox.Enabled = false;
                     x264LosslessMode.Checked = false;
                     x264LosslessMode.Enabled = false;
@@ -759,7 +758,6 @@
                     x264NumberOfBFrames.Enabled = true;
                     x264NumberOfRefFramesLabel.Enabled = true;
                     cqmComboBox1.SelectedIndex = 0;
-                    quantizerMatrixGroupbox.Text = "";
                     quantizerMatrixGroupbox.Enabled = false;
                     x264LosslessMode.Checked = false;
                     x264LosslessMode.Enabled = false;
Index: x264ConfigurationPanel.Designer.cs
===================================================================
--- x264ConfigurationPanel.Designer.cs	(revision 531)
+++ x264ConfigurationPanel.Designer.cs	(working copy)
@@ -1496,13 +1496,13 @@
             this.cqmComboBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                         | System.Windows.Forms.AnchorStyles.Right)));
             this.cqmComboBox1.Filter = "Quantizer matrix files (*.cfg)|*.cfg|All Files (*.*)|*.*";
-            this.cqmComboBox1.Location = new System.Drawing.Point(6, 19);
+            this.cqmComboBox1.Location = new System.Drawing.Point(12, 19);
             this.cqmComboBox1.MaximumSize = new System.Drawing.Size(1000, 29);
             this.cqmComboBox1.MinimumSize = new System.Drawing.Size(64, 29);
             this.cqmComboBox1.Name = "cqmComboBox1";
             this.cqmComboBox1.SelectedIndex = -1;
             this.cqmComboBox1.SelectedItem = null;
-            this.cqmComboBox1.Size = new System.Drawing.Size(348, 29);
+            this.cqmComboBox1.Size = new System.Drawing.Size(300, 29);
             this.cqmComboBox1.TabIndex = 5;
             this.cqmComboBox1.SelectionChanged += new MeGUI.StringChanged(this.cqmComboBox1_SelectionChanged);
             //
Underground78 is offline   Reply With Quote
Old 17th June 2008, 13:46   #3766  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
vs2008 designer weirdness... fixed

@berrinam: the adaptive muxer fix seems to work. committed. if there are no complaints i will port it to the stable version too.

@devs: sorry for the fast bins updates, but i want to have an "useable" 0.3 version out for ppl running 0.3.0.1004...

Last edited by Sharktooth; 17th June 2008 at 14:16.
Sharktooth is offline   Reply With Quote
Old 17th June 2008, 20:35   #3767  |  Link
donnyj
Registered User
 
Join Date: Aug 2004
Posts: 21
Quote:
Originally Posted by tre31 View Post
The preview video window is set too "Always on top" as its window property making it pretty much useless as you have too move it out of the screen too see the script creator behind it. Tiny error (obviously you forgot too set the window properties) but it does affect usability.
I didn't close the preview window and then when I hit autoencode, that window opened behind the preview window. I could not close the preview and couldn't bring autoencode to the front. After some sweating (didn't want to test out queue saving after setting up several jobs), I managed to close the autoencode window, then the preview window.
donnyj is offline   Reply With Quote
Old 17th June 2008, 20:43   #3768  |  Link
donnyj
Registered User
 
Join Date: Aug 2004
Posts: 21
I just queued up 50 jobs.... no changes to workers, etc. when I hit start... three of the seven "sets" of jobs started in parallel at once. To make things worse, there is no way (that I could see) of telling which running job was which... IMHO, the status window should at least show a job number.... thanks
donnyj is offline   Reply With Quote
Old 17th June 2008, 21:21   #3769  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
your comments will be ignored...
Kurtnoise is offline   Reply With Quote
Old 18th June 2008, 03:25   #3770  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Thoughts on 0.4

There's many things I want to do in MeGUI, but we all only have limited time. However, some general comments:
  • The ITool setup generally seems quite easy to handle. Especially the completely independent tools like the AVS Cutter, D2V creator, seem to work well in the tools menu, since their code can basically be kept separate. Ideally, I would like to extend this to genuine runtime plugin support, but that's probably a waste of time in the short term.

    However, the main aspect of MeGUI which doesn't fit well with the ITool system is the Audio/VideoEncodingComponent which sit in the main form. I see no reason for them to do so. I believe it also makes the code more interdependent, and hence more complicated. I would like to move these two things of the main form and into their own tools.
  • It's always nice to add some more external tools, like VC-1, vfw support, ProjectX, ffmpeg, etc. The ease of doing this relies largely on the abovementioned pluggability; not just the ITool system, but also other interfaces like IVideoEncoder and perhaps in future, ISourcePreparer (for DGMPGDec/DGAVCDec/ProjectX)
  • On a similar point, MeGUI is (somewhat understandably) unintuitive for novices, since a typical manual workflow would look like this:
    1. Decrypt DVD with some external tool
    2. MeGUI's D2V Creator
    3. Avisynth creator
    4. AutoEncode.
    In some cases, the Oneclicker can be set up with a small effort, but in other cases it can't (eg commercial skipping, more fine control, etc). There should be some tool which allows the user to select their input file(s), and the steps in the encoding chain are graphically laid out (maybe like R4R) with the user able to choose which are done automatically, manually, or not at all, if applicable. This is still complicated, but it should not be unintuitive; a smart novice should be able to use it.
  • Queued jobs should be fully editable.
  • I've been considering the idea of "future files". For instance, if you want to encode some files then mux them, then you have two choices: run the encoder jobs, wait a few hours, then come back and queue and run the mux job; or use the AutoEncoder, which was originally designed specifically for this purpose.

    With future files, when you queue a job — say, one which produces a file called out.264 — MeGUI creates a small placeholder file in the output's location. This file has information about which job is going to make it, what kind of file it will be, etc. So, now that you have queued but not run your video encoding job, you can queue the mux job, because the file is already there, and the muxer knows how to handle it. This does what AutoEncode does, but (hopefully) without all the hoops AutoEncode/OneClick jump through to manipulate filenames which do not yet exist. It also then becomes apparent when two queued jobs will produce the same output, and you don't get back to your computer to find that the second job has not started, because MeGUI is asking you "do you want to overwrite this file?".
  • It would be nice to clean up a lot of the code.

Last edited by berrinam; 18th June 2008 at 03:39.
berrinam is offline   Reply With Quote
Old 18th June 2008, 04:10   #3771  |  Link
rebkell
Registered User
 
Join Date: Oct 2006
Posts: 303
Sounds great.
rebkell is offline   Reply With Quote
Old 18th June 2008, 13:29   #3772  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
VFW cant be taken into consideration. it will be a problem for linux compatibility. about VC1, i thought at it a while ago, but my conclusion was "it's not worth the time". we already have x264, a better performing codec that is also compatible with the media supports and flash for streaming. VC1 is just M$ stuff...
Future files is a great idea. I'd suggest to use a new approach for output file management for every tool though. The files could be stored in a temp dir (maybe system/user temp folder), inside a subfolder named using the parent job name and timestamp. The intermediate jobs output files should be always named videoN.ext or audioN.ext (where N is the track number). after all the jobs are done the resulting file could be moved to the user desired location. doing this way we can avoid a lot of problems running parallel jobs.

-OT-
use linux Mint instead of Ubuntu.

Last edited by Sharktooth; 18th June 2008 at 13:38.
Sharktooth is offline   Reply With Quote
Old 18th June 2008, 20:02   #3773  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Here is a patch to put "Always on Top" (or not) the Video Preview via the Settings (asked from here) :

Code:
Index: core/details/MeGUISettings.cs
===================================================================
--- core/details/MeGUISettings.cs	(revision 538)
+++ core/details/MeGUISettings.cs	(working copy)
@@ -18,7 +18,7 @@
             defaultLanguage1, defaultLanguage2, afterEncodingCommand;
         private bool recalculateMainMovieBitrate, autoForceFilm, autoStartQueue, enableMP3inMP4, autoOpenScript,
             overwriteStats, keep2of3passOutput, deleteCompletedJobs, autoSetNbThreads, deleteIntermediateFiles,
-            deleteAbortedOutput, openProgressWindow, useadvancedtooltips, freshOggEnc2, autoscroll;
+            deleteAbortedOutput, openProgressWindow, useadvancedtooltips, freshOggEnc2, autoscroll, alwaysOnTop;
         private ulong audioSamplesPerUpdate;
         private AfterEncoding afterEncoding;
         private decimal forceFilmThreshold, acceptableFPSError;
@@ -86,6 +86,7 @@
             videoExtension = "";
             audioExtension = "";
             safeProfileAlteration = false;
+            alwaysOnTop = false;
         }
         #region properties
         public string YadifPath
@@ -174,6 +175,14 @@
             get { return useadvancedtooltips; }
             set { useadvancedtooltips = value; }
         }
+        ///<summary>
+        /// gets / sets whether megui puts the Video Preview Form "Always on Top" or not
+        /// </summary>
+        public bool AlwaysOnTop
+        {
+            get { return alwaysOnTop; }
+            set { alwaysOnTop = value; }
+        }
 
         /// <summary>
         /// path of besplit.exe
Index: core/gui/SettingsForm.cs
===================================================================
--- core/gui/SettingsForm.cs	(revision 538)
+++ core/gui/SettingsForm.cs	(working copy)
@@ -144,6 +144,8 @@
         private TextBox tbAften;
         private Label lbAften;
         private Button selectAftenExecutableButton;
+        private GroupBox gbVideoPreview;
+        private CheckBox chAlwaysOnTop;
 		/// <summary>
 		/// Required designer variable.
 		/// </summary>
@@ -310,6 +312,8 @@
             this.nbPassesLabel = new System.Windows.Forms.Label();
             this.nbPasses = new System.Windows.Forms.NumericUpDown();
             this.helpButton1 = new MeGUI.core.gui.HelpButton();
+            this.gbVideoPreview = new System.Windows.Forms.GroupBox();
+            this.chAlwaysOnTop = new System.Windows.Forms.CheckBox();
             groupBox1 = new System.Windows.Forms.GroupBox();
             groupBox1.SuspendLayout();
             this.otherGroupBox.SuspendLayout();
@@ -333,6 +337,7 @@
             this.tabPage6.SuspendLayout();
             this.tabPage7.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.nbPasses)).BeginInit();
+            this.gbVideoPreview.SuspendLayout();
             this.SuspendLayout();
             // 
             // groupBox1
@@ -741,6 +746,7 @@
             // 
             // tabPage3
             // 
+            this.tabPage3.Controls.Add(this.gbVideoPreview);
             this.tabPage3.Controls.Add(groupBox1);
             this.tabPage3.Controls.Add(this.autoUpdateGroupBox);
             this.tabPage3.Controls.Add(this.outputExtensions);
@@ -760,7 +766,7 @@
             this.autoUpdateGroupBox.Controls.Add(this.useAutoUpdateCheckbox);
             this.autoUpdateGroupBox.Location = new System.Drawing.Point(227, 82);
             this.autoUpdateGroupBox.Name = "autoUpdateGroupBox";
-            this.autoUpdateGroupBox.Size = new System.Drawing.Size(240, 203);
+            this.autoUpdateGroupBox.Size = new System.Drawing.Size(240, 139);
             this.autoUpdateGroupBox.TabIndex = 3;
             this.autoUpdateGroupBox.TabStop = false;
             this.autoUpdateGroupBox.Text = "Auto Update";
@@ -1664,6 +1670,26 @@
             this.helpButton1.Size = new System.Drawing.Size(47, 23);
             this.helpButton1.TabIndex = 1;
             // 
+            // gbVideoPreview
+            // 
+            this.gbVideoPreview.Controls.Add(this.chAlwaysOnTop);
+            this.gbVideoPreview.Location = new System.Drawing.Point(228, 228);
+            this.gbVideoPreview.Name = "gbVideoPreview";
+            this.gbVideoPreview.Size = new System.Drawing.Size(239, 62);
+            this.gbVideoPreview.TabIndex = 4;
+            this.gbVideoPreview.TabStop = false;
+            this.gbVideoPreview.Text = "Video Preview";
+            // 
+            // chAlwaysOnTop
+            // 
+            this.chAlwaysOnTop.AutoSize = true;
+            this.chAlwaysOnTop.Location = new System.Drawing.Point(8, 21);
+            this.chAlwaysOnTop.Name = "chAlwaysOnTop";
+            this.chAlwaysOnTop.Size = new System.Drawing.Size(169, 17);
+            this.chAlwaysOnTop.TabIndex = 0;
+            this.chAlwaysOnTop.Text = "Set the Form \"Always on Top\"";
+            this.chAlwaysOnTop.UseVisualStyleBackColor = true;
+            // 
             // SettingsForm
             // 
             this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
@@ -1712,6 +1738,8 @@
             this.tabPage7.ResumeLayout(false);
             this.tabPage7.PerformLayout();
             ((System.ComponentModel.ISupportInitialize)(this.nbPasses)).EndInit();
+            this.gbVideoPreview.ResumeLayout(false);
+            this.gbVideoPreview.PerformLayout();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -2008,6 +2036,7 @@
                 settings.FFMpegPath = textBox7.Text;
                 settings.AftenPath = tbAften.Text;
                 settings.AedSettings = this.autoEncodeDefaults;
+                settings.AlwaysOnTop = chAlwaysOnTop.Checked;
 				return settings;
 			}
 			set
@@ -2066,6 +2095,7 @@
                 textBox7.Text = settings.FFMpegPath;
                 tbAften.Text = settings.AftenPath;
                 this.autoEncodeDefaults = settings.AedSettings;
+                chAlwaysOnTop.Checked = settings.AlwaysOnTop;
 			}
 		}
 		#endregion
Index: core/gui/VideoPlayer.cs
===================================================================
--- core/gui/VideoPlayer.cs	(revision 538)
+++ core/gui/VideoPlayer.cs	(working copy)
@@ -643,7 +643,6 @@
             this.Name = "VideoPlayer";
             this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show;
             this.Text = "VideoPlayer";
-            this.TopMost = true;
             ((System.ComponentModel.ISupportInitialize)(this.videoPreview)).EndInit();
             this.previewGroupbox.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.positionSlider)).EndInit();
Index: packages/AviSynthWindow.cs
===================================================================
--- packages/AviSynthWindow.cs	(revision 538)
+++ packages/AviSynthWindow.cs	(working copy)
@@ -1441,6 +1441,7 @@
                 player.Show();
                 reader = player.Reader;
                 sendCropValues();
+                if (mainForm.Settings.AlwaysOnTop) player.TopMost = true;
                 return true;
             }
             else
Kurtnoise is offline   Reply With Quote
Old 18th June 2008, 20:05   #3774  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
About future idea : I'm against to include the VFW interface too... I see none advantages to use this nowadays.

btw, I've some plans to add new things but I prefer to wait for the moment.

Last edited by Kurtnoise; 19th June 2008 at 06:40. Reason: typo
Kurtnoise is offline   Reply With Quote
Old 18th June 2008, 22:18   #3775  |  Link
Ajax_Undone
I dont care so should you
 
Ajax_Undone's Avatar
 
Join Date: Apr 2006
Location: In hell next to the boiling pit of Lava...
Posts: 989
Well not to sound for or against the Idea of vfw but I think that some people would still like the idea of direct interaction with the codec via a GUI rather then a CLI...
__________________
My Installer's ||
Ajax_Undone is offline   Reply With Quote
Old 19th June 2008, 02:51   #3776  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
vfw is a windows specific framework. since we planned a megui port for linux, vfw cant be integrated.
also it would require a huge rewrite of the codebase and a rework of the workflow.
way too much effort for a small and problematic gain.
Sharktooth is offline   Reply With Quote
Old 19th June 2008, 05:18   #3777  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
You may be right about vfw, but I'm not entirely sure. I agree, certainly not in the short term.

However, I at one stage looked into supporting vfw via the command-line tool avs2avi. Combining that with PInvoke to launch codec config shouldn't be too hard, and it wouldn't break linux compatibility if we were able to provide it in a plugin: linux users just wouldn't install the plugin.

But I agree that many things have higher priorities. I was just trying to say that with the right structure, many tools can be added with relatively little fuss.

Last edited by berrinam; 19th June 2008 at 05:27.
berrinam is offline   Reply With Quote
Old 19th June 2008, 13:02   #3778  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
the avs2avi solution is indeed an easier way.
Sharktooth is offline   Reply With Quote
Old 19th June 2008, 13:56   #3779  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
According to doom9kumi's comment on this bug, this should tell mkvmerge to read the AR info from the bitstream. It appears to work for me. Is there a reason that we wouldn't want this switch enabled?
Code:
Index: packages/mux/mkv/MkvMergeMuxer.cs
===================================================================
--- packages/mux/mkv/MkvMergeMuxer.cs	(revision 543)
+++ packages/mux/mkv/MkvMergeMuxer.cs	(working copy)
@@ -75,6 +75,8 @@
 
                 if (settings.DAR.HasValue)
                     sb.Append(" --aspect-ratio 0:" + settings.DAR.Value.X + "/" + settings.DAR.Value.Y);
+                else
+                    sb.Append(" --engage keep_bitstream_ar_info");
 
                 if (settings.VideoName.Length > 0)
                     sb.Append(" --track-name \"0:" + settings.VideoName + "\"");
berrinam is offline   Reply With Quote
Old 19th June 2008, 14:11   #3780  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Quote:
Originally Posted by Kurtnoise13 View Post
Here is a patch to put "Always on Top" (or not) the Video Preview via the Settings (asked from here) :
I've tested it and it seems fine for the AVS creator. However, did you intentionally not do anything to previews in the main window's videoencodingcomponent?
berrinam is offline   Reply With Quote
Reply

Tags
development, megui, not a help thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 03:56.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.