View Full Version : MeGUI: General Questions and Troubleshooting Thread
Carpo
20th November 2009, 16:47
that version will work fine :)
rapscallion
20th November 2009, 20:22
@carpo...although a poster mentioned a few pgs back that he had a compatibilty issue with a sa Panasonic BD player using 1309.
He changed to 1336 and said it was fine. Not tested by me.
____________________________________________________
I have a 1080i source that I tested a small clip with.
"encode interlaced" box is checked and I get this warning in the first pass :
"[warning]:interlace+direct=temporal is not implemented"
I don't see temporal anywhere in the command line, so why is this warning being generated ? (1056/r1309)
Is it better to deinterlace the source before encoding, rather than Megui is there a good program to do this that anyone can recommend?
Carpo
20th November 2009, 23:27
I use the pc and MPC-HC so i wouldn't know bout issues with that player
usmando
21st November 2009, 09:40
I'm having a strange and irritating issue with encoded x264 videos. i encode my clips for mobile occasionally.
I was using a slightly old version of megui and i noticed it stopped updating, so i downloaded the new installer and deleted my old megui folder. Now i see that the videos encoded with latest version of x264 have a strange blockiness in them... i'm quite sure it is not because of bit-rate because it occurs even with fairly high bit-rates and moderate motion scenes. I have attached a sample of encoded video...with high motion just to emphasize the effect..
http://www.divshare.com/download/9440248-9dd
i first used the patched build of x264 which comes with megui update, then tried with latest unpatched build from x264.nl but alll results are the same. plus i have to turn off "Keep some B-frames as reference" otherwise it gives error.
here is my mediainfo:
General
Complete name : C:\Users\Administrator\Desktop\tstt\testclip.mkv
Format : Matroska
File size : 2.02 MiB
Duration : 28s 160ms
Overall bit rate : 600 Kbps
Encoded date : UTC 2009-11-21 08:27:31
Writing application : mkvmerge v2.9.7 ('Tenderness') built on Jul 1 2009 18:43:35
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L1.3
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Muxing mode : Container profile=Unknown@1.3
Codec ID : V_MPEG4/ISO/AVC
Duration : 28s 160ms
Bit rate : 588 Kbps
Width : 320 pixels
Height : 176 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.418
Stream size : 1.98 MiB (98%)
Language : English
Dark Shikari
21st November 2009, 09:47
I'm having a strange and irritating issue with encoded x264 videos. i encode my clips for mobile occasionally.
I was using a slightly old version of megui and i noticed it stopped updating, so i downloaded the new installer and deleted my old megui folder. Now i see that the videos encoded with latest version of x264 have a strange blockiness in them... i'm quite sure it is not because of bit-rate because it occurs even with fairly high bit-rates and moderate motion scenes. I have attached a sample of encoded video...with high motion just to emphasize the effect..
http://www.divshare.com/download/9440248-9dd (http://www.divshare.com/do?wnload/9440248-9dd)Let me guess, you're using CoreAVC or an otherwise broken decoder? The video plays just fine here.
rapscallion
21st November 2009, 14:13
+1, plays fine here as well.
Flux
21st November 2009, 14:33
I have couple videos as Avisynth scripts and each of them have different resize methods and other stuff, but the video format like frame rate, color space and final resolution are identical for all. How I can combine these scripts the way that MeGUI see them as one single video? I could encode all these scripts as lossless videos and then merge them with DirectShowSource + DirectShowSource, etc. but is it really necessary to do that?
usmando
21st November 2009, 20:53
Ummm.... yes CoreAVC. whats wrong with CoreAVC? I thought it was the best decoder around. Even on my phone i use CorePlayer to watch these videos so i guess that is the issue.
stax76
21st November 2009, 21:04
There is a bug somewhere, I think related the new --weightp feature which is enabled by default. A alternative decoders from Microsoft, DivX or ffdshow might help.
usmando
21st November 2009, 22:13
So this means if i want to convert videos for my smartphone (which uses Coreplayer), i should use an older version of x264. Thanks for the help guys.
stax76
21st November 2009, 22:20
Or use --weightp 0 but I'm not sure.
Dark Shikari
21st November 2009, 22:32
Or --weightp 1. It's only 2 that's broken.
n0an
23rd November 2009, 04:49
Hello,
The bitrate calculator in meGUI calculates a value and feeds it right in the config, but the video turns out to be either really big or smaller than it was calculated to be.
For example, it calculated bitrate for a 1hr24min as 1033 kbps + 128 kbps audio, but the encoded video was at 811 kbps. That is, ~200 kbps less than what it was supposed to be.
Codec ID/Hint : XviD
Duration : 1h 24mn
Bit rate : 811 Kbps
Width : 656 pixels
Height : 272 pixels
Display aspect ratio : 2.40:1
Frame rate : 23.976 fps
Earlier on a friend's PC, the calculator calculated bitrate for a 1/3DVD video, but the resulting file size was 2.23GB or so. I re-encoded with same bitrate thrice, but still same 2.23 size. There are no updates available at the moment as well.
Is this a known bug?
P.S. I think someone had posted this in the troubleshooting thread earlier, but it went unnoticed.
n0an
23rd November 2009, 04:49
Sorry, pc froze and I double clicked :|.
rudiev
23rd November 2009, 12:36
I also used Sharktooh profile collection so far until incompatibily with megui 1057.
In your picture I see you prefer using insane profile.
Did you check the logfile x264 really running with this settings or just fast preset?
That was me using the insane profile, here the log:
--[NoImage] Job commandline: "C:\Program Files (x86)\megui\tools\x264\x264.exe" --profile high --level 4.1 --preset fast --pass 1 --bitrate 14400 --stats "X:\file001.stats" --slow-firstpass --thread-input --output NUL "X:\file001.avs"
--[Information] [20-11-2009 11:49:18] Encoding started
--[NoImage] Standard output stream
--[NoImage] Standard error stream
---[NoImage] avis [info]: 1920x1080 @ 24.00 fps (172066 frames)
---[NoImage] x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
---[NoImage] x264 [info]: profile High, level 4.1
---[NoImage]
---[NoImage] x264 [info]: slice I:1388 Avg QP:13.16 size:201802
---[NoImage] x264 [info]: slice P:67076 Avg QP:15.31 size:114394
---[NoImage] x264 [info]: slice B:103602 Avg QP:17.18 size: 44682
---[NoImage] x264 [info]: consecutive B-frames: 6.8% 32.3% 13.3% 47.6%
---[NoImage] x264 [info]: mb I I16..4: 49.0% 19.0% 32.0%
---[NoImage] x264 [info]: mb P I16..4: 14.2% 16.6% 8.9% P16..4: 15.8% 9.4% 2.6% 0.0% 0.0% skip:32.4%
---[NoImage] x264 [info]: mb B I16..4: 8.1% 0.0% 0.0% B16..8: 27.9% 2.3% 1.6% direct:14.2% skip:45.9% L0:28.6% L1:27.7% BI:43.7%
---[NoImage] x264 [info]: final ratefactor: 19.11
---[NoImage] x264 [info]: 8x8 transform intra:31.3% inter:28.4%
---[NoImage] x264 [info]: coded y,uvDC,uvAC intra:87.2% 70.8% 28.6% inter:28.3% 23.9% 0.6%
---[NoImage] x264 [info]: ref P L0 76.9% 23.1%
---[NoImage] x264 [info]: kb/s:14040.1
--[Information] [20-11-2009 17:54:39] Postprocessing
---[Information] Deleting intermediate files
--[Information] [20-11-2009 17:54:39] Job completed
Profile high, preset fast. Is this right or wrong? And if wrong, how to fix it? Using megui v1056, x264 1183m.
djesteban
23rd November 2009, 18:59
Profile collection which coming with update was created in this topic: New MeGUI x264 presets (http://forum.doom9.org/showthread.php?p=1162196#post1162196) creator is Sharktooth.
Last version is v85. It is called STx264 on update list.
But these profiles were not modified for new x264.
That is why it is outdated.
In addition I wrote in previous page the settings from profile are not sent correctly to x264.
I chose DXVA HD HQ profile, sent calculated bitrate and start encoding.
When I checked the logfile encoding parameters was not from the profile, instead of that the encoder was running with in-built fast preset.
It is quite far from HQ profile settings.
Also I saw the ncatt modified profiles have same name as Sharktooth profiles but have different settings.
It is I have realized into so far.
EDIT:
You are right, if you select advanced setting the parameters will be from profiles instead of preset.
bye
szabi
1057 seems to be completely broken when trying to use any form of encoder settings (i tried with the ncatt profiles).
For example:
- First, install the ncatt profiles.
- Choose a profile in the Encoder Settings drop down menu and click the Config button.
- Now, usually, to activate the custom commands of the profile you have just selected, you only need to check Advanced Settings in the x264 configuration dialog... but this time, in 1057, only b-pyramid and vbv-maxrate seems to appear.
- Now, try something else. Stay in the x264 configuration dialog, and select a profile in the Presets drop down menu at the bottom of this window... be sure to recheck Advanced Settings. Nice! Now we have the correct advanced settings listed in the command dialog for this particular profile.
- Now, click OK to confirm the changes and immediately go back in Config to see if everything stayed as-is. Unfortunately, you will notice that everything was reset to the basic command plus b-pyramid and vbv-maxrate (but no sign of the actual custom setting for the profile).
So obviously, if you don't know that and start encoding, your output will look like garbage.
1057 is broken, PLEASE fix it as it is impossible to save/create or use profile presets. PLEEEEEEEASE :(
Thanks
szabi
24th November 2009, 09:14
That was me using the insane profile, here the log:
.
.
.
Profile high, preset fast. Is this right or wrong? And if wrong, how to fix it? Using megui v1056, x264 1183m.
Hi
You have the same situation like me.
That is the correct DXVA-HD-Insane parameters:
program --profile high --level 4.1 --preset fast --pass 2 --bitrate 1000 --stats ".stats" --thread-input --deblock -1:-1 --ref 4 --vbv-bufsize 50000 --vbv-maxrate 50000 --merange 32 --me tesa --direct auto --subme 8 --partitions p8x8,b8x8,i4x4,i8x8 --trellis 2 --no-dct-decimate --output "output" "input"
In this profile red marked parameters are responsible for DXVA compatibility.
You can reach this if follow what Inspector.Gadget wrote (http://forum.doom9.org/showthread.php?p=1345529#post1345529).
Click to Config of encoder settings.
Choose your profile here from drop down box menu below.
Activate advanced settings.
Insert your bitrate.
Click OK (save or not depends on you)
Enqueue
After you start encoding go to log and mark Job commandline.
Right click on it and Edit Text -> Node
Now you can check whether parameters were sent correctly.
Hopefully yes. :)
But do not forget x264r1183 and Sharktooth profiles quite old.
Much better if you create your own profile based on new x264r1342 in-built presets.
Actually I did it.
http://img214.imageshack.us/img214/8137/meguiconfig2.gif
Bye
szabi
szabi
24th November 2009, 09:31
1057 seems to be completely broken when trying to use any form of encoder settings (i tried with the ncatt profiles).
For example:
- First, install the ncatt profiles.
- Choose a profile in the Encoder Settings drop down menu and click the Config button.
- Now, usually, to activate the custom commands of the profile you have just selected, you only need to check Advanced Settings in the x264 configuration dialog... but this time, in 1057, only b-pyramid and vbv-maxrate seems to appear.
- Now, try something else. Stay in the x264 configuration dialog, and select a profile in the Presets drop down menu at the bottom of this window... be sure to recheck Advanced Settings. Nice! Now we have the correct advanced settings listed in the command dialog for this particular profile.
- Now, click OK to confirm the changes and immediately go back in Config to see if everything stayed as-is. Unfortunately, you will notice that everything was reset to the basic command plus b-pyramid and vbv-maxrate (but no sign of the actual custom setting for the profile).
So obviously, if you don't know that and start encoding, your output will look like garbage.
1057 is broken, PLEASE fix it as it is impossible to save/create or use profile presets. PLEEEEEEEASE :(
Thanks
If you go back the Config it will not display what you set up.
An other issue which should be fixed.
I see you found the same solution like me. :)
As I wrote above ckeck the Job commandline whether parameters was sent correctly or not.
Anyway experts wrote much better if you use MB-Tree instead of B-pyramid.
Supposedly you get better quality.
But do not use them together.
Anyway which profile you would like to use if B-pyramid active?
Bye
szabi
rudiev
24th November 2009, 12:27
...
But do not forget x264r1183 and Sharktooth profiles quite old.
Much better if you create your own profile based on new x264r1342 in-built presets.
Actually I did it.
<image>
Bye
szabi
Thanks for your reply! But how did you build your own profiles based on the new x264r1342 built-in presets, now r1347 at x264.nl. I know simply to replace the x264.exe with a new one, but what else do i have to do for this. Where did you get the extra information for those new profiles?
szabi
24th November 2009, 13:43
Thanks for your reply! But how did you build your own profiles based on the new x264r1342 built-in presets, now r1347 at x264.nl. I know simply to replace the x264.exe with a new one, but what else do i have to do for this. Where did you get the extra information for those new profiles?
I forgot to check whether there is a new x264. I did not know it.
Thnx for notify me.
Info about presets is here (http://mewiki.project357.com/wiki/X264_Settings)
I am not expert that is why I used in-built presets.
I chosed preset slower and modified it to have DXVA compatibility.
You need red marked settings for it.
Also deblock was changed for little sharper picture
Finally I got this:
program --profile high --level 4.1 --preset slower --pass 2 --bitrate 10000 --stats ".stats" --thread-input --deblock -1:-1 --ref 4 --vbv-bufsize 50000 --vbv-maxrate 50000 --output "output" "input"
If gui can not read preset correctly go to Misc and click preset settings.
MeGui set up --subme 10 for preset slower but with this it should be 9. It also megui issue. That was I changed also back to 9 under Analysis button => Subpixel Refinement.
--deblock -1:-1 available under Frame-Type => deblocking Strenght: -1 and Treshold: -1 also.
--ref 4 is controlled Number of Reference Frames: 4.
--vbv-bufsize 50000 --vbv-maxrate 50000 are under Rate Control.
VBV Buffer Size: 50000 and VBV Maximum Bitrate: 50000
If you finished click new button below and create your own profile.
But do not forget if you want to use it follow the choosing step I wrote it in previous reply.
Bye
szabi
rudiev
24th November 2009, 17:54
@szabi
I'm gonna try to make this new profile. Till now i got the nasty problem that when i made a new profile and saved it and then quit megui i get an error "There was an error clearing the profile folder before deletion: The directory is not empty". After this all my profiles are gone! I have to import them again for them sharktook presets v85 zip-file.
I let you know when it done..
prOnorama
24th November 2009, 18:10
I'd just use
--level 4.1 --preset veryslow --bitrate xxxx ---vbv-bufsize 50000 --vbv-maxrate 50000
You can add --tune film, --tune grain or --tune animation for specific content
Or use --preset placebo, but that's really really slow
rudiev
24th November 2009, 18:27
@szabi
Finally got my new profile saved, played around with some setting based on the DXVA-HD-Insane:
program --profile high --level 4.1 --preset slower --pass 2 --bitrate 14400 --stats ".stats" --slow-firstpass --thread-input --deblock -1:-1 --bframes 3 --b-adapt 2 --direct auto --b-bias 0 --scenecut 40 --ref 4 --vbv-bufsize 50000 --vbv-maxrate 50000 --rc-lookahead 40 --aq-mode 1 --aq-strength 1.0 --merange 32 --me tesa --subme 9 --partitions all --trellis 2 --psy-rd 1.0:0 --no-dct-decimate --output "output" "input"
First pass take more than 2 days for 90 minutes source
Have to tune it some way :)
szabi
24th November 2009, 20:03
This is your profile:
program --profile high --level 4.1 --preset slower --pass 2 --bitrate 14400 --stats ".stats" --slow-firstpass --thread-input --deblock -1:-1 --bframes 3 --b-adapt 2 --direct auto --b-bias 0 --scenecut 40 --ref 4 --vbv-bufsize 50000 --vbv-maxrate 50000 --rc-lookahead 40 --aq-mode 1 --aq-strength 1.0 --merange 32 --me tesa --subme 9 --partitions all --trellis 2 --psy-rd 1.0:0 --no-dct-decimate --output "output" "input"
According to X264 Settings on MeWiki (http://mewiki.project357.com/wiki/X264_Settings) red marked parameters are not needed to write to commandline because they are the default settings of x264.
Green marked are default of slower preset so if you use slower preset you do not have to write to commandline them.
If you would use merange and me from slower preset instead of your own, your encoding time will increase.
EDIT: bframes 3 is also default of slower, I missed it first.
bye
szabi
prOnorama
24th November 2009, 20:48
@ szabi: you don't need to set --ref 4, it gets handled by the --level 4.1 switch, also --profile high is not needed (default) and rc-lookahead for profiles slower and up is 60 (not 40 that's for faster profiles, of course if you want that in slower profiles it's correct to specify it)
@ rudiv: --me tesa is the real speed killer here, I'd use --me uhm
szabi
24th November 2009, 22:16
If I set preset slower --ref 8 are used, I have to change back to 4 for DXVA compatibility. Unless you have smaller resolution. :cool:
Anyway I also would use default rc-lookahead 60 and me umh which is from slower profile as you wrote.
Finally I went back to my profile I wrote above. :)
bye
szabi
szabi
25th November 2009, 09:09
So this means if i want to convert videos for my smartphone (which uses Coreplayer), i should use an older version of x264. Thanks for the help guys.
For my mobile I have to use Baseline Profile with Level 1.3.
I use preset slow.
I can not use CABAC.
Reference Frames is 2.
VBV Buffer Size 2000.
VBV Maximum Bitrate 768.
program --profile baseline --level 1.3 --preset slow --pass 2 --bitrate 450 --stats ".stats" --thread-input --deblock -1:-1 --ref 2 --vbv-bufsize 2000 --vbv-maxrate 768 --output "output" "input"
It is working for me.
As I see in your info:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L1.3
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Muxing mode : Container profile=Unknown@1.3
Codec ID : V_MPEG4/ISO/AVC
Duration : 28s 160ms
Bit rate : 588 Kbps
Width : 320 pixels
Height : 176 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.418
Stream size : 1.98 MiB (98%)
Language : English
Red marked one break the compatibility for my mobile.
Check this for your device: click (http://spreadsheets.google.com/pub?key=tYGTjNd0dG6P_A9z-YkFzFg&output=html)
bye
szabi
quantum5uicid3
27th November 2009, 01:14
1. use Megui 1056 from sourceforge
http://sourceforge.net/projects/megui/
2. put this as your update server
http://megui.org/auto/
3. uncheck the box to update the core, because 1057 is broken. update everything else
4. put the latest version of x264 in the \megui\tools\x264 directory overwriting the old
http://x264.nl/
5. here is the info you need to make your own megui presets
http://mewiki.project357.com/wiki/X264_Settings
http://forum.doom9.org/showthread.php?t=149711
6. The only problem I've encountered with 1056 is:
b-pyramid checkbox is broken, don't check the box that says "Keep some B-Frames for reference"
7. THIS IS WHAT YOU NEED TO DO IF YOUR STUCK USING OLD COREAVC
weightp is new and has not been implemented into megui at all yet, the x264 default of --weightp 2 doesn't play properly on CoreAVC
add either of these to the custom command line field in the Misc tab of the x264 configuration dialog
--weightp 0
--weightp 1
UNLESS YOU KNOW WHAT YOUR DOING, YOU DON'T NEED TO DO THIS PART. THE DEFAULT OF NONE IS GOOD.
the syntax for --b-pyramid changed, this is how you change the default now.
add either of these two to the custom command line field in the Misc tab of the x264 configuration dialog
--b-pyramid normal
--b-pyramid strict
Schra
29th November 2009, 02:34
Maybe it is helpful:
http://forum.doom9.org/showthread.php?p=1349678
Create a backup of your complete megui files and copy these new files into your megui directory. Beside the main program file I have included the latest x264 (r1352, patched) and one of my x264 profile files.
0.3.1.1057
- [x264Config] add support for weighted P prediction. Requires x264 revision 1327 or higher.
- [x264Config] fix issues with weighted B prediction
- [264Config] fix an issue where custom profile settings may be lost
- [x264Config] very minor cosmetic changes
- removed the UAC elevation prompt. If required please run the program as administrator
- [Util] + [FileUtil] incompatible xml files (e.g. profiles) will be moved to a backup dir
- fixed the problem of the incompatible x264 profiles. As a result the old B-Pyramid setting will be disabled
- [OSInfo] fixed a problem with the .NET detection
- [MuxStreamControl] preselect language if the filename contains the language name
I did not change the version number for obvious reasons. Hopefully kurtnoise/sharktooth/... will continue their work on this great program. Kudos to them!
Patch code is included, full source code can be requested if necessary (I do not know the GPL in every detail. If this is not sufficient please drop me a line and I will upload the full source files).
This quick fix solves not all problems regarding the x264ConfigPanel. For example the preset values are not up to date with the latest x264 version, wrong/old profiles will not be updated, ...
Create a backup of your files!
WARNING: In these few hours I could not understand the whole program code. Therefore the fix may be incomplete or new problems may arise. Nevertheless it worked for me.
By the way - joinded since 2001 and my first post has been today...
stax76
29th November 2009, 03:15
It crashes in DotNetVersionFormated.
Schra
29th November 2009, 03:35
It crashes in DotNetVersionFormated.
Right at the beginning? Strange and unwelcome start :confused:
What kind of OS/.NET do you use? I tried it only on Windows 7 x64 but this works (at least for me)
Did you put it in a 1057 directory? Please try to put it in a clean directory (only the megui.exe). It should start with no problems.
EDIT: Added a little debug code. Please download it again.
stax76
29th November 2009, 04:06
It's a array bounds issue, if you make a debug build and include the pdb file with it and write the stack trace to a log file (a stack trace should not be shown to the user with a message box) then I could tell you the exact line number where it throws since the stack trace contains line numbers then. My system is Win 7 32bit .NET 2.0, 3.5, 4.0 beta 2, I've copied your build on top of 1056.
lnatan25
29th November 2009, 07:21
If I remember correctly, the problem was due to some logger accessing something wrong. Just comment the lines of "iLogger" or whatever it was called, and it will not throw the exception. :)
Schra
29th November 2009, 14:08
It's a array bounds issue, if you make a debug build and include the pdb file with it and write the stack trace to a log file (a stack trace should not be shown to the user with a message box) then I could tell you the exact line number where it throws since the stack trace contains line numbers then. My system is Win 7 32bit .NET 2.0, 3.5, 4.0 beta 2, I've copied your build on top of 1056.
Sorry, too late yesterday and only a quick workaround. Here you can find the debug build:
removed Reason: The problem has been fixed in the newest build
If I remember correctly, the problem was due to some logger accessing something wrong. Just comment the lines of "iLogger" or whatever it was called, and it will not throw the exception. :)
Yes, you are right. It is not necessary for the program itself. At least I can find no reference beside this log entry.
edtee
30th November 2009, 06:33
Thanx, Schra, I'll give your modded code a go. Also big thanks to kurtnoise, Sharktooth, and the whole team who make megui possible. I love this tool as a great mix between power/control and ease of use. Many other tools hide more than I like. I'd rather learn, even if it means messing up an encode. Worse case is I lose some time, and gain a little knowledge.
Schra, I did a quick try of you code. Really not more than a start, and quick look around. It fails on close with a error about saving to a profile. I saw that error and your note on UAC and immediately thought that was the issue... Sure enough giving MeGui Admin on startup seems to resolve the issue for me.
Not too big a deal except... the only way I could close/exit MeGui was to open Window's task manager and end the process. Of course this all is unneeded once admin rights are given to the shortcut. Still this could be an issue to some users. I'm using Win7 64bit Pro for my OS. Let me know if you'd like more info.
Schra
30th November 2009, 19:14
It fails on close with a error about saving to a profile. I saw that error and your note on UAC and immediately thought that was the issue... Sure enough giving MeGui Admin on startup seems to resolve the issue for me.
[....]
Still this could be an issue to some users. I'm using Win7 64bit Pro for my OS. Let me know if you'd like more info.
Yes, removing UAC could cause some problems for inexperienced users. Nevertheless I am no fan of an application which demands administrative permissions on every start. In my opinion a program should run with as low permissions as possible and request admin access only if necessary. At the moment I have found two main places where admin access is required when installed to a protected directory (e.g. program files): update + program closing (write log files and profiles). Nevertheless there are a few other actions which require such an access. So the easiest thing would be to add the mandatory UAC prompt back to the program. Otherwise the complete file writing action has to be moved to a directory with write access (e.g. commonappdata for profiles/log/settings) and the update manager has to be a separate process with UAC prompt. Or - as a workaround - I could add a message box at program start indicating that the program does not have full access to the required files and folders and that it should be started with UAC. What do you prefer?
Not too big a deal except... the only way I could close/exit MeGui was to open Window's task manager and end the process.
It's a general issue with the error handling. I do not know if this works as designed. On the other hand it will require some work to change all the error handlers to a more user-friendly and common way.
lnatan25
1st December 2009, 01:57
The easiest way to fix would be to move all the updates/tools/profiles to %appdata%, one of which (Roaming or LocalLow) doesn't require Admin privileges. "But still, in order to update the main application, a UAC pop should come out. Not that it's very difficult to implement.
edtee
1st December 2009, 06:45
Regarding UAC/admin rights... Personally I have a known workaround, but you asked my opinion. I'm not a coder, so I don't truly know what the easiest programming fix is. Also I'm not confident I speak for a large number of users, but... For now, I'd say just put back in the old mandatory UAC pop-up, to escalate access.*
I agree with your philosophy of how a program should behave. However given that there have been some relatively large changes to x264's relationship to MeGui, and we seem to have lost(hopefully temporarily) some of the main coders. I'd prefer your time(generously given, thank you) go to addressing these areas first. After the app. gets back to what the community considers it's older level of some stability, these other changes could be done/addressed. Of course I don't know how much effort you want(can afford) to put into this. However if you plan to put alot of effort into this then it might make more sense for you to cleanup the code, so you can more easily improve it. In the long run I like the idea of moving out the code(ie updates) that needs a higher privilege and relocating stored data to a dir with lower restrictions. I think people would understand an update needing admin rights(via standard Windows UAC pop-up), as it's basically a program installation process(from a user's point of view).
*I ran your options by my wife, as a test of a less tech. savvy user(no reflection on my wife's intellect;) ). The message box idea didn't seem to help the confusion, as she wasn't sure she needed to give admin rights, and a wrong answer leads to the issue of not closing cleanly. I know it's a small thing, but I think people are just used to Windows pop-ups and way of doing things. Hence, it's less confusing to them, even if they may technically be doing the same thing, just asked differently.
stax76
1st December 2009, 08:59
What can be done is detecting if the startup dir is writable and restart with elevated privileges if it's not. That don't fix the issue that the application should not require admin privileges but it would be a easy fix until the admin requirements are removed. It works as follows:
[STAThread()]
public static void Main()
{
Application.SetCompatibleTextRenderingDefault(false);
Application.EnableVisualStyles();
try {
// 'Contains' is a LinQ extension method shipped with .NET 3.5 and upwards
if (!Environment.GetCommandLineArgs().Contains("-elevate"))
File.Create(Application.StartupPath + "\\writeCheck");
Application.Run(new MainForm());
} catch {
try {
Process p = new Process();
p.StartInfo.FileName = Application.ExecutablePath;
p.StartInfo.Arguments = "-elevate";
p.StartInfo.Verb = "runas";
p.Start();
} catch {
}
}
}
Download features require much work and often cause problems. I would try to avoid such features but if I had to download applications I would start a process with elevated privileges downloading it to the startup dir. It would not be a separate application but simply restarting with a command line like '-update'. It could be a second instance and if necessary the first instance could hide and block until the second instance performing the admin work terminates or the first instance terminates and the second instance take over. Things often seem difficult but aren't and there is a simple solution.
The write check is a file IO operation which slows down the startup, file IO operations should be done either after the main form was shown (there is a 'Shown' event) or with separate thread.
The users dir and the program data dir should not contain executables. Settings should be in the app data dir or in a custom dir. Microsoft has guidelines for everything. What helps much is looking at other applications, Firefox, Visual Studio, the good ones.
quantum5uicid3
1st December 2009, 10:08
.....
quantum5uicid3
1st December 2009, 10:14
.....
livetolove92
1st December 2009, 12:15
What does it mean " invalid argument b-pyramid = --b bias " ? Somebody help me plz :D. I use megui1056, x264 revision 1354 and Avisynth 2.5.7.
Kurtnoise
1st December 2009, 13:09
why you want to remove UAC ? that's not a good thing imo...
@Shra : I cannot download your patch...could you put it somewhere else ?
MatLz
1st December 2009, 13:47
@Livetolove92
It's because Megui 1056 is outdated compared to the X264 build you use.
I think you must disabled b-pyramid in the settings and write the custom command line ' --b-pyramid normal ' instead of.
Carpo
1st December 2009, 14:25
in 1056 - do people leave the profile they have selected (if the new ones p6, p7 etc) as is, or do you change the avc profiles and avc levels from auto guess to what you like, or do you leave them?
Being someone who likes the best quality i can get based on the system i have i norm use high and 4.1 - or is that overkill?
MatLz
1st December 2009, 15:48
I see a lot of users in trouble with X264 parameters.
Why not an option which completely disable the Megui codec settings to prevent the incompatibility with the often updated X264 builds?
By that I mean a 'total custom command-line' (input and output excepted)
The users could simply copy/paste the right command-line found on the forum in waiting the Megui update.
Is a stupid suggestion?
Schra
1st December 2009, 16:21
why you want to remove UAC ? that's not a good thing imo...
First of all: Great to see that you are still around and are not mad that I have (mis)compiled the source code. :)
Hopefully I have not annoyed you- my only intention was to fix a few things in order to keep this great project up and running.
Back to the UAC topic: UAC itself is a great and good thing and it should be used. But if an application demands every time administrative access even if it is not required, it would bother the user and they may disable UAC completely. I have installed MeGUI + the AviSynth plugin folder for example in locations where no admin access is necessary in order to write files. Therefore the UAC prompt is not necessary for me. It would be no problem if I could remove this prompt myself for this program only, but this is not possible because it's hard coded in the program/manifest itself.
On the other hand based upon the software design guides from Microsoft a program should not require administrative access during normal operation. Beside the update process I would declare all other operations (writing log files, profiles, ...) as "normal operation". The only - and recommended - solution is to move these files to a not protected directory like appdata. Sadly I have at the moment no link the MS software design guide to clarify which path is recommended in such a case. A drawback would be to have the files in different locations (program files, appdata, ...) which may be problematic if a user would like to have different versions of the program installed.
Nevertheless the easiest way will be to leave the program as it is (with UAC prompt). But the other solution mentioned by stax76 is a nice solution between security and coding effort.
@Schra : I cannot download your patch...could you put it somewhere else ?
I send you a PM.
prOnorama
1st December 2009, 20:29
@ Schra: I get the following error when trying to insert values for VBV Buffer Size and VBV Max Bitrate:
http://thumbnails21.imagebam.com/5824/22362a58236376.gif (http://www.imagebam.com/image/22362a58236376)
When I click it away I can enter the VBV values but I can't change the value for --rc-lookahead anymore (doesn't show up in command line). I use WinXP SP3.
Schra
1st December 2009, 23:45
@ Schra: I get the following error when trying to insert values for VBV Buffer Size and VBV Max Bitrate:
http://thumbnails21.imagebam.com/5824/22362a58236376.gif (http://www.imagebam.com/image/22362a58236376)
When I click it away I can enter the VBV values but I can't change the value for --rc-lookahead anymore (doesn't show up in command line). I use WinXP SP3.
As a workaround please do not enter any VBV values beside digits and do not delete the value.
--rc-lookahead is working if you press enter or change the focus after changing the value.
Found the problems, but I have no time to fix this now.
Carpo
2nd December 2009, 04:45
ok what with all the problems with megui not being updated atm (devs need time off too) can someone tell me if this is a good enough profile to use till everything is sorted?
--profile high --level 4.1 --preset veryslow --bitrate 1309 --thread-input --deblock 0:0 --bframes 3 --b-bias 0 --scenecut 40 --ref 4 --rc-lookahead 40 --aq-mode 1 --aq-strength 1.0 --merange 16 --subme 7 --partitions all --trellis 1 --psy-rd 1.0:0 --b-pyramid normal --output "output" "input"
All other settings in the p7 - very slow profile have been left alone, all i have changed is the level, profile, ref frame and the pyramid options (obviously the bitrate will change)
Also i notice in this version it doesnt add an analysis pass like in the 1051 version i was using, is this by design or something i am missing?
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.