Releases: jessielw/FFMPEG-Audio-Encoder
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!
I present: FFMPEG Audio Encoder v4.0
Screenshots:
Click on any picture to see a full high resolution screenshot
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)
...
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.34
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