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 20th August 2020, 14:50   #41  |  Link
ProWo
Registered User
 
Join Date: Mar 2020
Posts: 345
Quote:
Originally Posted by mbcd View Post
Sorry, still not working for me even with latest update.
Have you deleted the user.config?
You have a configuration file (user.config) from an old version. Until you delete it, a new one cannot be created and the program will not work.
In windows 10 the user.config is stored in the folder C:\Users\xxx\AppData\Local\clever_FFmpeg-GUI (where xxx=your user name on windows).
The path to ffmpeg.exe is also saved in this NEW user.config.
Your computer configuration does not seem to be the default.
Search for all user.config files containing clever_FFmpeg_GUI.My.MySettings and delete them. Then restart the program.
ProWo is offline   Reply With Quote
Old 21st August 2020, 10:34   #42  |  Link
mbcd
Registered User
 
Join Date: Dec 2008
Location: Germany
Posts: 173
Quote:
Have you deleted the user.config?
Yes, "C:\Users\XXXXX\AppData\Local" does not contain any folder of "clever_FFmpeg-GUI", so there cant be any subfolder with a file of "user.config".

Quote:
You have a configuration file (user.config) from an old version. Until you delete it, a new one cannot be created and the program will not work.
Sorry, no ... these files are recreated after closing clever_FFmpeg-GUI, so they cant be wrong, what program else should create them, except of yours?

This is user.config created from latest version, after closing app (has been executed as administrator), there was no folder or file before, so it must have been created with the latest wversion, I only hit "F5" and refreshed the explorer, so there cant be any error by looking into wrong directories:

Quote:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="clever_FFmpeg_GUI.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<clever_FFmpeg_GUI.My.MySettings>
<setting name="spos_x" serializeAs="String">
<value>0</value>
</setting>
<setting name="spos_y" serializeAs="String">
<value>0</value>
</setting>
</clever_FFmpeg_GUI.My.MySettings>
</userSettings>
</configuration>
App still didnt ask for a ffmpeg-Path anymore ... selecting a sourcefile gave an exception again ... its always the same ....

Quote:
Your computer configuration does not seem to be the default.
Where do you get this from? It runs lots of programs and has no single problem with anyone of them.

I think we cant solve it unless you improve some kind of debug or errorhandling.

Bad that I need to do support:
Your code is not that good ...
You process with unset variables, dont check if they have been set ever, no wonder this mess appears:

Code:
string path1 = MySettingsProperty.Settings.ffmpeg_path + "\\ffmpeg.exe";
      string path2 = MySettingsProperty.Settings.ffmpeg_path + "\\ffprobe.exe";
      string path3 = MySettingsProperty.Settings.ffmpeg_path + "\\ffplay.exe";
      int num1;
      if (File.Exists(path1))
      {
        int num2;
        num1 = checked (num2 + 1);
      }
      if (File.Exists(path2))
        checked { ++num1; }
      if (File.Exists(path3))
        checked { ++num1; }
      int num3 = num1;
      if (num3 < 3)
      {
        int num2 = (int) MessageBox.Show("Static builds of FFmpeg, FFprobe and FFplay missing!\r\nThey have to be into the same folder.\r\n\r\nDownload them at https://ffmpeg.zeranoe.com/builds/ ,\r\nextract them to a folder you like and browse for this folder.");
        this.FFmpeg_locate();
      }
      else
      {
        if (num3 != 3)
          return;
        Module1.F_Info();
        Module1.FP_Info();
      }
You are using default strings for the app-settings at first time, so it searches on root of actual drive for some ffmpeg-files. In my case they have been there, "accidently". So it finds them somewehere but not at the specified place.

But even then, this path is not saved as you see in my posted user.config. After closing the app the path is still not definied in user.config, I think because its still its defaultvalue.

Now I could select a sourcefile and it told me again it must be copied into a new container. I click "ok" and the app freezes and even some minutes later nothing happens (sourcefile is only about 900 mb) ... its still frozen ... forever (ffmpeg.exe is static 64 bit)

You should redo some code ... the idea of your program is very very nice, its the right way, but your code and UI is ... not very error-proofed, yet.

But carry on!

Last edited by mbcd; 21st August 2020 at 10:53.
mbcd is offline   Reply With Quote
Old 21st August 2020, 16:13   #43  |  Link
ProWo
Registered User
 
Join Date: Mar 2020
Posts: 345
In which folder is your user.config created?
In which folder do you start clever FFmpeg-GUI?
Are there other files in the same folder?
Clever FFmpeg-GUI is a portable standalone program. Except the "clever FFmpeg-GUI.exe" no other file is needed.
I think your windows explorer does not show you all files. Use another file manager (Free Commander, Q-Dir, Double Commander) to find and delete the remains of a previous version.
ProWo is offline   Reply With Quote
Old 21st August 2020, 17:07   #44  |  Link
ProWo
Registered User
 
Join Date: Mar 2020
Posts: 345
Download Agent Ransack
Then search for user.config that contains "clever" (see picture).
Delete all files you find.

Picture here:
ProWo is offline   Reply With Quote
Old 21st August 2020, 20:59   #45  |  Link
mbcd
Registered User
 
Join Date: Dec 2008
Location: Germany
Posts: 173
Ok, last try I give, may be my english is too bad to explain correctly, could be my fault, in that case: sorry.

Quote:
In which folder is your user.config created?
In those folder you told me : "C:\Users\XXXXX\AppData\Local\clever_FFmpeg_GUI\clever_FFmpeg_GUI.exe_Url_n0u1ua2xw5myed20vseh3040nkwhmmfz\1.0.0.0"

This folder contains "user.config", every time I delete folder "clever_FFmpeg_GUI" in "C:\Users\XXXXX\AppData\Local" (with all its subfolders) it is created again after next start of your app. This works like expected, there is nothing wrong with that.

Quote:
In which folder do you start clever FFmpeg-GUI?
Location of your program is "E:\clever_ffmpeg_gui_257\X64\...".

Quote:
Are there other files in the same folder?
No, only the executable of your program.

Quote:
Clever FFmpeg-GUI is a portable standalone program. Except the "clever FFmpeg-GUI.exe" no other file is needed.
Ahh ..... ok ... but at least ffmpeg-binaries are needed ...

Quote:
I think your windows explorer does not show you all files. Use another file manager (Free Commander, Q-Dir, Double Commander) to find and delete the remains of a previous version.
I dont think so, still used "Total Commander" and in my Explorer I activated all features for showing invisible or system-files. Both filemanangers show exactly the same. And I told many time I deleted files and folders, so if they would not show up, what could I have deleted in that case ... it does not make sense what you tell, until there is another folder somewhere you didnt mention before.

Are you the real developer of that tool?
I posted some of your sourcecode, why dont you try it out by yourself, or at least, assume whats happening in your code ...

On start of your app it executes this, this is where it searches for ffmpeg.exe (and both other files):

Code:
string path1 = MySettingsProperty.Settings.ffmpeg_path + "\\ffmpeg.exe";
But at that point of execution "MySettingsProperty.Settings.ffmpeg_path" is not set, its empty (defaultvalue), because there is even no settings-file existing at first start.
So this string is empty and this results in a searchpath of "\\ffmpeg.exe" and this is the root of the drive your app is located, so in my case its "e:\\ffmpeg.exe".

If you have all those dependent ffmpeg-binaries at that root (which happened in my case), it will succeed its check, but dont write paths into settings-file, because you NEVER set them to a path, because first check works without a path to ffmpeg ...

Code:
if (File.Exists(path1))
So because it works with empty strings, your location-method is NEVER raised
Code:
this.FFmpeg_locate()
So "ffmpeg_path" in app-settings is never set and never written.

I'am a C#-Developer by the way ...
Its not my computer, your code is not proof, you also never catch exceptions anywhere as far a I have seen in that few minutes I spend in your code ...

So stay at your mind that my computer is not working properly, or use a debugger and watch your variables while running step-by-step, or at least try it with binaries at root of the drive by yourself.

What else do you need to get convinced? Did you ever failchecked something?

Why it freezes or needs to create a new container of my sourcefile is next problem, but I wont spend time on that.

My friendly suggestion: Redo your code if you wanna improove your skills.
mbcd is offline   Reply With Quote
Old 22nd August 2020, 07:22   #46  |  Link
ProWo
Registered User
 
Join Date: Mar 2020
Posts: 345
Quote:
You are using default strings for the app-settings at first time, so it searches on root of actual drive for some ffmpeg-files.
the program does not search for ffmpeg.exe itself. you must actively select the folder where ffmpeg.exe is located.
Quote:
But after a message that the stream must be copied because of a missing framerate (mkv) the UI is freezing ... and copying of these video is never completed ...
This is by design and happens if no information on duration is found in the video analysis.
I think there might be a problem here. The destination folder is automatically adjusted to the source folder. If you read a file from a folder in which you do not have write permission, the copy cannot be performed. This behaviour has changed with the last beta; here you will be asked to specify a destination folder at the first start.

The following is a working configuration file (user.config). Correct your user.config manually with a text editor and add the path to ffmpeg.
Quote:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="clever_FFmpeg_GUI.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<clever_FFmpeg_GUI.My.MySettings>
<setting name="t_folder" serializeAs="String">
<value>D:\</value>
</setting>
<setting name="ffmpeg_path" serializeAs="String">
<value>D:\Utilities\ffmpeg\bin</value>
</setting>
<setting name="s_fps" serializeAs="String">
<value>25</value>
</setting>
<setting name="spos_y" serializeAs="String">
<value>246</value>
</setting>
<setting name="spos_x" serializeAs="String">
<value>504</value>
</setting>
</clever_FFmpeg_GUI.My.MySettings>
</userSettings>
</configuration>
By the way: You don't have to start the program with elevated rights.
Have you searched for other user.config files containing "clever"?

Last edited by ProWo; 22nd August 2020 at 08:23. Reason: Adding info
ProWo is offline   Reply With Quote
Old 23rd August 2020, 10:00   #47  |  Link
mbcd
Registered User
 
Join Date: Dec 2008
Location: Germany
Posts: 173
You are joking, arent you?

Quote:
the program does not search for ffmpeg.exe itself. you must actively select the folder where ffmpeg.exe is located.
You are lying ... this is not true.

You dont know your own sourcecode?

Code:
string path1 = MySettingsProperty.Settings.ffmpeg_path + "\\ffmpeg.exe";
      string path2 = MySettingsProperty.Settings.ffmpeg_path + "\\ffprobe.exe";
      string path3 = MySettingsProperty.Settings.ffmpeg_path + "\\ffplay.exe";
      int num1;
      if (File.Exists(path1))
      {
        int num2;
        num1 = checked (num2 + 1);
      }
      if (File.Exists(path2))
        checked { ++num1; }
      if (File.Exists(path3))
        checked { ++num1; }
      int num3 = num1;
This is where it runs though, every time starting the app. This is YOUR code (decompiled, so it looks different, but works like your original sourcecode)

If only 1 of those 3 ffmpeg-files are missing this is invoked, and ONLY then:

Code:
if (num3 < 3)
      {
        int num2 = (int) MessageBox.Show("Static builds of FFmpeg, FFprobe and FFplay missing!\r\nThey have to be into the same folder.\r\n\r\nDownload them at https://ffmpeg.zeranoe.com/builds/ ,\r\nextract them to a folder you like and browse for this folder.");
        this.FFmpeg_locate();
      }
So if all 3 files are on root of the drive (where your app is located), "this.FFmpeg_locate()" is NEVER raised ...
Did you tried that as I told you? I guess NO ...

Ok, thats for me, I`ll quit, you are some kind of human that never recognize his own mistakes, even if someone points your nose onto it.
I wont spend anymore time for someone like you, you not deserve.

Best of luck for you and your "crappy" code. I hope youll never do that professionally somewhere.

Quote:
Have you searched for other user.config files containing "clever"?
No, instead I will delete "clever_FFmpeg_GUI", its a waste of time talking to you, and both are far away from being anykind of ""clever"" ... .

Last edited by mbcd; 23rd August 2020 at 10:28.
mbcd is offline   Reply With Quote
Old 23rd August 2020, 13:37   #48  |  Link
ProWo
Registered User
 
Join Date: Mar 2020
Posts: 345
There's no need to be insulting.
Quote:
string path1 = MySettingsProperty.Settings.ffmpeg_path + "\\ffmpeg.exe";
string path2 = MySettingsProperty.Settings.ffmpeg_path + "\\ffprobe.exe";
string path3 = MySettingsProperty.Settings.ffmpeg_path + "\\ffplay.exe";
int num1;
if (File.Exists(path1))
{
int num2;
num1 = checked (num2 + 1);
}
if (File.Exists(path2))
checked { ++num1; }
if (File.Exists(path3))
checked { ++num1; }
int num3 = num1;
Your analysis of this code is incorrect. This routine is called only if the path to ffmpeg.exe is NOT empty. If the path is entered, this routine checks if the three necessary files are in the folder. The path MUST be saved before.
Quote:
instead I will delete "clever_FFmpeg_GUI"
Feel free...
Quote:
Best of luck for you and your "crappy" code.
For you too.
ProWo is offline   Reply With Quote
Old 23rd August 2020, 15:30   #49  |  Link
mbcd
Registered User
 
Join Date: Dec 2008
Location: Germany
Posts: 173
Quote:
Your analysis of this code is incorrect. This routine is called only if the path to ffmpeg.exe is NOT empty. If the path is entered, this routine checks if the three necessary files are in the folder. The path MUST be saved before.
NO
Thats what I try to tell you all the time, you are wrong with your own code, this can happen.

Thats why it behaves like I said, even on my second computer, where your app NEVER has been launched before.

You dont know your own code, dont you?
It automatically searches for binaries on root of the drive where you start your app from without need of any path in app-setting.

Why dont you try it by yourself? Too lazys to do this? Its easier to tell others they are wrong, while they don`t, so I understand.

Last try:
- Copy all 3 ffmpeg binaries to the root of drive x:
- Copy your app to a subfolder on the same drive
- Start your app like first time (may be delete all specific folders in Appdata you told before)

And what happens?
It does NOT ask for some path to ffmpeg-binaries, why? Path to binaries is still empty ... .

So this is not true:
Quote:
This routine is called only if the path to ffmpeg.exe is NOT empty.
It cant be true. This routine is called on every startup and that is the reason it is finding ffmpeg-binaries on root of drive and doesnt write any appsettings.

On first start of your app on a fresh computer, path to ffmpeg must be empty, so why is this routine still called at that point? Oh, I forgot, all my computer are working wrong, it cant be your poor code ...


If I delete one of those 3 binaries on root it starts to ask for the location of binaries, so why did it found them even on first start on root of this drive? No path was set, there are no other files in the appfolder (exe), so ... why does it find a missing file on some never defined path? Path to ffmpeg is still empty ...

So hard to understand, or at least to spend 2 minutes to try by yourself? I`m out ... and I am right (prooved two times now)
Proof me that I am wrong and everything is fine ...

Suggestions for a better together: Work a bit on your pigheaded fellow.

Last edited by mbcd; 23rd August 2020 at 15:37.
mbcd is offline   Reply With Quote
Old 23rd August 2020, 15:39   #50  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,993
No need to be nasty mbcd, if you can do better then do it.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 23rd August 2020, 16:59   #51  |  Link
gonca
Registered User
 
Join Date: Jul 2012
Posts: 1,239
@ProWo
I am not a software developer or a ffmpeg user!
For giggles I downloaded your GUI and the ffmpeg version you linked to.
Upon initial launch of your GUI it asked for the location of the three ffmpeg files.
Analyzed a video successfully and was ready to go.
Good job, well done!
gonca is offline   Reply With Quote
Old 23rd August 2020, 17:26   #52  |  Link
mbcd
Registered User
 
Join Date: Dec 2008
Location: Germany
Posts: 173
@gonca:

Could you please move all three ffmpeg files to the root of that same drive (move, not copy), and remove app-folder from Appdata ("C:\Users\XXXXX\AppData\Local\clever_FFmpeg_GUI\) and try again? It should ask again in that case, but I guess it wont do that



I like to figure out if I am wrong or not ... no one is perfect.

Last edited by mbcd; 23rd August 2020 at 17:38.
mbcd is offline   Reply With Quote
Old 23rd August 2020, 17:35   #53  |  Link
gonca
Registered User
 
Join Date: Jul 2012
Posts: 1,239
Kept clever_ffmpeg_GUI on Desktop
Put ffmpeg folder in C:\
Works fine
gonca is offline   Reply With Quote
Old 23rd August 2020, 17:39   #54  |  Link
mbcd
Registered User
 
Join Date: Dec 2008
Location: Germany
Posts: 173
@gonca:

Thanks for checking this!
But you must additionaly remove folder in appdata to get my bug, please see post 52, thats the point I try to tell here, you still got a valid path in there, because you had one before, in that case it still works.
ffmpeg-binary file in no folder, plain and directly on root of app-drive, so their paths are in your case "c:\ffmpeg.exe" "c:\ffplay.exe" and "ffprobe.exe".

Last edited by mbcd; 23rd August 2020 at 17:48.
mbcd is offline   Reply With Quote
Old 23rd August 2020, 22:03   #55  |  Link
gonca
Registered User
 
Join Date: Jul 2012
Posts: 1,239
I removed that folder everytime
gonca is offline   Reply With Quote
Old 24th August 2020, 03:07   #56  |  Link
locotus
Registered User
 
Join Date: Nov 2005
Posts: 112
I've made my first convertion using this program and noticed that the resulting file is variable frame rate.
Would be nice if you can set a switch so the user may choose between constant or variable frame rate.
Thanks.
locotus is offline   Reply With Quote
Old 24th August 2020, 10:15   #57  |  Link
ProWo
Registered User
 
Join Date: Mar 2020
Posts: 345
@lucotus
By default and by design the program encodes the video stream as progressive and with constant frame rate, unless you encode interlaced video as interlaced, in which case the frame rate is constant as well. Post here a medianfo report of the source video and the encoded video.

Last edited by ProWo; 24th August 2020 at 10:19. Reason: typo
ProWo is offline   Reply With Quote
Old 24th August 2020, 15:31   #58  |  Link
locotus
Registered User
 
Join Date: Nov 2005
Posts: 112
Quote:
Originally Posted by ProWo View Post
@lucotus
By default and by design the program encodes the video stream as progressive and with constant frame rate, unless you encode interlaced video as interlaced, in which case the frame rate is constant as well. Post here a medianfo report of the source video and the encoded video.

Sorry, I already delete the file.
locotus is offline   Reply With Quote
Old 24th August 2020, 15:58   #59  |  Link
ProWo
Registered User
 
Join Date: Mar 2020
Posts: 345
August 24 2020 update to version 2.6.0.
Changed: Deinterlacing.
Improved: Error handling.
Added: QTGMC deinterlacer (simple mode, but editable; You need an working Avisynth installation with the necessary plugins to use it).
Fixed: Minor bugs.
ProWo is offline   Reply With Quote
Old 24th August 2020, 16:29   #60  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
Not sure what language you use or what checked() does but superficially it looks to an old C/C++ guy as if num2 is not initialized. Please ignore if I'm missing something.

Code:
      if (File.Exists(path1))
      {
        int num2;
        num1 = checked (num2 + 1);
      }
videoh is offline   Reply With Quote
Reply

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 20:31.


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