Log in

View Full Version : clever FFmpeg-GUI, small FFmpeg UI, fully portable, no installation.


Pages : [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15

ProWo
30th March 2020, 08:38
Hi all

Clever FFmpeg GUI is a small, but smart GUI for FFmpeg.
It processes Audio and Video streams separately. These can be muxed after processing.
It's for Windows Systems, portable, x86, x64, ARM. Requires .NET Framework.

No installation required. Extract and use it.
(Read the ReadMe.txt)

Automatic stream detection, Video, Audio and Subtitle stream conversion, Video, Audio and Subtitle stream extraction, Audio volume detection,
Audio length and pitch modification, automatic Video crop detection, Audio and Video Fade In and Fade Out,
Change aspect ratio (at Stream level too, for avc, hevc amnd mpeg2), Change Audio and Subtitles stream language,
Change profile level without recoding (for x264 and hevc).
Cut on Keyframes.
HDR10 recoding while keeping HDR10 metadata (with H.265 codec) and HDR10 to SDR with tonemap and desaturation for all avaiable codecs.
3D Look-Up Tables (LUTs) support in Video encoding.
Batch processing.

DVD movie rip implemented (unprotected DVD's only).
Point to VOB 1 of a Title Set (g.e. VTS_01_1.VOB for Titleset 1), answer Yes to the questions and the entire movie will be ripped and imported.

Video Stream Encoding to: mpeg1, mpeg2, Theora, x264 (avc), x265 (hevc), Divx, ffv1, Xvid, VP8, VP9, DNxHD, DNxHR, AV1, wmv1, wmv2, prores.
Audio Stream Encoding to: aac, ac3, eac3, dts, flac, mp2, mp3, opus, vorbis, pcm, trueHD.
Multiplex to: 3gp, asf, avi, flv, m2ts, mov, mpg, mp4, mkv, ogg, ts, vob, mfx, webm, wmv.
Hardcoding Subtitles: ass, ssa, srt, vobsub, pgs (pgs only if present in the source video, not from external files).
Chapters: support for 3gp, mkv, mp4, mov, webm.

Enjoy :)
ProWo

----------------------------------------------------------------------------------
May 31, 2026 release version 3.5.5.
----------------------------------------------------------------------------------

Added:
Title column in extract streams screen
Batch replication with embedded subtitle burn in
Different framerate detection dialog
Batch tasks total on button
Language tag check for invalid characters

Fixed:
Bug with missing streams titles after muxing
Bug with filenames in replicated batch tasks
Bug with filename in multiplex section

Changed:
Default downsampling scale algorithm

Improved:
Language code in filename recognition

----------------------------------------------------------------------------------

Download release v3.5.5:
https://files.videohelp.com/u/292773/clever_ffmpeg_gui_355.zip
MD5 (of clever FFmpeg GUI.exe): AC2A2ACD5CCF5F519AE047E88CBA09EF

Latest nightly: (Small errors are continuously corrected. Will be uploaded frequently)
Please note: The nightly download only contains the latest program version. Important files are missing.

https://files.videohelp.com/u/292773/clever_ffmpeg_gui_newest_beta.zip

It does NOT contain any virus. All reports from virustotal are false positives. Please remember that many antivirus software are way way too sensitive.

Report bugs and problems here in this thread.

If you like the program, please rate it (click on this link) (https://www.videohelp.com/softwareaddcomment?id=1799)

If there are problems starting, delete the portable.config file in the application folder.


---------------------------------------------------------------------
How to's
---------------------------------------------------------------------
Convert interlaced 23.976fps to progressive 25fps (https://files.videohelp.com/u/292773/Convert%20interlaced%2023.976fps%20to%20progressive%2025fps_%20Video_%20Audio_%20Muxing.gif)
Convert interlaced 25fps to progressive 23.976fps (https://files.videohelp.com/u/292773/Convert%20interlaced%2025fps%20to%20progressive%2023.976fps_%20Video_%20Audio_%20Muxing.gif)
Convert progressive 23.976fps to progressive 25fps (https://files.videohelp.com/u/292773/Convert%20progressive%2023.976%20fps%20to%20progressive%2025fps_%20Video_%20Audio_%20Muxing.gif)
Convert progressive 25fps to progressive 23.976fps (https://files.videohelp.com/u/292773/Convert%20progressive%2025fps%20to%20progressive%2023.976_%20Video_%20Audio_%20Muxing.gif)
---------------------------------------------------------------------

https://forum.videohelp.com/attachments/89478-1761838391/01.jpg
https://forum.videohelp.com/attachments/89479-1761838391/02.jpg
https://forum.videohelp.com/attachments/89480-1761838391/03.jpg
https://forum.videohelp.com/attachments/89481-1761838391/04.jpg
https://forum.videohelp.com/attachments/89482-1761838391/05.jpg
https://forum.videohelp.com/attachments/89483-1761838391/06.jpg
https://forum.videohelp.com/attachments/89484-1761838391/07.jpg
https://forum.videohelp.com/attachments/89485-1761838391/08.jpg
https://forum.videohelp.com/attachments/89486-1761838391/09.jpg
https://forum.videohelp.com/attachments/89487-1761838391/10.jpg
https://forum.videohelp.com/attachments/89488-1761838391/11.jpg


Special features:

With TV Rips with AC3 6ch audio it happens that the first frames have only 2 ch. In the encode audiostream section there is a button for this. If it is selected, the target file will be patched to full 6 ch. This button is only available if the source file is or contains an AC3 6ch file.

Another great thing is that you can convert the soundtrack of a 25 FPS PAL movie to an e.g. 23.976 FPS NTSC soundtrack or vice versa and, if desired, also adjust the audio pitch.

ProWo
7th April 2020, 16:53
07 Apr 2020 update to version 2.1.0.
Major improvements in the Multiplex section (automatic track detection of video, audio and subtitles, program wide).
Also improved is the AC3 3/2 (5.1) patch (in case first audio frames with 2 channels, stereo).

ProWo
11th April 2020, 12:41
11 Apr 2020 update to version 2.2.0.
Many small improvements.
Some bugs fixed.

ProWo
14th April 2020, 13:45
14 Apr 2020 update to version 2.2.1.
(Corrected a little bug in track language change)

ProWo
18th April 2020, 10:46
18 Apr 2020 update to version 2.3.0.
Video stream detection improved. Therefore ffprobe.exe (from static build) is now also necessary. Please copy it into the folder with clever FFmpeg-GUI.
Several small improvements and bug fixes.

ProWo
20th April 2020, 08:29
20 Apr 2020 update to version 2.3.5.
Several small improvements and bug fixes.

Emulgator
21st April 2020, 14:30
Many thanks !
Just letting it run for a quick transcode test...

ProWo
24th April 2020, 13:10
24 Apr 2020 update to version 2.3.6.
Many small improvements and bug fixes.

ProWo
27th April 2020, 16:42
27 Apr 2020 update to version 2.3.7.
Corrected a bug in FPS detection.

ProWo
2nd May 2020, 09:13
02 May 2020 update to version 2.3.8.
Can now handle video files without duration info.
Added Aspect Ratio (DAR) change in the multiplex section.

ProWo
6th May 2020, 10:17
06 May 2020 update to version 2.3.9.
The crash without file selection is corrected.
The command line can be displayed.
Forms have changed from Font to DPI

ProWo
18th May 2020, 15:20
18 May 2020 update to version 2.4.0.
Many small improvements.

ProWo
25th May 2020, 14:21
25 May 2020 update to version 2.4.2.
Fixed some bugs.
Many small improvements.

ProWo
8th June 2020, 17:21
08 June 2020 update to version 2.4.5.
Added: mp3 output in audio conversion.
Fixed some bugs.

stax76
8th June 2020, 18:51
Maybe have a look at 144 DPI (I'm at 288), it looks poor because High DPI support is not enabled. It can be enabled via API or manifest but the only proper fix is getting rid of WinForms, there are too many issues, it's hopeless and I regret having wasted so much time and effort with it.

ProWo
11th June 2020, 08:56
Hi stax76

I don't have a High DPI Monitor and therefore i cannot test, if my app is compatible with High DPI.
I made some changes. Can you test for me if the display is correct now?

https://www.upload.ee/files/11859636/clever_ffmpeg_gui_246.7z.html

stax76
11th June 2020, 09:22
The first screen is High DPI enabled, opening a source file throws an exception shown by .NET Framework exception dialog and that dialog is unusable at 288 DPI, so I cannot post the stack trace.

ProWo
16th June 2020, 16:12
June 16 2020 update to version 2.4.7.
Added: You can use the already installed ffmpeg static files.
At the first use you have to specify the location of ffmpeg, ffprobe and ffplay.
Added: High DPI aware.
Many fine tunings.

ProWo
30th June 2020, 14:40
June 30 2020 update to version 2.4.8.
Added: Audio conversion section: You can set 2 channels output.
Added: Multiplex section: Checkbox to remove language code from Videostream.
Many cosmetic and code fine tunings.

ProWo
3rd July 2020, 21:09
If someone has troubles with the program, he can try the latest beta version:
https://files.videohelp.com/u/292773/clever_ffmpeg_gui_newest_beta.7z

NB. Is regularly updated

ProWo
6th July 2020, 15:06
July 06 2020 update to version 2.5.0.
Added: Video scan type detection (interlaced or progressive)
Modified: FFmpeg folder path.
Bugs corrected.
At the first start you have to specify ffmpeg.exe location path.

ProWo
14th July 2020, 09:18
July 14 2020 update to version 2.5.2.
Added: DVD movie rip implemented (unprotected DVD's only). Point to the desired VTS and the entire movie will be ripped and imported.
Many small improvements.
Read the HowTo.txt

ProWo
16th July 2020, 22:04
July 16 2020 update to version 2.5.3.
Fixed: A major bug when loading videos without duration information.
Read the HowTo.txt

ProWo
27th July 2020, 10:16
July 27 2020 update to version 2.5.4.
Added: Audio Stream Language Info on Audio conversion.
Added: Audio DTS Output.
Improved: Video Stream Interlacing Detection.
Fixed: minor bugs.

ProWo
31st July 2020, 08:49
July 31 2020 update to version 2.5.5.
Improved: Many fine tunings.
Fixed: minor bugs.

ProWo
6th August 2020, 12:24
August 06 2020 update to version 2.5.6.
Improved: Detection of ffmpeg.exe, ffprobe.exe, ffplay.exe.
Improved. Error handling.
Fixed: minor bugs.

De-M-oN
10th August 2020, 17:15
The audio section should offer

FLAC
Opus
OGG

There is no sense to put WAV in an encoding, with existence of FLAC.

So I recommend to add these 3 further major codecs.

Offer also more video encoders, especially NVEnc encoding.

stax76
10th August 2020, 20:28
Hello ProWo,

if you are looking for a website for your project I would like to suggest github, if open source would be an option.

It could make sense to bundle all dependencies, it's easier for people to get started and ensures that the ffmpeg built has all features you are using enabled.

ProWo
11th August 2020, 08:51
The audio section should offer
FLAC
Opus
OGG
There is no sense to put WAV in an encoding, with existence of FLAC.


My project is meant to be a simple GUI, not a competition to Handbrake or others, so that even inexperienced users can get along with it and have the most necessary tools available. Wav as output has the purpose to allow various manipulations with all audio editors.

ProWo
11th August 2020, 08:54
Hello ProWo,

if you are looking for a website for your project I would like to suggest github, if open source would be an option.

It could make sense to bundle all dependencies, it's easier for people to get started and ensures that the ffmpeg built has all features you are using enabled.
Hi stax76,
thanks for your input, I'll think about it.

mbcd
12th August 2020, 18:36
Crashes directly on specifying sourcefile: "No given filename" on Process()

************** Ausnahmetext **************
System.InvalidOperationException: Der Prozess kann nicht gestartet werden, da ein Dateiname nicht angegeben wurde.
bei System.Diagnostics.Process.Start()

Seems maybe ffmpeg.exe is not located.

ProWo
13th August 2020, 14:42
Crashes directly on specifying sourcefile: "No given filename" on Process()

************** Ausnahmetext **************
System.InvalidOperationException: Der Prozess kann nicht gestartet werden, da ein Dateiname nicht angegeben wurde.
bei System.Diagnostics.Process.Start()

Seems maybe ffmpeg.exe is not located.
What version?
Try the latest beta.

mbcd
13th August 2020, 16:10
On both, beta and stable ... x86 and x64

Very courious behaving:
It starts only if I use it from inside the "download" folder, but not from any another drive (with full permissions).

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 ...

ProWo
13th August 2020, 16:20
On both, beta and stable ... x86 and x64

Very courious behaving:
It starts only if I use it from inside the "download" folder, but not from any another drive (with full permissions).

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 ...

Try to delete this folder: C:\Users\user\AppData\Local\clever_FFmpeg_GUI.
user=your user name on windows
Then restart clever FFmpeg-GUI.
If you use the 64 bit version you must also use 64 bit ffmpeg.

mbcd
13th August 2020, 18:59
Thank you for answering.

I respected verions of x86 and x64, that should not be a problem here. :thanks:

Deleted folders in AppData.
Worked for one time, until this coying ... btw: ffmpeg has no problems with this file started manually by cmd.

Now clever_FFmpeg_GUI wont work again.
So I deleted again folder in AppData.
But on restarting clever_FFmpeg_GUI it even does not ask again for some location of ffmpeg.exe, and again this exception on loading a sourcefile appears. Folder with executable of clever_FFmpeg_GUI does not contain any ffmpeg.exe.

Lets see if others have same problems ...

ProWo
13th August 2020, 20:13
But on restarting clever_FFmpeg_GUI it even does not ask again for some location of ffmpeg.exe, and again this exception on loading a sourcefile appears. Folder with executable of clever_FFmpeg_GUI does not contain any ffmpeg.exe.
Lets see if others have same problems ...
Download the latest static build for your architecture (x64 or x86) from this page.
https://ffmpeg.zeranoe.com/builds/
Extract the file wherever you want. It will create a folder with a name like ffmpeg-20200812-bb59bdb-win64-static, with a bin subfolder; in this bin subfolder are the three files clever FFmpeg-GUI needs.
Delete the folder C:\Users\xxx\AppData\Local\clever_FFmpeg-GUI (where xxx=your user name on windows) again. The first time you start clever FFmpeg-GUI, navigate to the above bin folder in the folder browser. That's it. Now everything should work fine.

mbcd
14th August 2020, 10:09
All this I did before ...

- Dowmloaded static build from Zeroane
- Extracted them to e:\ffmpeg-20200812-4ed6bca-win64-static
- Removed "clever_FFmpeg_GUI" from "C:\Users\XXXXX\AppData\Local"
- Extracted actual clever_FFmpeg_GUI-beta to "e:\clever_ffmpeg_gui_newest_beta"

Started "E:\clever_ffmpeg_gui_newest_beta\x64\clever FFmpeg GUI.exe"

And again ... no question for a location to the bin-folder of ffmpeg.
Opening a sourcefile results in exception again -> "No filename specified".

This is the only file in appData: "user.config":

<?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>175</value>
</setting>
<setting name="spos_y" serializeAs="String">
<value>209</value>
</setting>
</clever_FFmpeg_GUI.My.MySettings>
</userSettings>
</configuration>

As I said before, there must be some bad bug.
Where is path to ffmpeg saved? I dont see it in that user.config. And its not asked again ... so it must be saved somewhere ...
Should the be an file for Application Settings too? I dont see anyone.

ProWo
14th August 2020, 11:01
This is the only file in appData: "user.config":
Delete this file and restart clever FFmpeg-GUI.
(This file should have been in the C:\Users\XXXXX\AppData\Local\clever_FFmpeg_GUI folder).

ProWo
18th August 2020, 14:32
August 18 2020 update to version 2.5.7.
Improved: Deinterlacing (Yadif: frame/frame, field/frame, interlaced marked frames only).
Improved. Error handling.
Added: Encode interlaced video as interlaced.
Fixed: minor bugs.

mbcd
20th August 2020, 10:24
Delete this file and restart clever FFmpeg-GUI.
(This file should have been in the C:\Users\XXXXX\AppData\Local\clever_FFmpeg_GUI folder).

Sorry, still not working for me :o even with latest update.

As I said before:
- Removed "clever_FFmpeg_GUI" from "C:\Users\XXXXX\AppData\Local"

There is no folder of clever_FFmpeg_GUI anymore in my appdata, but it still does not ask for a new path on restart.

You should take a look at my posted user.config.
You dont see "ffmpegPath" in there, you dont get questions about that?

Ive had a quick look into your sourcecode (as good as decompiling works), its definied to be in there, so there seems something going wrong. Some entries are missing in my user.config, every time its created.
Thats why I asked where you store path to ffmpeg ...

ProWo
20th August 2020, 14:50
Sorry, still not working for me :o 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.

mbcd
21st August 2020, 10:34
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".

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:

<?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 ....

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: :sly:
Your code is not that good ...
You process with unset variables, dont check if they have been set ever, no wonder this mess appears: :scared::sly:

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 ... :sly: 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! :thanks:

ProWo
21st August 2020, 16:13
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
21st August 2020, 17:07
Download Agent Ransack
https://download.mythicsoft.com/flp/2947/agentransack_2947.exe

Then search for user.config that contains "clever" (see picture).
Delete all files you find.

Picture here: https://ibb.co/LPtkQ8S

mbcd
21st August 2020, 20:59
Ok, last try I give, may be my english is too bad to explain correctly, could be my fault, in that case: sorry.

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.

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

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

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 ... ;)

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):

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 ...

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

I'am a C#-Developer by the way ... :sly:
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.

ProWo
22nd August 2020, 07:22
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.
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.
<?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"?

mbcd
23rd August 2020, 10:00
You are joking, arent you? :confused:

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?

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:

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 ... :thanks: :mad:

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. :scared:
I wont spend anymore time for someone like you, you not deserve.

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

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"" ... :o.

ProWo
23rd August 2020, 13:37
There's no need to be insulting.
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.
instead I will delete "clever_FFmpeg_GUI"
Feel free...
Best of luck for you and your "crappy" code.
For you too.

mbcd
23rd August 2020, 15:30
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:
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 ... :sly:


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.

StainlessS
23rd August 2020, 15:39
No need to be nasty mbcd, if you can do better then do it.