EncodeGUI

A free and open source video transcoder GUI that utilizes state of the art AI tools and filters for an unparalleled video encode. It has ~14,000 downloads (Feb 4, 2023) and is growing by the hundreds every week. The latest versions are reserved to paid patrons via a monthly subscription.
Source code and technical details: https://github.com/DaGooseYT/EncodeGUI
Official video tutorials: https://youtube.com/playlist
Official website: https://encodegui.com

Background:
FrameGUI has already been released for around eight months prior to the release of EncodeGUI. While FrameGUI was good at what it did, it lacked AI tools and filters that competing software featured, and the tool set was limited as far as general encoding options. Any already existing free AI media encoding tools were decent, but had lousy general encoding settings or were too difficult to use. With all of this in mind, I have spent countless hours learning Qt while developing EncodeGUI to correct the faults of other free and open source media encoding software.

Objectives:
Since nearly all other open-source video encoding software consists of lousy encoding options, EncodeGUI features a choice of six video codecs to select from as well as eight different audio codecs and 10 output video containers. All of these codecs in EncodeGUI provided comprehensive encoding settings while keeping the user interface clean and easy to understand.
Nearly any video is supported as an input.
The latest and greatest AI tools and filters were added as better means for video filtering. However, AI tools are more resource demanding and therefore require mid-high end graphics hardware to use effectively.
EncodeGUI features VapourSynth filtering which is based on the Python framework. A lot of the AI tools and filters have support for VapourSynth, but using the VapourSynth API requires knowledge of the Python programming language which makes it difficult to use for the average user. I knew that the user base of EncodeGUI would not know how to code in Python, so there are functions in EncodeGUI that will generate a VS-Python script on the basis of EncodeGUI user configuration settings.

Challenges:
Getting some of the dependencies to work with EncodeGUI was a huge struggle. EncodeGUI uses the VapourSynth video filtering API which is a wrapper around Python. When it works, it's great. However, if an issue arises, it is near impossible to determine exactly what the problem is because the errors thrown (especially through command piping) are basic and do not provide a stack trace or relevant data to help solve the problem. At times, a user will report an issue and no error message from VapourSynth is provided at all!
Learning the Qt framework was difficult for me initially. I picked up the C/C++ syntax quickly, but I simply had difficulties understanding the SIGNALS and SLOTS, and multi-threading in general. Just like with FrameGUI and C#, I have learned Qt during the development of EncodeGUI and later versions of FrameGUI.

Other notes:
Although not published in the source code, the website for EncodeGUI consists of PHP scripting code and a database for a Patreon verification system. The corresponding code to signal the API is in the early access setup installer files.