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

Reply
 
Thread Tools Search this Thread Display Modes
Old 9th December 2007, 22:24   #3561  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
I've already got some of that in the works. My avisynth profile patch from quite a while ago did that automatically (using the "extra files" feature of the profile porter). I think that way worked quite well, and I will finish that patch after I have committed my profiles-refactor patch (since it makes handling profiles so much nicer).
berrinam is offline   Reply With Quote
Old 9th December 2007, 22:58   #3562  |  Link
laserfan
Aging Video Hobbyist
 
Join Date: Dec 2004
Location: Off the Map
Posts: 2,461
Quote:
Originally Posted by berrinam View Post
A script as simple as the one you posted should not normally take minutes to load: it should load in a few seconds...
Glad my posts were useful then; usually I would let (little) stuff like this drop, but doom9 is an unusually disciplined board so I thought I would point it out.
laserfan is offline   Reply With Quote
Old 10th December 2007, 10:57   #3563  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Quote:
Originally Posted by berrinam View Post
Ok, after some computer failures, I got back to work on my profiles refactor. Here's a new patch which I think is complete (except whatever bugs I've added :P). The main changes are ...

Get the patch here. I've added a new folder, so you'll have to create that yourself and perhaps also add the file manually. The folder is megui/core/details/0_2_6_x_profileloader/, and the file contained in it is Loader.cs. If you need to add the file manually, you can get it from here.
Shall I commit this now?
berrinam is offline   Reply With Quote
Old 10th December 2007, 11:25   #3564  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
sure, go ahead.


We will see later if there are some bugs with it...

/me kidding

I haven't had bugs with it personally.
Kurtnoise is offline   Reply With Quote
Old 10th December 2007, 13:57   #3565  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
maybe he was asking coz zones are missing
Sharktooth is offline   Reply With Quote
Old 10th December 2007, 14:48   #3566  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Sorry, for this off-topic but I missed to reply...

Quote:
Originally Posted by check View Post
I'd much prefer if MeGUI didn't make it possible to make multi track AVIs. The reasons are mostly the same as why h264-in-avi is a bad idea
not at all...I don't see the point between multi audio tracks in AVI container and AVC stream.

Quote:
Originally Posted by check View Post
1. They don't behave nicely in a windows environment.
since when ?

Quote:
Originally Posted by check View Post
The only directshow splitter I know that handles dual audio AVI is haali's splitter, and that doesn't play all normal AVIs properly.
you forgot the one from Guliverkli project and Morgan Stream switcher.

Quote:
Originally Posted by check View Post
2. There is no technical reason to use dual audio AVI over mp4 or mkv.
there is...the lack support of mp4 and mkv SAPs with multi audio tracks + the free choice to choose whatever we want.

Quote:
Originally Posted by check View Post
I know of no player that handles dual audio AVI anyway )
Quote:
Tested players comparison
You look for a player that has at least the following features:
CONT-1D AVI with MP3 multi-audio test (MPEG4 ASP + Multiple MP3 2.0 48KHz 96Kbps CBR)
CONT-1E AVI with AC3 multi-audio test (MPEG4 ASP + Multiple AC3 5.1 Eng)

358 results are matching your requirements
http://divxtest.surdvd.com/form/divx...t.php?lang=eng

Last edited by Kurtnoise; 10th December 2007 at 14:52.
Kurtnoise is offline   Reply With Quote
Old 10th December 2007, 23:06   #3567  |  Link
JarrettH
Registered User
 
Join Date: Aug 2004
Location: Canada
Posts: 860
Does megui look for things like tivtc and colormatrix in the avisynth folder? just wondering because they have been updated and i usually replace them myself (in the avisynth folder)
JarrettH is offline   Reply With Quote
Old 11th December 2007, 00:45   #3568  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
MeGUI has a very simple version handling system: it assumes the user does absolutely nothing to any of the files, so that the current version is the version that MeGUI last installed. There is no support for notifying MeGUI of the changes you have made.

If you don't want MeGUI to overwrite your files, then go to the update window, and set "Ignore updates" for all the files you changed.
berrinam is offline   Reply With Quote
Old 11th December 2007, 16:22   #3569  |  Link
SpAwN_gUy
Junglist
 
SpAwN_gUy's Avatar
 
Join Date: May 2003
Location: Belarus, Minsk
Posts: 298
Quote:
Originally Posted by mroz View Post
@Berrinam: in post 3523 you might want to edit one word in your quote of SpAwN_gUy - I think that's a rather harsh way to descibe one of your children
Eh?

-------
'kay..
i'm waiting for those "nice profiles handling".. to reoganise my code... (and i'm writing some agentGUI (continued).. and maybe some Installer for an agent... and controller(who knows..)..)

and.. BTW.. has anyone seen the "x264farm Profile GUI" (i dont know the proper description, sorry).. the one with two huge EditBoxes... with first and second pass settings?

we've talked about that with berrinam.. and i've posted build in x264farm thread.. but.. no one suggested..

We (and I) really don't know.. how (or to what) to change those boxes..
(my next step in devs will be.. "saving x264Settings itself, but not only the strings.." .. 'cause for now AR is not passed to x264... only to the farm and then is assumed to be lost..)
__________________
Rule Number 6: Concentrate!!!
(c)Hercules, Disney

"I like to build planes.... in the air" (c) some ADV.

tutorials
How to Setup agent-based encoding with x264farm (the easy way)
SpAwN_gUy is offline   Reply With Quote
Old 12th December 2007, 00:34   #3570  |  Link
mroz
Registered User
 
mroz's Avatar
 
Join Date: Sep 2006
Posts: 201
Berrinam quoted your original version of "The Whole Megui", before you corrected yours. Both have the typo fixed now.
mroz is offline   Reply With Quote
Old 13th December 2007, 07:10   #3571  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
I'm going on holiday. I'll be back in a month.
berrinam is offline   Reply With Quote
Old 19th December 2007, 05:08   #3572  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
@kurtnoise: i saw you added VS2008 project files to 0.2.x branch, but im not sure VS2008 can compile the megui sources as they are.
IIRC some changes were needed in trunk to make it happy...
Sharktooth is offline   Reply With Quote
Old 19th December 2007, 07:46   #3573  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
should be fine now. So, don't forget to update your svn branch.

btw, I use MSVC# 2008 Express Edition...didn't tested with MSVC 2008.



edit: #1842385 & #1842643 can be closed in the bugtracker.

Last edited by Kurtnoise; 19th December 2007 at 10:48.
Kurtnoise is offline   Reply With Quote
Old 19th December 2007, 12:10   #3574  |  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 use EnsureVBRMP3Sync() with DSS only:

Code:
Index: trunk/megui/AviSynthAudioEncoder.cs
===================================================================
--- trunk/megui/AviSynthAudioEncoder.cs	(revision 447)
+++ trunk/megui/AviSynthAudioEncoder.cs	(working copy)
@@ -553,11 +553,11 @@
                 }
             }
             if (directShow)
+            {
                 script.AppendFormat("DirectShowSource(\"{0}\"){1}", audioJob.Input, Environment.NewLine);
+                script.AppendFormat("EnsureVBRMP3Sync(){0}", Environment.NewLine);
+            }
 
-            script.AppendFormat("EnsureVBRMP3Sync(){0}", Environment.NewLine);
-
-
             if (audioJob.Delay != 0)
                 script.AppendFormat("DelayAudio({0}.0/1000.0){1}", audioJob.Delay, Environment.NewLine);
Here is a patch to copy only the function used instead of the 5 ones:
Code:
Index: trunk/megui/AviSynthAudioEncoder.cs
===================================================================
--- trunk/megui/AviSynthAudioEncoder.cs	(revision 447)
+++ trunk/megui/AviSynthAudioEncoder.cs	(working copy)
@@ -782,61 +782,73 @@
             }
 
             script.AppendFormat("ConvertAudioTo16bit(){0}", Environment.NewLine);
+            script.AppendLine(@"return last");
 
-
-            script.AppendLine(
+            // copy the appropriate function at the end of the script
+            switch (audioJob.Settings.DownmixMode)
+            {
+                case ChannelMode.KeepOriginal:
+                    break;
+                case ChannelMode.ConvertToMono:
+                    break;
+                case ChannelMode.DPLDownmix:
+                    script.AppendLine(@"
+function x_dpl" + id + @"(clip a) 
+  {
+     fl = GetChannel(a, 1)
+     fr = GetChannel(a, 2)
+     c = GetChannel(a, 3)
+     sl = GetChannel(a, 5)
+     sr = GetChannel(a, 6)
+     ssr = MixAudio(sl, sr, 0.2222, 0.2222)
+     ssl = Amplify(ssr, -1.0)
+     fl_c = MixAudio(fl, c, 0.3254, 0.2301)
+     fr_c = MixAudio(fr, c, 0.3254, 0.2301)
+     l = MixAudio(ssl, fl_c, 1.0, 1.0)
+     r = MixAudio(ssr, fr_c, 1.0, 1.0)
+     return MergeChannels(l, r)
+  }");
+                    break;
+                case ChannelMode.DPLIIDownmix:
+                    script.AppendLine(
 @"
-
-return last
-
-function x_dpl" + id + @"(clip a) 
-{
-	fl = GetChannel(a, 1)
-	fr = GetChannel(a, 2)
-	c = GetChannel(a, 3)
-	sl = GetChannel(a, 5)
-	sr = GetChannel(a, 6)
-	ssr = MixAudio(sl, sr, 0.2222, 0.2222)
-	ssl = Amplify(ssr, -1.0)
-	fl_c = MixAudio(fl, c, 0.3254, 0.2301)
-	fr_c = MixAudio(fr, c, 0.3254, 0.2301)
-	l = MixAudio(ssl, fl_c, 1.0, 1.0)
-	r = MixAudio(ssr, fr_c, 1.0, 1.0)
-	return MergeChannels(l, r)
-}
-
 function x_dpl2" + id + @"(clip a) 
-{
-	fl = GetChannel(a, 1)
-	fr = GetChannel(a, 2)
-	c = GetChannel(a, 3)
-	sl = GetChannel(a, 5)
-	sr = GetChannel(a, 6)
-	ssl = MixAudio(sl, sr, 0.2818, 0.1627).Amplify(-1.0)
-	fl_c = MixAudio(fl, c, 0.3254, 0.2301)
-	ssr = MixAudio(sl, sr, 0.1627, 0.2818)
-	fr_c = MixAudio(fr, c, 0.3254, 0.2301)
-	l = MixAudio(ssl, fl_c, 1.0, 1.0)
-	r = MixAudio(ssr, fr_c, 1.0, 1.0)
-	return MergeChannels(l, r)
-}
-
+  {
+     fl = GetChannel(a, 1)
+     fr = GetChannel(a, 2)
+     c = GetChannel(a, 3)
+     sl = GetChannel(a, 5)
+     sr = GetChannel(a, 6)
+     ssl = MixAudio(sl, sr, 0.2818, 0.1627).Amplify(-1.0)
+     fl_c = MixAudio(fl, c, 0.3254, 0.2301)
+     ssr = MixAudio(sl, sr, 0.1627, 0.2818)
+     fr_c = MixAudio(fr, c, 0.3254, 0.2301)
+     l = MixAudio(ssl, fl_c, 1.0, 1.0)
+     r = MixAudio(ssr, fr_c, 1.0, 1.0)
+     return MergeChannels(l, r)
+  }");
+                    break;
+                case ChannelMode.StereoDownmix:
+                    script.AppendLine(@"
 function x_stereo" + id + @"(clip a) 
-{
-	fl = GetChannel(a, 1)
-	fr = GetChannel(a, 2)
-	c = GetChannel(a, 3)
-	lfe = GetChannel(a, 4)
-	sl = GetChannel(a, 5)
-	sr = GetChannel(a, 6)
-	l_sl = MixAudio(fl, sl, 0.2929, 0.2929)
-	c_lfe = MixAudio(lfe, c, 0.2071, 0.2071)
-	r_sr = MixAudio(fr, sr, 0.2929, 0.2929)
-	l = MixAudio(l_sl, c_lfe, 1.0, 1.0)
-	r = MixAudio(r_sr, c_lfe, 1.0, 1.0)
-	return MergeChannels(l, r)
-}
-
+  {
+     fl = GetChannel(a, 1)
+     fr = GetChannel(a, 2)
+     c = GetChannel(a, 3)
+     lfe = GetChannel(a, 4)
+     sl = GetChannel(a, 5)
+     sr = GetChannel(a, 6)
+     l_sl = MixAudio(fl, sl, 0.2929, 0.2929)
+     c_lfe = MixAudio(lfe, c, 0.2071, 0.2071)
+     r_sr = MixAudio(fr, sr, 0.2929, 0.2929)
+     l = MixAudio(l_sl, c_lfe, 1.0, 1.0)
+     r = MixAudio(r_sr, c_lfe, 1.0, 1.0)
+     return MergeChannels(l, r)
+  }");
+                    break;
+                case ChannelMode.Upmix:
+                    script.AppendLine(
+@"
 function x_upmix" + id + @"(clip a) 
 {
     m = ConvertToMono(a)
@@ -845,41 +857,46 @@
     c = SuperEQ(m,""" + tmp + @"center.feq"") 
     lfe = SuperEQ(m,""" + tmp + @"lfe.feq"") 
     return MergeChannels( f.getleftchannel, f.getrightchannel , c, lfe, s.getleftchannel, s.getrightchannel)
-}
-
+}");
+                    break;
+                case ChannelMode.UpmixUsingSoxEq:
+                    script.AppendLine(
+@"
 function x_upmixR" + id + @"(clip Stereo) 
 {
-	Front = mixaudio(Stereo.soxfilter(""filter 0-600""),mixaudio(Stereo.soxfilter(""filter 600-1200""),Stereo.soxfilter(""filter 1200-7000""),0.45,0.25),0.50,1)
-	Back = mixaudio(Stereo.soxfilter(""filter 0-600""),mixaudio(Stereo.soxfilter(""filter 600-1200""),Stereo.soxfilter(""filter 1200-7000""),0.35,0.15),0.40,1)
-	fl = GetLeftChannel(Front)
-	fr = GetRightChannel(Front)
-	cc = ConvertToMono(stereo).SoxFilter(""filter 625-24000"")
-	lfe = ConvertToMono(stereo).SoxFilter(""lowpass 100"",""vol -0.5"")
-	sl = GetLeftChannel(Back)
-	sr = GetRightChannel(Back)
-	sl = DelayAudio(sl,0.02)
-	sr = DelayAudio(sr,0.02)
+    Front = mixaudio(Stereo.soxfilter(""filter 0-600""),mixaudio(Stereo.soxfilter(""filter 600-1200""),Stereo.soxfilter(""filter 1200-7000""),0.45,0.25),0.50,1)
+    Back = mixaudio(Stereo.soxfilter(""filter 0-600""),mixaudio(Stereo.soxfilter(""filter 600-1200""),Stereo.soxfilter(""filter 1200-7000""),0.35,0.15),0.40,1)
+    fl = GetLeftChannel(Front)
+    fr = GetRightChannel(Front)
+    cc = ConvertToMono(stereo).SoxFilter(""filter 625-24000"")
+    lfe = ConvertToMono(stereo).SoxFilter(""lowpass 100"",""vol -0.5"")
+    sl = GetLeftChannel(Back)
+    sr = GetRightChannel(Back)
+    sl = DelayAudio(sl,0.02)
+    sr = DelayAudio(sr,0.02)
     return MergeChannels(fl,fr,cc,lfe,sl,sr)
-}
-
+}");
+                    break;
+                case ChannelMode.UpmixWithCenterChannelDialog:
+                    script.AppendLine(
+@"
 function x_upmixC" + id + @"(clip stereo) 
 {
-	left = stereo.GetLeftChannel()
-	right = stereo.GetRightChannel()
-	fl = mixaudio(left.soxfilter(""filter 0-24000""),right.soxfilter(""filter 0-24000""),0.6,-0.5)
-	fr = mixaudio(right.soxfilter(""filter 0-24000""),left.soxfilter(""filter 0-24000""),0.6,-0.5)
-	cc = ConvertToMono(stereo).SoxFilter(""filter 625-24000"")
-	lfe = ConvertToMono(stereo).SoxFilter(""lowpass 100"",""vol -0.5"")
-	sl = mixaudio(left.soxfilter(""filter 0-24000""),right.soxfilter(""filter 0-24000""),0.5,-0.4)
-	sr = mixaudio(right.soxfilter(""filter 0-24000""),left.soxfilter(""filter 0-24000""),0.5,-0.4)
-	sl = DelayAudio(sl,0.02)
-	sr = DelayAudio(sr,0.02)
+    left = stereo.GetLeftChannel()
+    right = stereo.GetRightChannel()
+    fl = mixaudio(left.soxfilter(""filter 0-24000""),right.soxfilter(""filter 0-24000""),0.6,-0.5)
+    fr = mixaudio(right.soxfilter(""filter 0-24000""),left.soxfilter(""filter 0-24000""),0.6,-0.5)
+    cc = ConvertToMono(stereo).SoxFilter(""filter 625-24000"")
+    lfe = ConvertToMono(stereo).SoxFilter(""lowpass 100"",""vol -0.5"")
+    sl = mixaudio(left.soxfilter(""filter 0-24000""),right.soxfilter(""filter 0-24000""),0.5,-0.4)
+    sr = mixaudio(right.soxfilter(""filter 0-24000""),left.soxfilter(""filter 0-24000""),0.5,-0.4)
+    sl = DelayAudio(sl,0.02)
+    sr = DelayAudio(sr,0.02)
     return MergeChannels(fl,fr,cc,lfe,sl,sr)
-}
-                                                                                                                                                     
+}");
+                    break;
+            }
 
-"
-        );
             _avisynthAudioScript = script.ToString();
 
             _log.LogValue("Avisynth script", _avisynthAudioScript);
the main goal of these patches is to improve the logfile reading.
Kurtnoise is offline   Reply With Quote
Old 19th December 2007, 15:53   #3575  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
Quote:
Originally Posted by Kurtnoise13 View Post
should be fine now. So, don't forget to update your svn branch.

btw, I use MSVC# 2008 Express Edition...didn't tested with MSVC 2008.



edit: #1842385 & #1842643 can be closed in the bugtracker.
on my way.

Last edited by Sharktooth; 19th December 2007 at 15:56.
Sharktooth is offline   Reply With Quote
Old 26th December 2007, 20:12   #3576  |  Link
darkKlor
Registered User
 
Join Date: Jul 2006
Posts: 7
Quote:
Originally Posted by Kurtnoise13 View Post
should be fine now. So, don't forget to update your svn branch.

btw, I use MSVC# 2008 Express Edition...didn't tested with MSVC 2008.



edit: #1842385 & #1842643 can be closed in the bugtracker.
i'll just confirm for you that it compiles in MSVC 2008, VSTS to be precise. there was no reason why it wouldn't anyway, the compiler is identical

edit: mind u, i will add that AvisynthWrapper.dll and MediaInfo.dll don't get copied to the output directory when you compile... i'm not sure if that's by design?

Last edited by darkKlor; 27th December 2007 at 02:42.
darkKlor is offline   Reply With Quote
Old 27th December 2007, 22:41   #3577  |  Link
cogman
The Crazy Idahoan
 
Join Date: Jun 2007
Location: Idaho
Posts: 249
Hope this goes here, but I was just doing a triple pass encode (Yay!) and decided that that a pre-render might speed things up a bit. So here is what I was wondering, Would it be possible to do a pass while saving the rendered video for the next pass to give that extra few minutes of speed? How hard would that be to implement as I think it could be a nice speed increase for the multipass people. (that or Im doing something wrong )

Just a suggestion, like I said, don't know if it belongs here or in the AVC forum. Keep up the good work guys!
cogman is offline   Reply With Quote
Old 28th December 2007, 14:57   #3578  |  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 darkKlor View Post
edit: mind u, i will add that AvisynthWrapper.dll and MediaInfo.dll don't get copied to the output directory when you compile... i'm not sure if that's by design?
I don't think it's by design...



@Cogman: I don't think it's doable...but I'm not sure.
Kurtnoise is offline   Reply With Quote
Old 28th December 2007, 14:58   #3579  |  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 Kurtnoise13 View Post
the main goal of these patches is to improve the logfile reading.
If noone object, I'll commit those patches this weekend.
Kurtnoise is offline   Reply With Quote
Old 28th December 2007, 17:51   #3580  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
ok for me.
Sharktooth is offline   Reply With Quote
Reply

Tags
development, megui, not a help thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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 21:38.


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