Help us keep the list up to date and submit new video software here.
Complete Version history / Release notes / Changelog / What's New for FFMPEG Audio Encoder
FFMPEG Audio Encoder v4.11
Updates
Updated psutil to v5.9.8
Updated yt-dlp to v2024.3.10
Updated websockets to v12.0
Updated qaac to v2.8.2
Updated mpv to v3-20240407-git-3c1e983
Updated mediainfo to v24.03
Updated FFMPEG to v2024-04-04-git-478d97f303 (7.0)
FFMPEG Audio Encoder v4.10
Updates:
Updated FFMPEG to ffmpeg-2023-12-14-git-5256b2fbe6-essentials_build
Updated yt-dlp to 2023.11.16
Updated pymediainfo to 6.1.0
Fixes:
Encoding jobs erroring out in Progress Bars mode on newer builds of FFMPEG (this was caused by FFMPEG modifying the STDOUT)
Changes:
When a job errors out, the error window will show slightly more verbose information
FFMPEG Audio Encoder v4.09
QAAC Bug Fix:
QAAC quality mode was not toggling the bitrate menu between TVBR to CBR etc... when swapping between quality modes
FFMPEG Audio Encoder v4.08
Fixes:
Simple-Youtube-DL GUI not launching
Updated Apps:
MPV to mpv-x86_64-v3-20230813-git-598e301
QAAC to v2.80 (still need to get files as required from Apple)
MediaInfo GUI to 23.07
FFMPEG to 2023-08-14-git-c704901324
Updated PyMediaInfo to 6.01
Updated yt-dlp to 2023.7.6
FFMPEG Audio Encoder v4.07
Changes:
Added substantially more options to Time Modification menu.
Converted the Menu to a ComboBox in order to more neatly house all these options.
Fixes:
Fixed inverted atempo conversions.
Notes:
I'll no longer include the installer option, as it's just extra work unless requested. Then I'll consider scripting a solution for auto builds.
FFMPEG Audio Encoder v4.06
Checks for all directories dropped into the File Batch window
Added an extension filtering drop down menu to filter files in the File Batch window
Program no longer clears batch file window upon injecting into jobs manager (in case you want to do multiple injections with different settings)
Batch window, when all tracks loaded into the batch window are identical tracks (for a series or something) it'll show additional information for track 1, track 2, etc... If all tracks are not identical it'll work like before
Now properly extracts audio delay from mp4 files
Now appends channel count to the filename
FFMPEG Audio Encoder v4.05
Program now determines if a dropped file is a file or directory
If you are dragging and dropping anywhere that is not the file batch window the program will ignore the dropped directory
If you have dropped a root directory into the file batch window it'll recursively search ALL folders inside that directory for media files to encode
Re-worked how the commands are sent to the terminal via subprocess
Fixed a bug with the auto encoder, that would sometimes not detect the correct codec selected. This is now done by reading the config so it retains 100% accuracy
FFMPEG Audio Encoder v4.04
Added the ability to save custom command input to profiles for every codec (#29)
Program checks to ensure there isn't multiple '-af' filters being used incorrectly (without combining them into one) before allowing the profile to save
FFMPEG Audio Encoder v4.03
Bug Fix: In rare instances the log files could have illegal characters, which would cause the log file to not be written and error out. This is fixed in this update
Bug Fix: During long batch encodes the jobs.dat file that is generated/updated could sometimes throw an error one it was empty. The program no longer will prompt an error for this
Batch processing QOL: When opening files to batch process, before the program would just hang until it was done doing all the processing. Now upon opening the files the window is disabled for user input, but it updates the user what is going on in the title bar and in the list box. So you can see the progress of the files being parsed
Job Manager QOL: Upon adding jobs to the Job Manager from the Batch window, this would also cause the program to actually withdraw (hide) until the processing was done. On large file/large amount of inputs this could happen for quite some time, now this is multithreaded and gives the user a progress update in the title bar
Jobs Manager QOL: Title bar will always keep the total amount of jobs up to date, so you have a rough idea of the progress of your jobs when there is a lot of them
FFMPEG Audio Encoder v4.02
Fixed #26 "Auto Encode Last Used Settings not selecting the correct audio track"
Fixed packed ffmpeg.exe not actually being deleted if the user selected yes when prompted
FFMPEG Audio Encoder v4.01
Bug Fix for 'Simple-Youtube-DL-Gui' not launching #24
The issue has to do with the latest update to the yt-dlp module and pyinstaller used to compile the exe
FFMPEG Audio Encoder v4.0
Some information:
I've re-worked the program, from the top of the code to the bottom. I learned python/tkinter during quarantine and made this tool very quickly afterword's. Not knowing many of the things that I know now about python/tkinter. I've since made several other tools, learned a lot during all this time, and knew eventually I'd need to come back to this one, clean the code up, and create what I originally envisioned a long time ago...
A lot of work has went into this update. It has taken me around 3 months to fully complete this release. I've changed how the entire program works internally, in alot of ways under the hood. I've done my best to check for bugs and correct them and I have gotten the new update to a stable spot where I was ready to do a release. If you find any bugs, please report them to me!
Tool Updates:
Changed FFMPEG Essentials (2022-05-23-git-6076dbcb55) Thanks! https://www.gyan.dev/ffmpeg/builds/
Updated yt-dlp to yt-dlp 2022.05.18 - (https://github.com/yt-dlp/yt-dlp/releases) - For SimpleYoutubeDL-GUI
Updated mpv player to v0.34.1
Updated mediainfoGUI to 22.03
Removed mediainfo.exe (cli) (no longer needed, now use mediainfolib internally)
QAAC and FDK-AAC changes:
FDK-AAC is no longer included with the release
QAAC QTFiles64, is no longer included with the release
Both tools are still fully supported by the GUI, but out of the box neither of these tools will be enabled
qaac64.exe is still included in the release, but you will need to obtain the quicktime .dll's in order to utilize the encoder. In the settings menu you can obtain these files easily by selecting 'Download QTfiles64' and then opening the directory to the tool. Once the tools are in place the program will automatically re-enable the qaac encoder
fdkaac.exe is not quite as easy to obtain. You technically need to build the executable yourself or use other means to get the executable file. If you know where to look you can easily obtain it. Once obtained, add the path to it in the settings window, or simply add it into it's app folder, restart the GUI, and it will automatically detect fdkaac.exe and re-enable the encoder
The changes to these tools are due to a license conflict #19
Changelog:
The GUI now will maintain it's correct size without blurring text or the GUI, this should look cleaner on all DPI sizes and versions of windows
All GUI buttons now change colors when the mouse is hovering over them
Reset Config in the tools menu now completely deletes the config.ini file, forcing the program to create a new one with all the default parameters
Fixed a bug where files without a duration (usually raw files, dtshd, etc) don't have any duration information, could cause errors. Progress bars are no longer created when the user inputs one of these files, instead it'll let the user know via a prompt and label
Fully re-worked the normal progress window for manual/auto encodes:
Encoding progress is wrapped in a nice little frame
The text window is now a scrollable text window, it saves all of the encoding text progress
During an encode, it will show the user the input file, the encoder, and the progress of the encode, followed the output file or an error if there is one
The scrolled text window will have a progress bar, if the input file has a duration, or just a label saying that the progress bar is disabled if there is no duration for the audio track
You can right click inside the progress scrolled text window and copy selected text
There is now an Options frame
This frame has a check box to automatically close. If checked this will automatically close the progress window upon completed. (This also can be changed on the main gui in the options menu > Progress Output > On/Off)
Copy to Clipboard button (works like it says, copies all text in the window to clipboard)
Pause button
Resume button
Cancel button
Open Output Directory button
All of the above options do exactly as they say
Pressing cancel will either close the window IF the encode is stopped or ask the user if they want to cancel the encode. If the user presses yes, the program will cancel the encode and close the window. The 'X' button at the top of the window works exactly the same way as the cancel button
The progress window now saves the process id of the job and correctly kills the process ID and it's children when the window is force closed or canceled
When a job is started, the main GUI window AND all other windows hide until the process is complete/canceled, after words they will re-appear
The error handling (it barely had any before), the logic for the progress window, all has been completely reprogrammed
The progress bar is based off of the selected stream duration INSTEAD of the general file duration, that it was before. This resulted in the progress bar not being completely updated during the encoding process
The progress window is now fully resizable and remembers where it was last closed at
There has been a lot more changes under the hood, but I listed the main changes
There is no extension limits anymore .mkv, .mp4, .aac, .ac3 etc. You can open ANY file now, the program will check that file for audio tracks, then accept it if it has audio tracks. If it doesn't it will let the user know.
QAAC command line, now has the --ignorelength command automatically added to it, since the program pipes a WAV format to qaac
All of the main GUI buttons hover status, has been adjusted, to say more informative information
Show Command Button changes:
Button name changed to "Display Command"
Clicking this button now gives the user a fully re-worked command line window
Now a scrolled text box, all of the commands will now easily fit in this window
Updates automatically on the fly, if left open, and other codecs/settings are changed
Right clicking in the scrolled text box will result in a menu, to copy selected text, or copy all text
The window is fully resizable and now remembers where it was last closed
This shows the full command line, if you was to copy this text, and paste it into cmd.exe it would run as is
Removed "Original" from the DTS channel selection, the default is now '2 (Stereo)'. This was needed because DTS cannot map ALL channels. FFMPEG DTS encoder only supports channels 1.0/2.0
FLAC compression level menu fix, while the internal commands was correct, what was displayed was incorrect. 0 is actually the fastest speed/lowest compression, where as 12 is the slowest speed/most compressed. Default is still 5. This includes updating the parameters to remember settings/as well as reset settings
Added the commands '-sn -vn -map_chapters -1' to be sent to all codecs, rarely, some codecs would carry over the chapters, this will ensure ONLY audio is mapped
The program now automatically detects the language from the track as well as the delay of the track:
If the track is a single track by itself in it's elementary container, the code to detect this does not run. It will only put the track# in the output filename
If the track is in a container, with any other track, the code searched that stream for the language/delay code
If the program finds a language, it will update the output string, otherwise it'll add the language string [UND]
If it finds delay it'll update the delay, otherwise it'll add a string that says [delay 0ms]'
This is very useful for muxers, to ensure that audio tracks are still in sync, if encoded by my program and remuxed back into the video file. In the even you are using a muxer that doesn't auto detect this, this will give the user the ability to see the delay visually, and add the switch/command to the muxer with the proper delay
'Save File' button no longer gives the user the option to select 'All Files', this was not needed and could potentially cause bugs if used incorrectly
Opus (libopus) changes:
Added a new menu to select 'Opus Mapping Family'
Mapping -1 is default (auto detection)
Mapping 0 is for Mono/Stereo
Mapping 1 is for anything greater then 2.0 (multi channel)
Alternatively, you can let FFMPEG auto detect this, as it's supposed to select this correctly based off of the input channel
Added the code needed for the menu hover color to change
Added the config options to save this/reset this (be careful saving the wrong mapping channel, this will result in an ffmpeg error)
Newer builds support mono for opus, so added the channel mapping '1 (Mono)' for opus
Every codec window now supports 'Volume', this replaced 'Gain'. The commands for the 'Gain' spinbox was actually for volume, the only codec that supports proper gain is QAAC:
Added a right click menu on the volume spinbox, to quickly select/reset values
Auto Encode: Last Used Options changes:
This works similarly as before, it gets all the quality of life changes as the manual encode, like delay/language string in the output filename
However, if the input file has 2 or more audio tracks, a new 'Audio Track Selection' window will pop up, with the ability to select which track you'd like to quick encode, as well as a mini command window
This 'Audio Track Selection' window has a cancel and confirm button, they function as you'd think, cancel stops/closes the window/re-opens the main GUI, confirm selects the track and starts the encode
Program will no longer allow the user to open multiples of ANY windows. The logic for every window is there to prevent this, it'll either ignore the command/update the window depending on which window it is.
This disables the ability to start multiple job windows, as as soon as the user starts an encode the main GUI is hidden
This might seem like a downgrade, however, further in the commit list, there is several other changes that will counter this change, and make it make more sense
If you still want to spawn multiple windows, you can disable progress bars to CMD in the options menu, this will just spawn multiple CMD windows
Added a new window 'Window Location Settings' that can be accessed in options menu or by using the hotkey CTRL + W:
This allows the user to enable/disable the programs ability to save the last closed position of every window that opens from the main gui, including the main gui itself
You can also right click in each frame, to disable all, enable all, reset all, as well as reset each individual window to defaults
Everything but youtube-dl-gui remembers it's last saved position by default and can be enabled/disabled here
The 'Windows Location Settings' window will most likely end up in the general settings window eventually, but as of now there is where it will be location
Upon exiting the main GUI, I use a lot more efficient code, to check for ANY open secondary windows, if any are opened, it will prompt the user if they'd like to exit. If there are no open windows, it will just save it's position/close
'Audio Settings' is now changed to 'Codec Settings'
'Codec Settings' window changes:
A lot of this is the same but there are some important changes
The 'View Streams' menu option, now spawns a brand new, cleaner looking window, that shows practically everything there is to know about each stream in the file
There is a new 'View Command' option menu in the window, this enables/disables the mini command window at the bottom of the 'Codec Settings' window. Default is enabled.
Removed the 'View Command' button in every codec window, as this new mini textbox is present. This updates constantly, as changes are made within 1ms of the change.
Added the ability to right click in this window and copy all/selected text
Program is no longer bundled with it's icon.ico file, it's embedded in a base64 text image, that is decoded at each program launch. This makes it where I have to pack less with the program
New Feature - Job Manager:
You can access the Job Manager by selecting 'File > Job Manager' or by adding a job via the 'Add to Jobs List' button (also, not discussed yet, from the new batch processing window), the hotkey to open it is 'CTRL + J'
Inside of this window you have some pretty basic options/information
On the left, largest area of the window, you have a decent sized list box, that will list all of your jobs
You can right click inside of this window and use the same buttons, that are on the right side of the Job Manager window
The box can be scrolled on the X and Y axis (up/down/left/right) if needed
Each job will display the codec first, filename, entire command line, duration and the output file name
On the right side, you have 4 buttons
Delete Selected: this deletes the selected job
Delete All: this will delete EVERY job in window
Start Selected Job: This starts what ever job is highlighted in the list
Start All Jobs: This loops from top to bottom doing 1 job at a time until they are complete (I plan to add 2 or 4 job workers later)
The job manager, stores the jobs in a jobs.dat file, that will automatically be created upon first use of the job manager window. If you launch multiple instances of the program, this file is shared between instances of each program from the same directory. The 'Job Manager' automatically updates jobs in less than a millisecond between each instance
You can add jobs to the manager, save them for later, as long as you don't move the source files, you can encode these jobs at anytime later
Upon starting a new encode, a 'Progress Drawer' will open expanding the 'Job Manger' window downwards:
This job window contains a new encoding progress window output, with a progress bar/label (depending on duration), it works the same way as the other progress window
You can right click inside of it to copy the text
On the right side of the drawer you have 4 new buttons:
Pause
Resume
Cancel
Cancel All (You will only see 'Cancel All' if you start the job with the 'Start All Jobs' button)
Selecting 'Cancel' or 'Cancel All' will correctly kill the job/processes and attempt to delete the un-finished file
Closing the 'Job Manager' with the 'X' button at the top of the window, will close the job process, attempt to delete the un-finished file and close the window.
During encoding process, you'll notice the main window disappears, this is by design, as GUI applications are not multithreaded, even though the code running it is multi-threaded, this prevents any errors. Once the process is complete, the window will return
FFMPEG Audio Encoder GUI changes:
You'll notice, while familiar, there are some changes to the window
The window is slightly increased in size
Both the file input/output boxes, now correctly display the backslashes of the files (before, it would use forward slashes sometimes and back slashes other, as the code manipulating these windows is called from multiple functions)
'Open File' has become 'Input'
If you select 'Input' via left click or right click on the mouse, you will get a new small window that pops up over the button
'Open File' - This works like before, opens a file dialog box
'Batch Process' - This will be explained later in this changelog
'Show Command' is changed to 'Display Command'
Removed the un-needed 'Codec ->' label, I placed this in there to space the geometry of the window, I've learned to properly use the grid system/frames and this was no longer needed
'Audio Settings' is now 'Codec Settings' (works pretty much the same)
The long 'Start Audio Job' button is changed into 2 buttons
On the left you have 'Add to Jobs List'
Once you load a file, select the codec, the settings, you can either start the job, or add the job to the job list window (this will open the job manager immediately and load the new job)
On the right you have 'Start Job' (works the same as before)
The GUI is organized, labeled and looks a lot better, everything resizes properly
The GUI (unless force closed via task manager) will remember it's last used size/position on the monitor when closed
The 'Help' menu has changed
Documentation (hotkey 'F1')
This is a WORK IN PROGRESS, I still have to write the wiki, but I plan to do that this week
Project Page
This opens the main github page for the FFMPEG Audio Encoder
Report Error / Feature Request
This opens a github tracker page for the program, with 2 templates available, or you can select a blank template
Here you can request a feature/report errors etc...
Info
This is the improved 'About' window
In this window, you now see a much cleaner window, with more information and the license information
This window remembers it's size/last closed position as well
In the 'Tools' menu batch processing has been removed, this is replaced by the new batch processing
All of the code that had to do with the old batch processor, has been remove
I'll talk more about the 'Batch Processing Window' later in this changelog
In the 'Options' menu we have a couple more options that hasn't been gone over yet
General Settings - this will be explained later in this changelog
Reset Configuration File - this resets the config.ini file by deleting it and closes the program with a prompt telling the user to restart
Clean Log Files - this cleans the log files (will go over log files later in the changelog)
File Menu
Open File - works like before
File Batch - opens the new 'Batch Window'
Job Manager - opens the 'Job Manager' window
Reset GUI - this resets the GUI back to a fresh starting state (does not remove user data/config files/log files)
Exit - works the same as the 'X' button
All of these have hotkeys
You can now drag and drop a file anywhere into the main GUI, instead of just the input button/entry
'Shell Options' has been changed to 'Progress Output' - works the same as before
'General Settings' window:
This is where the majority of the settings will take place
Currently you can set the path to all your tools as well as default save paths
You can set the paths to:
FFMPEG
MPV
Mediainfo GUI
FDK-AAC
QAAC
Manual/Auto Encode Output Path
Batch Processing Path
Each option has a button, entry box, with the two lower options a reset to default button in the form of a 'X'
This window is built with tabs, currently the only tab at the top is 'Paths', but this will eventually be where most/if not all of the settings will be adjusted in the future
Added Log Files:
They are stored in /Runtime/logs
manual_auto - this stores all of the auto encode/start job logs (stores up to 50 at a time, deletes the oldest first)
job_manager_single - this stores job manager single encode logs (up to 100 at a time, deletes the oldest first)
job_manager_multi - this stores job manager batch encode logs (up to 100 at a time, deletes the oldest first)
error_logs - this stores python errors/traceback/gui errors (up to 10 log files at once, deletes the oldest first, cleans up temporary empty logs at close/start of program)
All logs have a date/time stamp in the filename, depending on what type of log they will have other unique identifiers
Manual/Auto jobs will now check if the output file exists when starting the job, if it exists it will prompt the user asking if they'd like to overwrite the file, if the user selects yes it will over write, if the user selects no then it will open a save dialog box, to specify a new save location and/or filename
Job Manager jobs will check if output file exists, this however will not prompt the user. This window is meant to do jobs automatically, so it will rename the old file with the tags [old_file] added before the extension. (If for some reason a file with [old_file] already exists, it'll add a random set of numbers behind that, in an attempt to never overwrite existing files)
Added proper error handling:
This will log all pythonic/gui/stdout related errors
It will open a new error window (it opens based off of where the main GUI is at)
This window makes a notification sound when opening
It displays the error in a text box
Has a button to report error to github
You can copy all the text in the window
It has a button to force close the entire program (in the event the main gui is hidden when this window opens)
This new logger also saves error logs automatically to the 'error_logs' directory in the log files folder
This logger runs on a separate thread, in order to catch all errors and open them/save them to file quickly
I've done my best to comb over the entire program to make sure that there are no errors, in the event you find one please report them to me!!!!!
Removed the need for mediainfo CLI through out the entire program
In any window that has track selection (Track #1, Track #2, etc...), you can now see A LOT more information per track. It essentially shows a shortened version of most/if not all the information per track
Adding a file to the GUI is significantly faster then before, the code is quicker/shorter/more effecient
QAAC / FDK-AAC now has two separate custom command line inputs:
FDK-AAC/QAAC Custom Command Line: This adjusts the fdk/qaac side of the command line
FFMPEG Custom Command Line: This adjusts the ffmpeg side of the command
You can adjust before/after the pipe for each encoder if you'd like
'Track Name' is changed to 'Title' for both of these codecs
Both codec windows has been slightly resized/organized for the new entry command line
Changed the programs license from GPL to the MIT license
Batch Processing: (new window)
You can access this window from the 'File' menu, pressing the hotkey 'CTRL + B', or by clicking on the 'Input' button and selecting 'Batch Process'
You'll be greeted with a window that looks similar to the job manager window
On the left you have a list box, where you can view the files that you have added to this window
You can add files by dragging and dropping files (not directories, might look into adding this later) into the window or by selecting the 'Add Files' button on the right, then using the dialogue box to select as many files as you want
Upon adding files, depending on how large/how many, give the program a few seconds to quickly parse each file, to check for audio tracks and the amount of audio tracks
If you selected files that have 0 audio tracks, the program will let you know that x amount of files have not been added because they didn't have no audio tracks
It uses the track count from each file dropped to dynamically allow the user to select which track is batch processed:
If you input 50 files and 49 of them have 2 tracks where as only 1 of them has 1 track, you will be limited to only batch processing with "Track 1'
If you Input 50 files with 2 tracks, then you will be able to select 'Tracks 1, or Track 2'
If you input 50 files with 10 tracks, then you will be able to select all 10 tracks
You get the point :)
This is dynamically changed each time files are added to the window
If you add 10 tracks with 3 tracks, this would give you the ability to select tracks 1 - 3. However, if you was to add 1 or more files, with less tracks, the track selection in the settings window would be limited to the lower amount of tracks in the file
Alternately, if you add 10 files with 3 tracks and another file with 4 tracks. You will be limited to 3 tracks
The takeaway, the program will only allow you to select the tracks that ALL input files have in the batch window
If you want to batch different track counts, for different directories, I'd suggest adding them to the window, doing the settings, adding to the job manager, for each directory
On the bottom you have a 'Batch Processing Path' frame
You can set the default path to the files that you are going to process
NOTE: This changes the path permanently until you change it again, it is changed in the general settings window as well from this save box
The default is 'File Input Directory' this will save encoded files where the old files are with new names
On the right side of the window you have buttons and the codec menu:
'Add Files' button - opens a dialog box to manually add files, works just like drag and drop
'Delete Selected Item(s)' button - this will delete a selected input file from the window
'Delete All' button - this deletes everything from the window
'Codec Menu':
Once you have opened a file you get access to this menu
You can select all of the same codecs from this menu, just like the main gui, once selected you simply click the 'Codec Settings' button below
The 'Codec Settings' button works exactly the same as the manual/auto
It has the dynamic track selection (minus all the extra individual track information)
It's missing some individual file menu options
Once you have added files, set the codec/settings for the file, (path if you want) select 'Add to Jobs Manager' button
This will re-open the 'Job Manager' window like we previously talked about, where you can encode induvial files/the entire list
The new 'Batch Processing' code, is integrated directly into the programming, instead of a huge module. (Old code for batch processing was messy, hard to keep up to date, 6000 lines of code. The new code is integrated directly into the programs code, less than 600 lines of code)
The new batch processing code is easy to maintain and will update automatically to any new changes made to all codecs/settings
New to this version is the installer version
This installs a decompressed version of the program, that is a tad faster to startup and I'll be able to update with the setup file
You can still use the portable version as well, packed with the program instead
NOTE: Do not run the portable version from archive, this needs to be extracted, to properly remember settings/use dependencies
I've done my best to list all of the changes. This has been a massive update, with many many changes, that I could not remember/list all of them
However, I have listed all of the major changes that is new in the program
I look forward to feedback!
Remember, if you find any bugs, please let me know and I will fix them!!
The Wiki will be updated soon, with a how to etc
FFMPEG Audio Encoder v3.36.4
Updates
Updated QAAC to v2.73 (https://github.com/nu774/qaac/releases/tag/2.73)
Updated yt-dlp to yt-dlp 2022.02.04 - (https://github.com/yt-dlp/yt-dlp/releases/tag/2022.02.04) - For SimpleYoutubeDL-GUI
Updated FFMPEG to version: 2022-02-07-git-04cc7a5548
Fixed a bug in the code where setting the output would be based off of the config.ini auto encode input. This was not needed and had the potential to cause visual bugs
FFMPEG Audio Encoder v3.36.3
Updates
Cleaned up the "View Streams" window, to remove un-needed characters and organized it better
Bug Fix for SimpleYoutubeDLG when it came to pathing to the FFMPEG.exe binary
FFMPEG Audio Encoder v3.36.2
Updates (Batch Encoder GUI Fix)
I stripped the un-needed brackets ({}) off of the file input for drag and drop. This didn't change the function of the app however it does make it look nicer when displaying the save file/view commands
Show commands "FFMPEG" location will now update correctly based off where you choose in the "Set FFMPEG location"
NOTE: This was fully functional internally, however it did not correctly display on the show commands window
FFMPEG Audio Encoder v3.36.1
Updates
Changed menu option from Youtube-DL-Gui to Simple-Youtube-DL-Gui
Update this to the latest version from standalone
This will correct a small bug that would have had to do with FFMPEG pathing
FFMPEG Audio Encoder v3.36
Updates
Completely re-wrote the entire youtubedl GUI that was included within FFMPEGAudioEncoder
It's fully written in python, with no needed binaries to run (other then FFMPEG which is included with ffmegaudioencodergui)
It's fully multi-threaded
It uses the python module ytb-dl in order to do the work
It has the ability to download video and or audio, from almost any video website
The simple version of this program has much less features then the full fledged version, how ever it has the basic needed features and it'll be much easier to keep up to date as I work with ffmpegaudioencodergui
Youtube-DL is no longer required and is removed from the program entirely, the youtubeGUI is now built based off of the python module 'yt-dlp' and is currently only version 'yt-dlp 2021.11.10.1'
FFMPEG Audio Encoder v3.35
Updates
Program should now clear Windows antivirus always, I've compiled my own version of pyinstaller and made sure not to add anything that was not needed and a few other smaller changes
Officially from this point on the app will only run on x64 systems.
QAAC has been updated to 'v2.72'
Youtube-DL has been updated to 'youtube-dl 2021.06.06'
MPV-Player has been updated to '0.33.1'
Mediainfo CLI/GUI has been updated to v21.09
FFMPEG has been updated to '2021-10-14-git-c336c7a9d7'
FFMPEG Audio Encoder v3.34.1 (Reverted to older python/pyinstaller for Windows 7 - 10 support)
Updates
Fix for .dll error on Windows versions under 10
I had to revert back to older python/pyinstaller, for what ever reason latest versions of them break older windows support
FFMPEG Audio Encoder v3.4
Updates (v3.3):
Main GUI:
Program is now uncompressed, this allows for a faster start and less chance of Windows detecting it as a false positive virus. The downside to this is the programs folder is a lot messier (You can just place program in a folder and create a shortcut to the .exe)
Program now utilizes a new 'profiles.ini' file to save/read profiles
All codecs now has a new toolbar menu labeled 'Options' with the following sub menu options 'Save Current Settings' and 'Reset Settings to Default'
'Save Current Settings' will allow the user to save what ever settings they have selected in the codec audio window. Next time you open that audio codec, it will have the exact same settings. (This does not save 'Track Selection', 'Custom Command Line', or 'Track Name' (If requested I could program these to be saved as well)
'Reset Settings to Default' will revert the current selected codec back to default settings, close and then re-open the audio window with default settings. This will delete your profile with no way to get it back, aside from manually saving the new profile again.
Moved Batch Processing Button into the 'Tools' section of the program
Moved 'Show Command' in Batch Processing button's old spot
Added a new button 'Auto Encode:...' in 'Show Commands' place
This allows the user to encode the next file with the last options/codec used (This does not include Track selection, currently it defaults to Track 1 always) If requested I'll add this
Modified the auto track selection code to allow a new feature:
Program now supports displaying source file audio codec(s)
This enables it to show the Track Number, Codec, Channels, and Bitrate in the drop down menu instead of the generic Track 1, Track 2
Adjusted the code for View Streams selection, so the track counts always started at 1 instead of randomly at 0 or 2 depending on source
Fixed code required for 'Input Button' to work correctly again (Drag and Drop worked fine, bug was only for manual input)
Added a 'Status Label' to the bottom of the GUI:
This updates when the user hovers the mouse over the buttons/menus in the main GUI giving them useful tips/commands in the 'Status Label'
Added a new 'Right Click' menu to the 'Auto Encode:...' button:
This new menu allows the user to open a small window to see the commands that was last used/that will be used with that button, in case the settings aren't what they want
Set both entry boxes on the main GUI to disabled right away, this is just a quality of life fix, will not effect the user at all
Slightly adjusted main GUI size
Batch Encoder:
Batch encoder now reads 'profiles.ini' - This currently only works with AC3/AAC
Added AC3/AAC default settings to read from the Main Gui saved profile (If requested I'll program the batch GUI to have a separate profile)
I haven't done any more work on the batch encoder yet
v3.34
Fixed bug with youtube-dl-gui
Updated latest youtube-dl-gui to 1.4
FFMPEG Audio Encoder v3.2
Updates:
Main GUI:
Broke up the code for the config file, to separate blocks in order to make the code write each settings by itself in the case one is missing
Added the ability to set the shell options permanently depending on what the user wants, this is now written to the config.ini file and can be adjusted via the GUI like before or can be adjusted via the config file if information is entered correctly
Batch GUI:
Removed menu bars completely, this is not required and I wanted to make it cleaner looking
The Batch GUI now checks the config file for the 'shell_options' setting, this can be changed on the fly/before you open the batch gui
FFMPEG Audio Encoder v3.1
Updates:
Fixed a bug where 'FFMPEG' was located on Windows PATH and had white spaces in the name, the program could bug out on some encoders resulting in an error like so ('C:Program' is not recognized as an internal or external command,
operable program or batch file.)
Added forced window geometry, so progress bar pop ups would look correct on different DPI settings
Added a new config.ini file (this will be generated upon first program launch)
You can now adjust the path to ffmpeg.exe/mpv.exe/mediainfo(gui & cli).exe
Adjust these settings in the Options menu at the top of the GUI
I have also added a 'Reset Configuration File' button in the Options menu as well (this will reset the config file/shut down the program)
I have also fixed a bug with the QAAC encoder. Using 'True VBR' could result in a failed encode rarely, this has been fixed now
FFMPEG Audio Encoder v3.0
Updates:
Added quite a bit of new code to enable functional progress bars
In the main GUI it is accurate to the seconds from 0% to 100%
In the batch GUI the progress is calculated based off the files
Quite a few quality of life improvements in the code
Selecting 'Debug' will still allow the encode to run in the windows command prompt
FFMPEG Audio Encoder v2.9.7
Updates:
Program now checks for for existing folders in the 'Apps' directory, if they aren't there, it creates them.
Added static links for the downloadable app, I got as many of these links to pull directly from the source for the latest versions
Added a progress bar to the 'App Download' window
Updated 'Youtube-DL-Gui' to the latest beta (v1.4) Check Youtube-DL-Gui github for changes (https://github.com/jlw4049/Youtube-DL-GUI)
Program now checks for both ffmpeg.exe and youtube-dl.exe on your system path, before attempting to download them directly to the program
Some minor bug fixes
FFMPEG Audio Encoder v2.9.6
Major Changes to the code
Added '.aax' extension to the program
Removed 'NEW_' from the batch side of the program, since the program automatically puts new files into a new directory. This makes it easier for the user not to have to go batch edit a bunch of new files in case they didn't want 'NEW_' included in the filename
Added a license to the program (GPL-3.0 License)
Updated 'ffmpeg.exe' to the latest version
Program will now 'Auto Download' required apps, instead of them being in the repository
The 'Auto Downloader' will check to see if the file exists, if it doesn't it'll download it for you
Program will no longer ship with FFMPEG automatically, this makes the program lighter and will check your system 'PATH' for existing installations before downloading one on it's own
Changed the way closing the program behaves. It will now prompt you to be sure you want to close it
FFMPEG Audio Encoder v2.9.4
Major Changes to the code
Broke up the code between Main Gui, Batch Gui, and YoutubeDL Gui (This will make managing all of them a lot easier)
Changed how the File -> Exit button functions, this was required for each individual window with the new code
QAAC encoder had some major bugs on any setting that was not 'True VBR.' This has been fixed for both the batch encoder and the single file encoder
YoutubeDL Gui is now built into the main GUI, instead of being a separate executable/script. (I will still update/release standalone versions of this) You can access this via the 'Tools' menu at the top of the GUI
FFMPEG Audio Encoder v2.9.3
Added a new custom GUI to download videos from the internet based off of Youtube-DL CLI
This gui is in BETA but functional for audio/as well as downloading highest quality video
You can access this via the Tools Menu by selection Youtube-DL-GUI
FFMPEG Audio Encoder v2.9.2
Added MPV Player to listen to selected tracks
You can control the volume with keys '9' and '0' (VolDown and VolUp) when viewing/listening to video/audio
Added E-AC3 to the extension list for both main GUI and batch GUI
FFMPEG Audio Encoder v2.9.1
Added "ALAC" encoder to main GUI and batch GUI
Handled several code bugs that was on the batch side of the program
FFMPEG Audio Encoder v2.9
Added 'FLAC' to the batch encoder
FFMPEG Audio Encoder v2.8
Added FLAC input
FFMPEG Audio Encoder v2.7
Reworked how the program adds audio filters for FFMPEG.
This allows me to combine as many filters as I would like, giving me the ability to add a new feature.
Added 'Time Modification' Selection
This allows the user to change the audio to match the framerate of a specific film as well as slow down the audio significantly or speed it up. This was a request from a user. Now fully supported!
FFMPEG Audio Encoder v2.5
Added Support for Windows 7 x64 to Windows 10 x64
Added Batch Encoding:
Added every codec to the batch encoder that was supported in main program
Added a bunch of optional extensions, if you use common it will support most if not all extensions most people use. You have all files as an option, but this could break the batch program if you have a file with an extension that is something that doesn't belong. (.jpg or anything else that isn't audio/video)
Cleaned up the UI for the program some
Linked the drop down menu in main program where you can select "Debug" if you need to
Added the ability to see all the command line options in batch form, in the batch window
Added folder drag and drop (for the batch window). You can drag and drop a folder into the 'Open Directory' button or into the Entry Box to the right of it
I adjusted 'Save Directory' to default to the folder that was opened for encoding instead of root of the program
On the main GUI I removed the 'MediaInfo' button, it is replaced by the "Batch Process" button. However, I added a tools option in the menu bar, that will still allow you to use this feature like it was before. (If you have an input file opened, it will still open the program with that file automatically, if you don't it'll open the program up to where you can do what ever you like)
I cleaned up a bunch of the code. Attempted to organize some things.
FFMPEG Audio Encoder v2.1
New Features:
Added Dolby Pro Logic II check box to all encoder windows other then 'E-AC3' (This is a default option in the advanced section of for this codec) - You can use Dolby Pro Logic II with any codec as long as you first set the channels to '2 (Stereo)'
Changed the gain selection in all encoder windows from a drop down menu to a spinbox, giving more flexibility and making it look nicer
(You can now select from -30 to 30)
Bug Fixes:
QAAC encoder - adjust bitrate spinbox from 1 to 0 as the minimum. When set to 0 this enables the encoder to automatically use as much bitrate as possible.
Fixed 'view command' line function from last update
Fixed 'debug' option, that in some instances would fail
Fixed the code for QAAC 'threading' option. This enabled the wrong command when selected, this is now fixed
FFMPEG Audio Encoder v2.0
@jlw4049 jlw4049 released this 6 days ago · 17 commits to master since this release
Every codec has had a re-work. I double checked every codec and made the following changes:
AAC Encoder:
Adjusted window size
Removed some unnecessary row configurations
Added custom command line for AAC codec
Added ability to input Title
Added VBR Toggle Option
Organized all the AAC window code
Added all supported channel options
Added all supported sample rates
AC3 Encoder:
Added all available bitrates to the drop down menu
Removed unsupported audio channels and added all missing supported channel selections
Removed unnecessary code for the 'gain' selection part of the AC3 codec
Added '32000' to the sample rate drop down menu, completing all supported sample rates for this codec
Adjusted command line with required changes
Added 'View Command' Button
Adjusted 'show commands' command line for the required changes
Added custom command line input
Added title entry box
Added needed 'row configure' to keep buttons nice looking for different sized DPI settings (based on OS)
Resized AC3 Settings window
Set 'Apply' button in 'AC3 Settings' to close any/all 'View Command' windows that may or may not be up
DTS Encoder:
Added Gain Options
Added the option to encode
Added Sample rate options
Added custom command line input
Set program to disable and set default unsupported options when using 'Reduce to Core' and 'Extract HD Track'
Added the ability to 'View Commands' in the DTS Codec Menu
Added audio channel options (This is limited by FFMPEG. There is only mono/stereo to choose from. IF you leave this set to
'Original' and your track is 5.1 then when it encodes it will be 5.1)
Updated main GUI show command line feature for this codec and all of it's selections
Opus Encoder:
Added Constrained VBR to the list of VBR options, completeing Opus codecs vbr options
Adjusted Audio Channel choices to only supported channels
Removed 'Original' from the channels, as Opus requires channels to be specified, regardless of input.
The default is now set to stereo, but can be changed to any of the supported channel layouts in the sub-menu.
I am going to work on some work around to this in the future, but for a while this is how it will be. This is
a limitation of FFMPEG/LibOpus.
Removed unnecessary code from the 'Gain Choices' drop down menu
Organized "Opus" code
Added Custom Command line input
Added a 'View Command' button
Added sample rate drop down menu with all supported sample rates
Adjusted window size of Opus codec
Added Packet Loss spinbox (default is 0)
Added Frame Duration spinbox (default is 20)
Worked all new settings/features into the 'View Command' button in the 'Opus Settings' window
Opus doesn't support holding 'Title' information so this feature will not be added to this codec
Corrected supported bitrates from this codec
MP3 Encoder:
Added all supported sample rates
Added all supported bitrates for CBR
Average bitrate choices will be based off of the CBR choices
Added average bitrate check button
Added VBR check button (This is enabled by default. Once you disable this you will have access to CBR/ABR options)
Added ABR check button
Added all options to "View Commands" in the MP3 Audio Settings window
Added all options to the 'Show Commands' button in the main GUI
Removed code that was no longer needed/shared with other codecs
Resized the window to make everything look nice
FDK-AAC Encoder:
Added custom title input
Added custom command line
Resized window
Added view command button
Adjusted command line viewer for main gui
Adjusted start job command line
E-AC3 Encoder:
Added all supported channels
Added all supported sample rates
There will be no 'Title' entry for this codec, as AC3 doesn't support holding that information
Added all of the advanced settings: (All these are set to default)
-Per Frame Metadata
-Mixing Level
-Room Type
-Copyright Bit
-Dialogue Level
-Dolby Surround Mode
-Original Bit Stream
-Stereo Downmix Mode
-Lt/Rt Center Mix Level
-Lt/Rt Surround Mix Level
-Lo/Ro Center Mix Level
-Lo/Ro Surround Mix Level
-Dolby Surround EX Mode
-Dolby Headphone Mode
-A/D Converter Type
-Stereo Rematrixing
-Channel Coupling
-Coupling Start Band
-Custom Command Line
Added a view command button
Resized the window to hold all of the new selections. I will organize and adjust this window potentially later
Updated both view commands button, one on main GUI and the button inside of the "Audio Settings" window for this codec
QAAC Encoder:
Added custom command line input
Added title entry input
Adjusted disabled color of the spinboxs
Added No Delay Check Box
Added VBR Mode Selection
Added QAAC Gain instead of FFMPEG
Added Normalize toggle
Added No Dither Toggle
Added No Delay toggle
Added No Optimize Toggle
Added High Efficeincy Toggle
Added Threading Toggle
Added Limiter Toggle
Added Gapless Mode Drop Down Menu
FFMPEG Audio Encoder v1.75
@jlw4049 jlw4049 released this 17 days ago · 50 commits to master since this release
When you press save file now there will be a default name based off of what the input is.
This already worked for auto save path, but this did not work properly when you actually pressed 'Save File".
This now has proper location and a default save name that can be changed.
Updated QAAC codec to 2.69. (Latest Version)
FFMPEG Audio Encoder v1.8
@jlw4049 jlw4049 released this 17 days ago · 48 commits to master since this release
Cleaned up a lot of the code. Track detection now has no limit.
FFMPEG Audio Encoder v1.7
@jlw4049 jlw4049 released this 18 days ago · 51 commits to master since this release
Have now successfully added QAAC audio encoder to the program.
This is piped from FFMPEG. All of it's features are added to the Audio Settings sub window once you select the encoder from the drop down menu.
I have also added some basic error windows for attempting to open un-supported file types.
This is complete for drag and drop as well as manually opening a file by selecting "Open File"
There could still be some missing file extensions that I don't know about, but currently it's a pretty decent sized list. If some more needs to be added please let me know so I can add them to the program ASAP.
FFMPEG Audio Encoder v1.5
@jlw4049 jlw4049 released this 18 days ago · 53 commits to master since this release
Version 1.5:
Removed FFPROBE.exe from the program/code.
It not only makes the program smaller in size as a whole but it also fixes some things.
I have replaced it with MediaInfoCli, this allowed me to have a lot more control over the 'view streams' sub window in the codec selection.
This also allowed me to fix a small bug that was sometimes caused by tracks that have been improperly muxed, allowing the program to become confused and think there was 1 more track then there was. Track detection is now 100% accurate.
I have added a module to allow drag and drop to the GUI. You can now drag any supported file and drop it on the 'Open File' button or the text box beside it.
This still might be lacking some extensions, but I've got all the major ones covered. I'll research this further and add as many as I can in a later update.
On top of that, I tried to remove anything unnecessary to help with the false positive virus detection Windows does. Apparently it's a problem with pyinstaller .exes. So there might still be some false positives but it is rare.
FFMPEG Audio Encoder v1.45
@jlw4049 jlw4049 released this 20 days ago · 55 commits to master since this release
Added FDK-AAC codec with all of it's advanced settings.
Improved the program in many ways under the hood.
FFMPEG Audio Encoder
@jlw4049 jlw4049 released this 24 days ago · 56 commits to master since this release
FFMPEG-Audio-Encoder
First stable release of a project I have been working on for a few weeks.
It's coded completely in python and it's completely portable.
It is powered with FFMPEG/FFPROBE and has as portable version of MediaInfo, these are all required for the app to run.
All of these are included with the programs in their own folders. They do not need your PATH adjusted to run.
If you want to use a specific version of FFPROBE/FFMPEG you can easily just replace them in the programs folders and it should work great.
Instructions
1) Open your file
2) You will have the options to open your selected file with mediainfo and select an encoder for it. (Mediainfo selection is optional)
3) After you select which codec you want to use to encode/extract with you can then select 'Audio Settings' to open a sub window.
4) You can choose what ever options you want. After words be sure to press 'Apply'
5) The program will automatically select a new name/file location based off of file input. You can choose a different option with the 'Save File' button.
6) After you choose your settings, you can select 'Start Job'
Updates
Updated psutil to v5.9.8
Updated yt-dlp to v2024.3.10
Updated websockets to v12.0
Updated qaac to v2.8.2
Updated mpv to v3-20240407-git-3c1e983
Updated mediainfo to v24.03
Updated FFMPEG to v2024-04-04-git-478d97f303 (7.0)
FFMPEG Audio Encoder v4.10
Updates:
Updated FFMPEG to ffmpeg-2023-12-14-git-5256b2fbe6-essentials_build
Updated yt-dlp to 2023.11.16
Updated pymediainfo to 6.1.0
Fixes:
Encoding jobs erroring out in Progress Bars mode on newer builds of FFMPEG (this was caused by FFMPEG modifying the STDOUT)
Changes:
When a job errors out, the error window will show slightly more verbose information
FFMPEG Audio Encoder v4.09
QAAC Bug Fix:
QAAC quality mode was not toggling the bitrate menu between TVBR to CBR etc... when swapping between quality modes
FFMPEG Audio Encoder v4.08
Fixes:
Simple-Youtube-DL GUI not launching
Updated Apps:
MPV to mpv-x86_64-v3-20230813-git-598e301
QAAC to v2.80 (still need to get files as required from Apple)
MediaInfo GUI to 23.07
FFMPEG to 2023-08-14-git-c704901324
Updated PyMediaInfo to 6.01
Updated yt-dlp to 2023.7.6
FFMPEG Audio Encoder v4.07
Changes:
Added substantially more options to Time Modification menu.
Converted the Menu to a ComboBox in order to more neatly house all these options.
Fixes:
Fixed inverted atempo conversions.
Notes:
I'll no longer include the installer option, as it's just extra work unless requested. Then I'll consider scripting a solution for auto builds.
FFMPEG Audio Encoder v4.06
Checks for all directories dropped into the File Batch window
Added an extension filtering drop down menu to filter files in the File Batch window
Program no longer clears batch file window upon injecting into jobs manager (in case you want to do multiple injections with different settings)
Batch window, when all tracks loaded into the batch window are identical tracks (for a series or something) it'll show additional information for track 1, track 2, etc... If all tracks are not identical it'll work like before
Now properly extracts audio delay from mp4 files
Now appends channel count to the filename
FFMPEG Audio Encoder v4.05
Program now determines if a dropped file is a file or directory
If you are dragging and dropping anywhere that is not the file batch window the program will ignore the dropped directory
If you have dropped a root directory into the file batch window it'll recursively search ALL folders inside that directory for media files to encode
Re-worked how the commands are sent to the terminal via subprocess
Fixed a bug with the auto encoder, that would sometimes not detect the correct codec selected. This is now done by reading the config so it retains 100% accuracy
FFMPEG Audio Encoder v4.04
Added the ability to save custom command input to profiles for every codec (#29)
Program checks to ensure there isn't multiple '-af' filters being used incorrectly (without combining them into one) before allowing the profile to save
FFMPEG Audio Encoder v4.03
Bug Fix: In rare instances the log files could have illegal characters, which would cause the log file to not be written and error out. This is fixed in this update
Bug Fix: During long batch encodes the jobs.dat file that is generated/updated could sometimes throw an error one it was empty. The program no longer will prompt an error for this
Batch processing QOL: When opening files to batch process, before the program would just hang until it was done doing all the processing. Now upon opening the files the window is disabled for user input, but it updates the user what is going on in the title bar and in the list box. So you can see the progress of the files being parsed
Job Manager QOL: Upon adding jobs to the Job Manager from the Batch window, this would also cause the program to actually withdraw (hide) until the processing was done. On large file/large amount of inputs this could happen for quite some time, now this is multithreaded and gives the user a progress update in the title bar
Jobs Manager QOL: Title bar will always keep the total amount of jobs up to date, so you have a rough idea of the progress of your jobs when there is a lot of them
FFMPEG Audio Encoder v4.02
Fixed #26 "Auto Encode Last Used Settings not selecting the correct audio track"
Fixed packed ffmpeg.exe not actually being deleted if the user selected yes when prompted
FFMPEG Audio Encoder v4.01
Bug Fix for 'Simple-Youtube-DL-Gui' not launching #24
The issue has to do with the latest update to the yt-dlp module and pyinstaller used to compile the exe
FFMPEG Audio Encoder v4.0
Some information:
I've re-worked the program, from the top of the code to the bottom. I learned python/tkinter during quarantine and made this tool very quickly afterword's. Not knowing many of the things that I know now about python/tkinter. I've since made several other tools, learned a lot during all this time, and knew eventually I'd need to come back to this one, clean the code up, and create what I originally envisioned a long time ago...
A lot of work has went into this update. It has taken me around 3 months to fully complete this release. I've changed how the entire program works internally, in alot of ways under the hood. I've done my best to check for bugs and correct them and I have gotten the new update to a stable spot where I was ready to do a release. If you find any bugs, please report them to me!
Tool Updates:
Changed FFMPEG Essentials (2022-05-23-git-6076dbcb55) Thanks! https://www.gyan.dev/ffmpeg/builds/
Updated yt-dlp to yt-dlp 2022.05.18 - (https://github.com/yt-dlp/yt-dlp/releases) - For SimpleYoutubeDL-GUI
Updated mpv player to v0.34.1
Updated mediainfoGUI to 22.03
Removed mediainfo.exe (cli) (no longer needed, now use mediainfolib internally)
QAAC and FDK-AAC changes:
FDK-AAC is no longer included with the release
QAAC QTFiles64, is no longer included with the release
Both tools are still fully supported by the GUI, but out of the box neither of these tools will be enabled
qaac64.exe is still included in the release, but you will need to obtain the quicktime .dll's in order to utilize the encoder. In the settings menu you can obtain these files easily by selecting 'Download QTfiles64' and then opening the directory to the tool. Once the tools are in place the program will automatically re-enable the qaac encoder
fdkaac.exe is not quite as easy to obtain. You technically need to build the executable yourself or use other means to get the executable file. If you know where to look you can easily obtain it. Once obtained, add the path to it in the settings window, or simply add it into it's app folder, restart the GUI, and it will automatically detect fdkaac.exe and re-enable the encoder
The changes to these tools are due to a license conflict #19
Changelog:
The GUI now will maintain it's correct size without blurring text or the GUI, this should look cleaner on all DPI sizes and versions of windows
All GUI buttons now change colors when the mouse is hovering over them
Reset Config in the tools menu now completely deletes the config.ini file, forcing the program to create a new one with all the default parameters
Fixed a bug where files without a duration (usually raw files, dtshd, etc) don't have any duration information, could cause errors. Progress bars are no longer created when the user inputs one of these files, instead it'll let the user know via a prompt and label
Fully re-worked the normal progress window for manual/auto encodes:
Encoding progress is wrapped in a nice little frame
The text window is now a scrollable text window, it saves all of the encoding text progress
During an encode, it will show the user the input file, the encoder, and the progress of the encode, followed the output file or an error if there is one
The scrolled text window will have a progress bar, if the input file has a duration, or just a label saying that the progress bar is disabled if there is no duration for the audio track
You can right click inside the progress scrolled text window and copy selected text
There is now an Options frame
This frame has a check box to automatically close. If checked this will automatically close the progress window upon completed. (This also can be changed on the main gui in the options menu > Progress Output > On/Off)
Copy to Clipboard button (works like it says, copies all text in the window to clipboard)
Pause button
Resume button
Cancel button
Open Output Directory button
All of the above options do exactly as they say
Pressing cancel will either close the window IF the encode is stopped or ask the user if they want to cancel the encode. If the user presses yes, the program will cancel the encode and close the window. The 'X' button at the top of the window works exactly the same way as the cancel button
The progress window now saves the process id of the job and correctly kills the process ID and it's children when the window is force closed or canceled
When a job is started, the main GUI window AND all other windows hide until the process is complete/canceled, after words they will re-appear
The error handling (it barely had any before), the logic for the progress window, all has been completely reprogrammed
The progress bar is based off of the selected stream duration INSTEAD of the general file duration, that it was before. This resulted in the progress bar not being completely updated during the encoding process
The progress window is now fully resizable and remembers where it was last closed at
There has been a lot more changes under the hood, but I listed the main changes
There is no extension limits anymore .mkv, .mp4, .aac, .ac3 etc. You can open ANY file now, the program will check that file for audio tracks, then accept it if it has audio tracks. If it doesn't it will let the user know.
QAAC command line, now has the --ignorelength command automatically added to it, since the program pipes a WAV format to qaac
All of the main GUI buttons hover status, has been adjusted, to say more informative information
Show Command Button changes:
Button name changed to "Display Command"
Clicking this button now gives the user a fully re-worked command line window
Now a scrolled text box, all of the commands will now easily fit in this window
Updates automatically on the fly, if left open, and other codecs/settings are changed
Right clicking in the scrolled text box will result in a menu, to copy selected text, or copy all text
The window is fully resizable and now remembers where it was last closed
This shows the full command line, if you was to copy this text, and paste it into cmd.exe it would run as is
Removed "Original" from the DTS channel selection, the default is now '2 (Stereo)'. This was needed because DTS cannot map ALL channels. FFMPEG DTS encoder only supports channels 1.0/2.0
FLAC compression level menu fix, while the internal commands was correct, what was displayed was incorrect. 0 is actually the fastest speed/lowest compression, where as 12 is the slowest speed/most compressed. Default is still 5. This includes updating the parameters to remember settings/as well as reset settings
Added the commands '-sn -vn -map_chapters -1' to be sent to all codecs, rarely, some codecs would carry over the chapters, this will ensure ONLY audio is mapped
The program now automatically detects the language from the track as well as the delay of the track:
If the track is a single track by itself in it's elementary container, the code to detect this does not run. It will only put the track# in the output filename
If the track is in a container, with any other track, the code searched that stream for the language/delay code
If the program finds a language, it will update the output string, otherwise it'll add the language string [UND]
If it finds delay it'll update the delay, otherwise it'll add a string that says [delay 0ms]'
This is very useful for muxers, to ensure that audio tracks are still in sync, if encoded by my program and remuxed back into the video file. In the even you are using a muxer that doesn't auto detect this, this will give the user the ability to see the delay visually, and add the switch/command to the muxer with the proper delay
'Save File' button no longer gives the user the option to select 'All Files', this was not needed and could potentially cause bugs if used incorrectly
Opus (libopus) changes:
Added a new menu to select 'Opus Mapping Family'
Mapping -1 is default (auto detection)
Mapping 0 is for Mono/Stereo
Mapping 1 is for anything greater then 2.0 (multi channel)
Alternatively, you can let FFMPEG auto detect this, as it's supposed to select this correctly based off of the input channel
Added the code needed for the menu hover color to change
Added the config options to save this/reset this (be careful saving the wrong mapping channel, this will result in an ffmpeg error)
Newer builds support mono for opus, so added the channel mapping '1 (Mono)' for opus
Every codec window now supports 'Volume', this replaced 'Gain'. The commands for the 'Gain' spinbox was actually for volume, the only codec that supports proper gain is QAAC:
Added a right click menu on the volume spinbox, to quickly select/reset values
Auto Encode: Last Used Options changes:
This works similarly as before, it gets all the quality of life changes as the manual encode, like delay/language string in the output filename
However, if the input file has 2 or more audio tracks, a new 'Audio Track Selection' window will pop up, with the ability to select which track you'd like to quick encode, as well as a mini command window
This 'Audio Track Selection' window has a cancel and confirm button, they function as you'd think, cancel stops/closes the window/re-opens the main GUI, confirm selects the track and starts the encode
Program will no longer allow the user to open multiples of ANY windows. The logic for every window is there to prevent this, it'll either ignore the command/update the window depending on which window it is.
This disables the ability to start multiple job windows, as as soon as the user starts an encode the main GUI is hidden
This might seem like a downgrade, however, further in the commit list, there is several other changes that will counter this change, and make it make more sense
If you still want to spawn multiple windows, you can disable progress bars to CMD in the options menu, this will just spawn multiple CMD windows
Added a new window 'Window Location Settings' that can be accessed in options menu or by using the hotkey CTRL + W:
This allows the user to enable/disable the programs ability to save the last closed position of every window that opens from the main gui, including the main gui itself
You can also right click in each frame, to disable all, enable all, reset all, as well as reset each individual window to defaults
Everything but youtube-dl-gui remembers it's last saved position by default and can be enabled/disabled here
The 'Windows Location Settings' window will most likely end up in the general settings window eventually, but as of now there is where it will be location
Upon exiting the main GUI, I use a lot more efficient code, to check for ANY open secondary windows, if any are opened, it will prompt the user if they'd like to exit. If there are no open windows, it will just save it's position/close
'Audio Settings' is now changed to 'Codec Settings'
'Codec Settings' window changes:
A lot of this is the same but there are some important changes
The 'View Streams' menu option, now spawns a brand new, cleaner looking window, that shows practically everything there is to know about each stream in the file
There is a new 'View Command' option menu in the window, this enables/disables the mini command window at the bottom of the 'Codec Settings' window. Default is enabled.
Removed the 'View Command' button in every codec window, as this new mini textbox is present. This updates constantly, as changes are made within 1ms of the change.
Added the ability to right click in this window and copy all/selected text
Program is no longer bundled with it's icon.ico file, it's embedded in a base64 text image, that is decoded at each program launch. This makes it where I have to pack less with the program
New Feature - Job Manager:
You can access the Job Manager by selecting 'File > Job Manager' or by adding a job via the 'Add to Jobs List' button (also, not discussed yet, from the new batch processing window), the hotkey to open it is 'CTRL + J'
Inside of this window you have some pretty basic options/information
On the left, largest area of the window, you have a decent sized list box, that will list all of your jobs
You can right click inside of this window and use the same buttons, that are on the right side of the Job Manager window
The box can be scrolled on the X and Y axis (up/down/left/right) if needed
Each job will display the codec first, filename, entire command line, duration and the output file name
On the right side, you have 4 buttons
Delete Selected: this deletes the selected job
Delete All: this will delete EVERY job in window
Start Selected Job: This starts what ever job is highlighted in the list
Start All Jobs: This loops from top to bottom doing 1 job at a time until they are complete (I plan to add 2 or 4 job workers later)
The job manager, stores the jobs in a jobs.dat file, that will automatically be created upon first use of the job manager window. If you launch multiple instances of the program, this file is shared between instances of each program from the same directory. The 'Job Manager' automatically updates jobs in less than a millisecond between each instance
You can add jobs to the manager, save them for later, as long as you don't move the source files, you can encode these jobs at anytime later
Upon starting a new encode, a 'Progress Drawer' will open expanding the 'Job Manger' window downwards:
This job window contains a new encoding progress window output, with a progress bar/label (depending on duration), it works the same way as the other progress window
You can right click inside of it to copy the text
On the right side of the drawer you have 4 new buttons:
Pause
Resume
Cancel
Cancel All (You will only see 'Cancel All' if you start the job with the 'Start All Jobs' button)
Selecting 'Cancel' or 'Cancel All' will correctly kill the job/processes and attempt to delete the un-finished file
Closing the 'Job Manager' with the 'X' button at the top of the window, will close the job process, attempt to delete the un-finished file and close the window.
During encoding process, you'll notice the main window disappears, this is by design, as GUI applications are not multithreaded, even though the code running it is multi-threaded, this prevents any errors. Once the process is complete, the window will return
FFMPEG Audio Encoder GUI changes:
You'll notice, while familiar, there are some changes to the window
The window is slightly increased in size
Both the file input/output boxes, now correctly display the backslashes of the files (before, it would use forward slashes sometimes and back slashes other, as the code manipulating these windows is called from multiple functions)
'Open File' has become 'Input'
If you select 'Input' via left click or right click on the mouse, you will get a new small window that pops up over the button
'Open File' - This works like before, opens a file dialog box
'Batch Process' - This will be explained later in this changelog
'Show Command' is changed to 'Display Command'
Removed the un-needed 'Codec ->' label, I placed this in there to space the geometry of the window, I've learned to properly use the grid system/frames and this was no longer needed
'Audio Settings' is now 'Codec Settings' (works pretty much the same)
The long 'Start Audio Job' button is changed into 2 buttons
On the left you have 'Add to Jobs List'
Once you load a file, select the codec, the settings, you can either start the job, or add the job to the job list window (this will open the job manager immediately and load the new job)
On the right you have 'Start Job' (works the same as before)
The GUI is organized, labeled and looks a lot better, everything resizes properly
The GUI (unless force closed via task manager) will remember it's last used size/position on the monitor when closed
The 'Help' menu has changed
Documentation (hotkey 'F1')
This is a WORK IN PROGRESS, I still have to write the wiki, but I plan to do that this week
Project Page
This opens the main github page for the FFMPEG Audio Encoder
Report Error / Feature Request
This opens a github tracker page for the program, with 2 templates available, or you can select a blank template
Here you can request a feature/report errors etc...
Info
This is the improved 'About' window
In this window, you now see a much cleaner window, with more information and the license information
This window remembers it's size/last closed position as well
In the 'Tools' menu batch processing has been removed, this is replaced by the new batch processing
All of the code that had to do with the old batch processor, has been remove
I'll talk more about the 'Batch Processing Window' later in this changelog
In the 'Options' menu we have a couple more options that hasn't been gone over yet
General Settings - this will be explained later in this changelog
Reset Configuration File - this resets the config.ini file by deleting it and closes the program with a prompt telling the user to restart
Clean Log Files - this cleans the log files (will go over log files later in the changelog)
File Menu
Open File - works like before
File Batch - opens the new 'Batch Window'
Job Manager - opens the 'Job Manager' window
Reset GUI - this resets the GUI back to a fresh starting state (does not remove user data/config files/log files)
Exit - works the same as the 'X' button
All of these have hotkeys
You can now drag and drop a file anywhere into the main GUI, instead of just the input button/entry
'Shell Options' has been changed to 'Progress Output' - works the same as before
'General Settings' window:
This is where the majority of the settings will take place
Currently you can set the path to all your tools as well as default save paths
You can set the paths to:
FFMPEG
MPV
Mediainfo GUI
FDK-AAC
QAAC
Manual/Auto Encode Output Path
Batch Processing Path
Each option has a button, entry box, with the two lower options a reset to default button in the form of a 'X'
This window is built with tabs, currently the only tab at the top is 'Paths', but this will eventually be where most/if not all of the settings will be adjusted in the future
Added Log Files:
They are stored in /Runtime/logs
manual_auto - this stores all of the auto encode/start job logs (stores up to 50 at a time, deletes the oldest first)
job_manager_single - this stores job manager single encode logs (up to 100 at a time, deletes the oldest first)
job_manager_multi - this stores job manager batch encode logs (up to 100 at a time, deletes the oldest first)
error_logs - this stores python errors/traceback/gui errors (up to 10 log files at once, deletes the oldest first, cleans up temporary empty logs at close/start of program)
All logs have a date/time stamp in the filename, depending on what type of log they will have other unique identifiers
Manual/Auto jobs will now check if the output file exists when starting the job, if it exists it will prompt the user asking if they'd like to overwrite the file, if the user selects yes it will over write, if the user selects no then it will open a save dialog box, to specify a new save location and/or filename
Job Manager jobs will check if output file exists, this however will not prompt the user. This window is meant to do jobs automatically, so it will rename the old file with the tags [old_file] added before the extension. (If for some reason a file with [old_file] already exists, it'll add a random set of numbers behind that, in an attempt to never overwrite existing files)
Added proper error handling:
This will log all pythonic/gui/stdout related errors
It will open a new error window (it opens based off of where the main GUI is at)
This window makes a notification sound when opening
It displays the error in a text box
Has a button to report error to github
You can copy all the text in the window
It has a button to force close the entire program (in the event the main gui is hidden when this window opens)
This new logger also saves error logs automatically to the 'error_logs' directory in the log files folder
This logger runs on a separate thread, in order to catch all errors and open them/save them to file quickly
I've done my best to comb over the entire program to make sure that there are no errors, in the event you find one please report them to me!!!!!
Removed the need for mediainfo CLI through out the entire program
In any window that has track selection (Track #1, Track #2, etc...), you can now see A LOT more information per track. It essentially shows a shortened version of most/if not all the information per track
Adding a file to the GUI is significantly faster then before, the code is quicker/shorter/more effecient
QAAC / FDK-AAC now has two separate custom command line inputs:
FDK-AAC/QAAC Custom Command Line: This adjusts the fdk/qaac side of the command line
FFMPEG Custom Command Line: This adjusts the ffmpeg side of the command
You can adjust before/after the pipe for each encoder if you'd like
'Track Name' is changed to 'Title' for both of these codecs
Both codec windows has been slightly resized/organized for the new entry command line
Changed the programs license from GPL to the MIT license
Batch Processing: (new window)
You can access this window from the 'File' menu, pressing the hotkey 'CTRL + B', or by clicking on the 'Input' button and selecting 'Batch Process'
You'll be greeted with a window that looks similar to the job manager window
On the left you have a list box, where you can view the files that you have added to this window
You can add files by dragging and dropping files (not directories, might look into adding this later) into the window or by selecting the 'Add Files' button on the right, then using the dialogue box to select as many files as you want
Upon adding files, depending on how large/how many, give the program a few seconds to quickly parse each file, to check for audio tracks and the amount of audio tracks
If you selected files that have 0 audio tracks, the program will let you know that x amount of files have not been added because they didn't have no audio tracks
It uses the track count from each file dropped to dynamically allow the user to select which track is batch processed:
If you input 50 files and 49 of them have 2 tracks where as only 1 of them has 1 track, you will be limited to only batch processing with "Track 1'
If you Input 50 files with 2 tracks, then you will be able to select 'Tracks 1, or Track 2'
If you input 50 files with 10 tracks, then you will be able to select all 10 tracks
You get the point :)
This is dynamically changed each time files are added to the window
If you add 10 tracks with 3 tracks, this would give you the ability to select tracks 1 - 3. However, if you was to add 1 or more files, with less tracks, the track selection in the settings window would be limited to the lower amount of tracks in the file
Alternately, if you add 10 files with 3 tracks and another file with 4 tracks. You will be limited to 3 tracks
The takeaway, the program will only allow you to select the tracks that ALL input files have in the batch window
If you want to batch different track counts, for different directories, I'd suggest adding them to the window, doing the settings, adding to the job manager, for each directory
On the bottom you have a 'Batch Processing Path' frame
You can set the default path to the files that you are going to process
NOTE: This changes the path permanently until you change it again, it is changed in the general settings window as well from this save box
The default is 'File Input Directory' this will save encoded files where the old files are with new names
On the right side of the window you have buttons and the codec menu:
'Add Files' button - opens a dialog box to manually add files, works just like drag and drop
'Delete Selected Item(s)' button - this will delete a selected input file from the window
'Delete All' button - this deletes everything from the window
'Codec Menu':
Once you have opened a file you get access to this menu
You can select all of the same codecs from this menu, just like the main gui, once selected you simply click the 'Codec Settings' button below
The 'Codec Settings' button works exactly the same as the manual/auto
It has the dynamic track selection (minus all the extra individual track information)
It's missing some individual file menu options
Once you have added files, set the codec/settings for the file, (path if you want) select 'Add to Jobs Manager' button
This will re-open the 'Job Manager' window like we previously talked about, where you can encode induvial files/the entire list
The new 'Batch Processing' code, is integrated directly into the programming, instead of a huge module. (Old code for batch processing was messy, hard to keep up to date, 6000 lines of code. The new code is integrated directly into the programs code, less than 600 lines of code)
The new batch processing code is easy to maintain and will update automatically to any new changes made to all codecs/settings
New to this version is the installer version
This installs a decompressed version of the program, that is a tad faster to startup and I'll be able to update with the setup file
You can still use the portable version as well, packed with the program instead
NOTE: Do not run the portable version from archive, this needs to be extracted, to properly remember settings/use dependencies
I've done my best to list all of the changes. This has been a massive update, with many many changes, that I could not remember/list all of them
However, I have listed all of the major changes that is new in the program
I look forward to feedback!
Remember, if you find any bugs, please let me know and I will fix them!!
The Wiki will be updated soon, with a how to etc
FFMPEG Audio Encoder v3.36.4
Updates
Updated QAAC to v2.73 (https://github.com/nu774/qaac/releases/tag/2.73)
Updated yt-dlp to yt-dlp 2022.02.04 - (https://github.com/yt-dlp/yt-dlp/releases/tag/2022.02.04) - For SimpleYoutubeDL-GUI
Updated FFMPEG to version: 2022-02-07-git-04cc7a5548
Fixed a bug in the code where setting the output would be based off of the config.ini auto encode input. This was not needed and had the potential to cause visual bugs
FFMPEG Audio Encoder v3.36.3
Updates
Cleaned up the "View Streams" window, to remove un-needed characters and organized it better
Bug Fix for SimpleYoutubeDLG when it came to pathing to the FFMPEG.exe binary
FFMPEG Audio Encoder v3.36.2
Updates (Batch Encoder GUI Fix)
I stripped the un-needed brackets ({}) off of the file input for drag and drop. This didn't change the function of the app however it does make it look nicer when displaying the save file/view commands
Show commands "FFMPEG" location will now update correctly based off where you choose in the "Set FFMPEG location"
NOTE: This was fully functional internally, however it did not correctly display on the show commands window
FFMPEG Audio Encoder v3.36.1
Updates
Changed menu option from Youtube-DL-Gui to Simple-Youtube-DL-Gui
Update this to the latest version from standalone
This will correct a small bug that would have had to do with FFMPEG pathing
FFMPEG Audio Encoder v3.36
Updates
Completely re-wrote the entire youtubedl GUI that was included within FFMPEGAudioEncoder
It's fully written in python, with no needed binaries to run (other then FFMPEG which is included with ffmegaudioencodergui)
It's fully multi-threaded
It uses the python module ytb-dl in order to do the work
It has the ability to download video and or audio, from almost any video website
The simple version of this program has much less features then the full fledged version, how ever it has the basic needed features and it'll be much easier to keep up to date as I work with ffmpegaudioencodergui
Youtube-DL is no longer required and is removed from the program entirely, the youtubeGUI is now built based off of the python module 'yt-dlp' and is currently only version 'yt-dlp 2021.11.10.1'
FFMPEG Audio Encoder v3.35
Updates
Program should now clear Windows antivirus always, I've compiled my own version of pyinstaller and made sure not to add anything that was not needed and a few other smaller changes
Officially from this point on the app will only run on x64 systems.
QAAC has been updated to 'v2.72'
Youtube-DL has been updated to 'youtube-dl 2021.06.06'
MPV-Player has been updated to '0.33.1'
Mediainfo CLI/GUI has been updated to v21.09
FFMPEG has been updated to '2021-10-14-git-c336c7a9d7'
FFMPEG Audio Encoder v3.34.1 (Reverted to older python/pyinstaller for Windows 7 - 10 support)
Updates
Fix for .dll error on Windows versions under 10
I had to revert back to older python/pyinstaller, for what ever reason latest versions of them break older windows support
FFMPEG Audio Encoder v3.4
Updates (v3.3):
Main GUI:
Program is now uncompressed, this allows for a faster start and less chance of Windows detecting it as a false positive virus. The downside to this is the programs folder is a lot messier (You can just place program in a folder and create a shortcut to the .exe)
Program now utilizes a new 'profiles.ini' file to save/read profiles
All codecs now has a new toolbar menu labeled 'Options' with the following sub menu options 'Save Current Settings' and 'Reset Settings to Default'
'Save Current Settings' will allow the user to save what ever settings they have selected in the codec audio window. Next time you open that audio codec, it will have the exact same settings. (This does not save 'Track Selection', 'Custom Command Line', or 'Track Name' (If requested I could program these to be saved as well)
'Reset Settings to Default' will revert the current selected codec back to default settings, close and then re-open the audio window with default settings. This will delete your profile with no way to get it back, aside from manually saving the new profile again.
Moved Batch Processing Button into the 'Tools' section of the program
Moved 'Show Command' in Batch Processing button's old spot
Added a new button 'Auto Encode:...' in 'Show Commands' place
This allows the user to encode the next file with the last options/codec used (This does not include Track selection, currently it defaults to Track 1 always) If requested I'll add this
Modified the auto track selection code to allow a new feature:
Program now supports displaying source file audio codec(s)
This enables it to show the Track Number, Codec, Channels, and Bitrate in the drop down menu instead of the generic Track 1, Track 2
Adjusted the code for View Streams selection, so the track counts always started at 1 instead of randomly at 0 or 2 depending on source
Fixed code required for 'Input Button' to work correctly again (Drag and Drop worked fine, bug was only for manual input)
Added a 'Status Label' to the bottom of the GUI:
This updates when the user hovers the mouse over the buttons/menus in the main GUI giving them useful tips/commands in the 'Status Label'
Added a new 'Right Click' menu to the 'Auto Encode:...' button:
This new menu allows the user to open a small window to see the commands that was last used/that will be used with that button, in case the settings aren't what they want
Set both entry boxes on the main GUI to disabled right away, this is just a quality of life fix, will not effect the user at all
Slightly adjusted main GUI size
Batch Encoder:
Batch encoder now reads 'profiles.ini' - This currently only works with AC3/AAC
Added AC3/AAC default settings to read from the Main Gui saved profile (If requested I'll program the batch GUI to have a separate profile)
I haven't done any more work on the batch encoder yet
v3.34
Fixed bug with youtube-dl-gui
Updated latest youtube-dl-gui to 1.4
FFMPEG Audio Encoder v3.2
Updates:
Main GUI:
Broke up the code for the config file, to separate blocks in order to make the code write each settings by itself in the case one is missing
Added the ability to set the shell options permanently depending on what the user wants, this is now written to the config.ini file and can be adjusted via the GUI like before or can be adjusted via the config file if information is entered correctly
Batch GUI:
Removed menu bars completely, this is not required and I wanted to make it cleaner looking
The Batch GUI now checks the config file for the 'shell_options' setting, this can be changed on the fly/before you open the batch gui
FFMPEG Audio Encoder v3.1
Updates:
Fixed a bug where 'FFMPEG' was located on Windows PATH and had white spaces in the name, the program could bug out on some encoders resulting in an error like so ('C:Program' is not recognized as an internal or external command,
operable program or batch file.)
Added forced window geometry, so progress bar pop ups would look correct on different DPI settings
Added a new config.ini file (this will be generated upon first program launch)
You can now adjust the path to ffmpeg.exe/mpv.exe/mediainfo(gui & cli).exe
Adjust these settings in the Options menu at the top of the GUI
I have also added a 'Reset Configuration File' button in the Options menu as well (this will reset the config file/shut down the program)
I have also fixed a bug with the QAAC encoder. Using 'True VBR' could result in a failed encode rarely, this has been fixed now
FFMPEG Audio Encoder v3.0
Updates:
Added quite a bit of new code to enable functional progress bars
In the main GUI it is accurate to the seconds from 0% to 100%
In the batch GUI the progress is calculated based off the files
Quite a few quality of life improvements in the code
Selecting 'Debug' will still allow the encode to run in the windows command prompt
FFMPEG Audio Encoder v2.9.7
Updates:
Program now checks for for existing folders in the 'Apps' directory, if they aren't there, it creates them.
Added static links for the downloadable app, I got as many of these links to pull directly from the source for the latest versions
Added a progress bar to the 'App Download' window
Updated 'Youtube-DL-Gui' to the latest beta (v1.4) Check Youtube-DL-Gui github for changes (https://github.com/jlw4049/Youtube-DL-GUI)
Program now checks for both ffmpeg.exe and youtube-dl.exe on your system path, before attempting to download them directly to the program
Some minor bug fixes
FFMPEG Audio Encoder v2.9.6
Major Changes to the code
Added '.aax' extension to the program
Removed 'NEW_' from the batch side of the program, since the program automatically puts new files into a new directory. This makes it easier for the user not to have to go batch edit a bunch of new files in case they didn't want 'NEW_' included in the filename
Added a license to the program (GPL-3.0 License)
Updated 'ffmpeg.exe' to the latest version
Program will now 'Auto Download' required apps, instead of them being in the repository
The 'Auto Downloader' will check to see if the file exists, if it doesn't it'll download it for you
Program will no longer ship with FFMPEG automatically, this makes the program lighter and will check your system 'PATH' for existing installations before downloading one on it's own
Changed the way closing the program behaves. It will now prompt you to be sure you want to close it
FFMPEG Audio Encoder v2.9.4
Major Changes to the code
Broke up the code between Main Gui, Batch Gui, and YoutubeDL Gui (This will make managing all of them a lot easier)
Changed how the File -> Exit button functions, this was required for each individual window with the new code
QAAC encoder had some major bugs on any setting that was not 'True VBR.' This has been fixed for both the batch encoder and the single file encoder
YoutubeDL Gui is now built into the main GUI, instead of being a separate executable/script. (I will still update/release standalone versions of this) You can access this via the 'Tools' menu at the top of the GUI
FFMPEG Audio Encoder v2.9.3
Added a new custom GUI to download videos from the internet based off of Youtube-DL CLI
This gui is in BETA but functional for audio/as well as downloading highest quality video
You can access this via the Tools Menu by selection Youtube-DL-GUI
FFMPEG Audio Encoder v2.9.2
Added MPV Player to listen to selected tracks
You can control the volume with keys '9' and '0' (VolDown and VolUp) when viewing/listening to video/audio
Added E-AC3 to the extension list for both main GUI and batch GUI
FFMPEG Audio Encoder v2.9.1
Added "ALAC" encoder to main GUI and batch GUI
Handled several code bugs that was on the batch side of the program
FFMPEG Audio Encoder v2.9
Added 'FLAC' to the batch encoder
FFMPEG Audio Encoder v2.8
Added FLAC input
FFMPEG Audio Encoder v2.7
Reworked how the program adds audio filters for FFMPEG.
This allows me to combine as many filters as I would like, giving me the ability to add a new feature.
Added 'Time Modification' Selection
This allows the user to change the audio to match the framerate of a specific film as well as slow down the audio significantly or speed it up. This was a request from a user. Now fully supported!
FFMPEG Audio Encoder v2.5
Added Support for Windows 7 x64 to Windows 10 x64
Added Batch Encoding:
Added every codec to the batch encoder that was supported in main program
Added a bunch of optional extensions, if you use common it will support most if not all extensions most people use. You have all files as an option, but this could break the batch program if you have a file with an extension that is something that doesn't belong. (.jpg or anything else that isn't audio/video)
Cleaned up the UI for the program some
Linked the drop down menu in main program where you can select "Debug" if you need to
Added the ability to see all the command line options in batch form, in the batch window
Added folder drag and drop (for the batch window). You can drag and drop a folder into the 'Open Directory' button or into the Entry Box to the right of it
I adjusted 'Save Directory' to default to the folder that was opened for encoding instead of root of the program
On the main GUI I removed the 'MediaInfo' button, it is replaced by the "Batch Process" button. However, I added a tools option in the menu bar, that will still allow you to use this feature like it was before. (If you have an input file opened, it will still open the program with that file automatically, if you don't it'll open the program up to where you can do what ever you like)
I cleaned up a bunch of the code. Attempted to organize some things.
FFMPEG Audio Encoder v2.1
New Features:
Added Dolby Pro Logic II check box to all encoder windows other then 'E-AC3' (This is a default option in the advanced section of for this codec) - You can use Dolby Pro Logic II with any codec as long as you first set the channels to '2 (Stereo)'
Changed the gain selection in all encoder windows from a drop down menu to a spinbox, giving more flexibility and making it look nicer
(You can now select from -30 to 30)
Bug Fixes:
QAAC encoder - adjust bitrate spinbox from 1 to 0 as the minimum. When set to 0 this enables the encoder to automatically use as much bitrate as possible.
Fixed 'view command' line function from last update
Fixed 'debug' option, that in some instances would fail
Fixed the code for QAAC 'threading' option. This enabled the wrong command when selected, this is now fixed
FFMPEG Audio Encoder v2.0
@jlw4049 jlw4049 released this 6 days ago · 17 commits to master since this release
Every codec has had a re-work. I double checked every codec and made the following changes:
AAC Encoder:
Adjusted window size
Removed some unnecessary row configurations
Added custom command line for AAC codec
Added ability to input Title
Added VBR Toggle Option
Organized all the AAC window code
Added all supported channel options
Added all supported sample rates
AC3 Encoder:
Added all available bitrates to the drop down menu
Removed unsupported audio channels and added all missing supported channel selections
Removed unnecessary code for the 'gain' selection part of the AC3 codec
Added '32000' to the sample rate drop down menu, completing all supported sample rates for this codec
Adjusted command line with required changes
Added 'View Command' Button
Adjusted 'show commands' command line for the required changes
Added custom command line input
Added title entry box
Added needed 'row configure' to keep buttons nice looking for different sized DPI settings (based on OS)
Resized AC3 Settings window
Set 'Apply' button in 'AC3 Settings' to close any/all 'View Command' windows that may or may not be up
DTS Encoder:
Added Gain Options
Added the option to encode
Added Sample rate options
Added custom command line input
Set program to disable and set default unsupported options when using 'Reduce to Core' and 'Extract HD Track'
Added the ability to 'View Commands' in the DTS Codec Menu
Added audio channel options (This is limited by FFMPEG. There is only mono/stereo to choose from. IF you leave this set to
'Original' and your track is 5.1 then when it encodes it will be 5.1)
Updated main GUI show command line feature for this codec and all of it's selections
Opus Encoder:
Added Constrained VBR to the list of VBR options, completeing Opus codecs vbr options
Adjusted Audio Channel choices to only supported channels
Removed 'Original' from the channels, as Opus requires channels to be specified, regardless of input.
The default is now set to stereo, but can be changed to any of the supported channel layouts in the sub-menu.
I am going to work on some work around to this in the future, but for a while this is how it will be. This is
a limitation of FFMPEG/LibOpus.
Removed unnecessary code from the 'Gain Choices' drop down menu
Organized "Opus" code
Added Custom Command line input
Added a 'View Command' button
Added sample rate drop down menu with all supported sample rates
Adjusted window size of Opus codec
Added Packet Loss spinbox (default is 0)
Added Frame Duration spinbox (default is 20)
Worked all new settings/features into the 'View Command' button in the 'Opus Settings' window
Opus doesn't support holding 'Title' information so this feature will not be added to this codec
Corrected supported bitrates from this codec
MP3 Encoder:
Added all supported sample rates
Added all supported bitrates for CBR
Average bitrate choices will be based off of the CBR choices
Added average bitrate check button
Added VBR check button (This is enabled by default. Once you disable this you will have access to CBR/ABR options)
Added ABR check button
Added all options to "View Commands" in the MP3 Audio Settings window
Added all options to the 'Show Commands' button in the main GUI
Removed code that was no longer needed/shared with other codecs
Resized the window to make everything look nice
FDK-AAC Encoder:
Added custom title input
Added custom command line
Resized window
Added view command button
Adjusted command line viewer for main gui
Adjusted start job command line
E-AC3 Encoder:
Added all supported channels
Added all supported sample rates
There will be no 'Title' entry for this codec, as AC3 doesn't support holding that information
Added all of the advanced settings: (All these are set to default)
-Per Frame Metadata
-Mixing Level
-Room Type
-Copyright Bit
-Dialogue Level
-Dolby Surround Mode
-Original Bit Stream
-Stereo Downmix Mode
-Lt/Rt Center Mix Level
-Lt/Rt Surround Mix Level
-Lo/Ro Center Mix Level
-Lo/Ro Surround Mix Level
-Dolby Surround EX Mode
-Dolby Headphone Mode
-A/D Converter Type
-Stereo Rematrixing
-Channel Coupling
-Coupling Start Band
-Custom Command Line
Added a view command button
Resized the window to hold all of the new selections. I will organize and adjust this window potentially later
Updated both view commands button, one on main GUI and the button inside of the "Audio Settings" window for this codec
QAAC Encoder:
Added custom command line input
Added title entry input
Adjusted disabled color of the spinboxs
Added No Delay Check Box
Added VBR Mode Selection
Added QAAC Gain instead of FFMPEG
Added Normalize toggle
Added No Dither Toggle
Added No Delay toggle
Added No Optimize Toggle
Added High Efficeincy Toggle
Added Threading Toggle
Added Limiter Toggle
Added Gapless Mode Drop Down Menu
FFMPEG Audio Encoder v1.75
@jlw4049 jlw4049 released this 17 days ago · 50 commits to master since this release
When you press save file now there will be a default name based off of what the input is.
This already worked for auto save path, but this did not work properly when you actually pressed 'Save File".
This now has proper location and a default save name that can be changed.
Updated QAAC codec to 2.69. (Latest Version)
FFMPEG Audio Encoder v1.8
@jlw4049 jlw4049 released this 17 days ago · 48 commits to master since this release
Cleaned up a lot of the code. Track detection now has no limit.
FFMPEG Audio Encoder v1.7
@jlw4049 jlw4049 released this 18 days ago · 51 commits to master since this release
Have now successfully added QAAC audio encoder to the program.
This is piped from FFMPEG. All of it's features are added to the Audio Settings sub window once you select the encoder from the drop down menu.
I have also added some basic error windows for attempting to open un-supported file types.
This is complete for drag and drop as well as manually opening a file by selecting "Open File"
There could still be some missing file extensions that I don't know about, but currently it's a pretty decent sized list. If some more needs to be added please let me know so I can add them to the program ASAP.
FFMPEG Audio Encoder v1.5
@jlw4049 jlw4049 released this 18 days ago · 53 commits to master since this release
Version 1.5:
Removed FFPROBE.exe from the program/code.
It not only makes the program smaller in size as a whole but it also fixes some things.
I have replaced it with MediaInfoCli, this allowed me to have a lot more control over the 'view streams' sub window in the codec selection.
This also allowed me to fix a small bug that was sometimes caused by tracks that have been improperly muxed, allowing the program to become confused and think there was 1 more track then there was. Track detection is now 100% accurate.
I have added a module to allow drag and drop to the GUI. You can now drag any supported file and drop it on the 'Open File' button or the text box beside it.
This still might be lacking some extensions, but I've got all the major ones covered. I'll research this further and add as many as I can in a later update.
On top of that, I tried to remove anything unnecessary to help with the false positive virus detection Windows does. Apparently it's a problem with pyinstaller .exes. So there might still be some false positives but it is rare.
FFMPEG Audio Encoder v1.45
@jlw4049 jlw4049 released this 20 days ago · 55 commits to master since this release
Added FDK-AAC codec with all of it's advanced settings.
Improved the program in many ways under the hood.
FFMPEG Audio Encoder
@jlw4049 jlw4049 released this 24 days ago · 56 commits to master since this release
FFMPEG-Audio-Encoder
First stable release of a project I have been working on for a few weeks.
It's coded completely in python and it's completely portable.
It is powered with FFMPEG/FFPROBE and has as portable version of MediaInfo, these are all required for the app to run.
All of these are included with the programs in their own folders. They do not need your PATH adjusted to run.
If you want to use a specific version of FFPROBE/FFMPEG you can easily just replace them in the programs folders and it should work great.
Instructions
1) Open your file
2) You will have the options to open your selected file with mediainfo and select an encoder for it. (Mediainfo selection is optional)
3) After you select which codec you want to use to encode/extract with you can then select 'Audio Settings' to open a sub window.
4) You can choose what ever options you want. After words be sure to press 'Apply'
5) The program will automatically select a new name/file location based off of file input. You can choose a different option with the 'Save File' button.
6) After you choose your settings, you can select 'Start Job'