Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Audio encoding

Reply
 
Thread Tools Search this Thread Display Modes
Old 8th July 2020, 04:15   #1  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
FFMPEG Audio Encoder v4.0

FFMPEG Audio Encoder v4.0



Click lower images for higher resolution

















Description:

Program now supports Batch Encoding as of version 2.5

This is a small first time project I've been working on, to improve my skills at coding.

FFMPEG is the heart of this program, however it is also bundled with a couple other required apps needed to run. All of the included apps is required for the program to run. Each application is included with the program in individual folders. They do not need windows path environment variable modified in any way what so ever to run, this program is completely standalone.

If you want to use a specific version of FFMPEG (or any of the other apps bundled) you can easily just replace the application in the programs folders.

This program can intake any media file that has audio and encode it to the codec/settings of your choice. You can open any video/audio file.

All of the following codecs are supported:

Codecs Supported:
Quote:
* AAC
* AC3
* E-AC3
* DTS
* Opus
* MP3 (Lame)
* FDK-AAC
* QAAC
* FLAC
* ALAC
Instructions:
Quote:
1) Open your file
2) Open the file or drag and drop a file into the 'Open File' area
3) Afterword's you'll be able to select what ever 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 then 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) Once you are ready to encode just select 'Start Job'
Note: Program will not run from archive, It needs to be extracted to a folder somewhere!


Download:
Quote:
There is a small chance on Windows that the program will give a false positive saying this program is a virus. This .zip is clean and everything that comes with it is clean. You can run it through Virus Total if you'd like.

Last edited by jlw_4049; 25th May 2022 at 16:39. Reason: Update
jlw_4049 is offline   Reply With Quote
Old 8th July 2020, 08:59   #2  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,542
Please notice that Windows AV reports it as Trojan:Win32/Wacatam

If you used any exe compression or encryption, perhaps much better to release the first version as plain exe.
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 8th July 2020, 15:58   #3  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
Please show the log window or send any error message.

- The dts encoder don't work at all. We can't select bitrate and the output is always wrong.
I remember you how can use ffmpeg like dts encoder, seems your command line is wrong (I can't see it):

FFMPEG -i input -strict -2 -c:a dca -b:a 1509k output.dts

BTW the encoded dts by ffmpeg aren't compliant for some DVD/BD authoring soft, if we need a dts compliant is better use ffdcaenc.exe with GUI's like UsEac3to or BeHappy.

- The opus encoder make files with .ogg extensions and always downmix to stereo

- The Vorbis encoder is not needed now, it was replaced with opus.

- Maybe you can add the eac3 format.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 8th July 2020, 16:08   #4  |  Link
richardpl
Registered User
 
Join Date: Jan 2012
Posts: 272
Quote:
Originally Posted by tebasuna51 View Post
BTW the encoded dts by ffmpeg aren't compliant for some DVD/BD authoring soft, if we need a dts compliant is better use ffdcaenc.exe with GUI's like UsEac3to or BeHappy.
Can you show valid proof that this statement is correct at all?
richardpl is offline   Reply With Quote
Old 8th July 2020, 18:00   #5  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Quote:
Originally Posted by tebasuna51 View Post
Please show the log window or send any error message.

- The dts encoder don't work at all. We can't select bitrate and the output is always wrong.
I remember you how can use ffmpeg like dts encoder, seems your command line is wrong (I can't see it):

FFMPEG -i input -strict -2 -c:a dca -b:a 1509k output.dts

BTW the encoded dts by ffmpeg aren't compliant for some DVD/BD authoring soft, if we need a dts compliant is better use ffdcaenc.exe with GUI's like UsEac3to or BeHappy.

- The opus encoder make files with .ogg extensions and always downmix to stereo

- The Vorbis encoder is not needed now, it was replaced with opus.

- Maybe you can add the eac3 format.
Thank you for the feedback.

The DTS is merely just for reducing DTSHD to core or extracting DTSHD. I haven't added the experimental DTS encoding features.

I will work on adding error output however.

The opus encoder is set to default to make files stereo, to avoid errors. If you take a 5.1 source and let Opus try to copy those channels you will get an error as Opus doesn't support 5.1(side)

Thank you on the Vorbis information. If it's truly out-dated I will remove it from the software.

I will also look into adding eac3 as well.

Thanks for the feedback so far.


Quote:
Originally Posted by tormento View Post
Please notice that Windows AV reports it as Trojan:Win32/Wacatam

If you used any exe compression or encryption, perhaps much better to release the first version as plain exe.

Updated the .zip on github with an uncompressed version of the .exe
Thanks for the tip!

Last edited by jlw_4049; 8th July 2020 at 18:16.
jlw_4049 is offline   Reply With Quote
Old 8th July 2020, 18:49   #6  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
Quote:
Originally Posted by richardpl View Post
Can you show valid proof that this statement is correct at all?
That is a old discussion, I don't know if I can find the thread: https://forum.doom9.org/showthread.p...57#post1688157

I say "some" not all or actual authoring tools.

Basically that tool only accept dts's "1536" with frame size 2013 obtained with ffdcaenc -b 1509.75

With ffmpeg I can obtain 2012 (-b:a 1509) or 2016 (-b:a 1509.001)

BTW, DTS is a format without interest to output in this time, for me is correct this:

Quote:
The DTS is merely just for reducing DTSHD to core or extracting DTSHD
but ffmpeg try to do a dts (size 0) with input no dts.
__________________
BeHappy, AviSynth audio transcoder.

Last edited by tebasuna51; 9th July 2020 at 09:54. Reason: add link
tebasuna51 is offline   Reply With Quote
Old 8th July 2020, 19:06   #7  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Quote:
Originally Posted by tebasuna51 View Post
but ffmpeg try to do a dts (size 0) with input no dts.
I'm currently working on adding e-ac3 and removing vorbis. As well as correcting the Opus output container to .opus instead of .ogg

However, I'm not sure what exactly you mean with the DTS (size 0)

Are you saying that if someone tries to use the DTS codec in the drop down selection and they don't have a DTS input, it will error out? If so yes it will, as currently I have only added support for extract DTS to core from DTSHD or extracting the DTSHD file.
jlw_4049 is offline   Reply With Quote
Old 8th July 2020, 19:31   #8  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
With a simple wav input, codec DTS, DTS settings (default Reduce to core), Apply, Start audio job and I ibtain a .NEW.dts 0 bytes without any error message.
If I select DTS settings: extract HD track, I obtain a .NEW.dts file with garbage.

With input dts-hd the core is extracted ok.
You must add .m2ts to open files list.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 8th July 2020, 19:35   #9  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Quote:
Originally Posted by tebasuna51 View Post
With a simple wav input, codec DTS, DTS settings (default Reduce to core), Apply, Start audio job and I ibtain a .NEW.dts 0 bytes without any error message.
If I select DTS settings: extract HD track, I obtain a .NEW.dts file with garbage.

With input dts-hd the core is extracted ok.
You must add .m2ts to open files list.
Could you provide me this wav input so I can do some tests and add it to the program?

EDIT:
I made a .wav file of the HD track. Added it to the program, was able to reduce wav to DTS core and was also able to extract DTS-HD from .wav


Quote:
Updated program to v1.1:
Removed Vorbis (Outdated codec)
Added E-AC3
Added a long list of supported bit rates and sample rates.
Added .mt2s and .wav to the file input window.

Last edited by jlw_4049; 9th July 2020 at 07:41.
jlw_4049 is offline   Reply With Quote
Old 9th July 2020, 09:53   #10  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,542
Quote:
Originally Posted by tebasuna51 View Post
Please show the log window or send any error message.
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 9th July 2020, 16:25   #11  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Quote:
Originally Posted by tormento View Post
Working on adding that feature as well. Shouldn't be long!

Sent from my SM-G986U1 using Tapatalk
jlw_4049 is offline   Reply With Quote
Old 11th July 2020, 01:46   #12  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Updated release v1.32:
Quote:
*Added a new menu button in the top left of audio codec sub window. This will allow you to view all the streams your input file has while you are choosing your audio codec settings.

*Added a new feature in the Options menu called "Shell Options":
The default option leaves the program to work like it did before. The 2nd option "Shell Stays Open (Debug)" allows the user to see all of the command line as well sets the shell to stay open after an encode. This is useful for users wanting to see more information or debugging in the event there is a bug.

*Added a new button on the main GUI. This is called "Show Command" You are allowed to select it once you have pressed "Apply" in the codec sub window. This button allows you see the full command line before it's executed.

*On top of those features, I removed some useless modules, I cleaned up the code some as well as cleaned up a couple minor bugs. Latest release download is on github/link is updated on main post.

Last edited by jlw_4049; 13th July 2020 at 01:55.
jlw_4049 is offline   Reply With Quote
Old 13th July 2020, 01:56   #13  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Updating release: v1.45
Quote:
*Program now supports FDK-AAC and all of it's advanced features
*I've added support for all codecs displaying their command lines as well
jlw_4049 is offline   Reply With Quote
Old 14th July 2020, 07:21   #14  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Updating release: v1.5
Quote:
*Program now fully supports Drag and Drop. This was difficult because Python/Tkinter doesn't actually support drag and drop natively. It took a lot more effort then I thought it would have.
*Removed FFPROBE from the required files for this program. It will no longer be packed with it, making the program lighter as well as fixing a couple small bugs and allowed me to organize the streams viewer a lot more. This was replaced by mediainfocli.
jlw_4049 is offline   Reply With Quote
Old 14th July 2020, 23:47   #15  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Updating release: v1.7
Quote:
*Program now supports QAAC Encoder.
*Added a basic error message when trying to open incorrect file types
More extensions may need to be added, but I have a huge list of the 'most used' filetypes added to the program now.
jlw_4049 is offline   Reply With Quote
Old 15th July 2020, 05:16   #16  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Updating release: v1.75
Quote:
*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)

Last edited by jlw_4049; 15th July 2020 at 17:26.
jlw_4049 is offline   Reply With Quote
Old 26th July 2020, 06:34   #17  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Updating Release: v2.0
Quote:
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
jlw_4049 is offline   Reply With Quote
Old 28th July 2020, 22:59   #18  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Updating Release: v2.1
Quote:
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
jlw_4049 is offline   Reply With Quote
Old 29th July 2020, 13:17   #19  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Does not even start on my machine:



My sytem:
Win7 64-bit, latest SP1 with all updates,
All VC++ runtimes installed
Thinkpad T530, CoreI5 3rd generation, 8GB RAM

Launching as administrator or using compatibility modes does not help. No other Python version installed.
manolito is offline   Reply With Quote
Old 29th July 2020, 16:41   #20  |  Link
jlw_4049
Registered User
 
Join Date: Sep 2018
Posts: 391
Quote:
Originally Posted by manolito View Post
Does not even start on my machine:



My sytem:
Win7 64-bit, latest SP1 with all updates,
All VC++ runtimes installed
Thinkpad T530, CoreI5 3rd generation, 8GB RAM

Launching as administrator or using compatibility modes does not help. No other Python version installed.
Just tested v 2.1 on 4 other machines and 3 virtual machines. It launched without issue.

Be sure that your antivirus isn't flagging it as a virus, be sure that you are running the .exe from the main folder that you extracted it in.

You may make a shortcut to it.

EDIT: Installing Windows 7 on a virtual machine now.
EDIT: I never tested Windows 7 before, testing now I see that there is indeed an error. I will work on this and post a new update once I get it fixed.

FIXED: Was 1 line of code, that adjusted DPI for windows 10 causing the issue. I have made a Windows 7 x64 release and in the future will make sure that it works on all Windows x64 OS.


Windows 7 Version Here

Last edited by jlw_4049; 29th July 2020 at 17:54.
jlw_4049 is offline   Reply With Quote
Reply

Tags
audio, encoder gui, ffmpeg, ffmpeg audio

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 21:42.


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