Giter VIP home page Giter VIP logo

ffmpeg-audio-encoder's Introduction

FFMPEG Audio Encoder

image

Refer to the wiki for more information

"Buy Me A Coffee"

ffmpeg-audio-encoder's People

Contributors

aaronrausch avatar crypticsignal avatar jlw4049 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ffmpeg-audio-encoder's Issues

Add the "Delay" Parameter Feature

Is your feature request related to a problem? Please describe.

After converting the frame rate of a dubbing track, I need to add a few seconds of delay at the
track's start, to get it correctly synchronized with the target movie's original audio track.

I tried to use the next custom command to do the job: -itsoffset

It didn't work.

Describe the solution you'd like

Adding the needed delay to the resultant converted track, will be enough to avoid having to use
another tool to do the job instead.

Describe alternatives you've considered

I tried with MeGUI tool, which has the aforementioned feature, and would have been perfect to do the job
straightforwardly, but for some reason, it lacks specifically the framerate conversion setting I'm needing: 24 <> 23,976.
And it won't allow to let the user enter a value manually, but just use one of the available ones.

Additional context

By the way, maybe you could add the "29,97" to the framerates' values list. And even an option
to input values manually.

Thanks in advance.

Remembering the last settings used

Hello, would it be possible for FFMPEG-Audio-Encoder to recall the last used settings for each codec or at least the last used job?

Let's say I encoded an audio track in AC3@512 downmixed to stereo and then another audio track in AAC Stereo@256.
I close FFMPEG-Audio-Encoder.
I reopen FFMPEG-Audio-Encoder and load another audio file.
Select AC3. 512 downmixed to stereo is already set as this was the last settings used for an AC3 job. Apply. Start Audio Job.
Open a new audio file to encode.
Select AAC. Stereo@256kbps is already set as this was the last settings used for an AAC job.

Also, I'm nitpicking but if you could make the program to open faster like Besweet that would be awesome!

Thanks again for the software, it's fast and works as intended. Merry Christmas!

Some suggestions

Hello! First of all I want to thank for all the work that was done. The suggestion I have, which I assume might be relevant to the project, is to add lossless delay/cut using stuff like eac3to (can have various usages such as merging two AC3 audios that have the same setup as in bitrate and channels), m4acut (for M4A AAC files), DelayCut (for DTS, AC3 and E-AC3 files) and if I'm not mistaken ffmpeg allows to delay some of the mentioned formats losslessly too (and some more) so it can be used instead. I also had an idea on basic AC3 lossless editing (as in cutting/delaying mid-duration), if you're interested I can explain/show an example.

Batch converter not working anymore

Holà, I updated FFMPEG-Audio-Encoder to its latest version but unfortunately I can't make the batch converter work anymore. I have to stay on version 3.34 where everything works as expected.

What I do is open the Batch Processor,
select a folder with mkv files in it,
select mkv in common extensions
set codec to AC3, downmix to stereo, set bitrate to 448k and Apply
select a Save directory and click on Start Batch Jobs.

On 3.34 everything works but not with the latest version.

Change FFmpeg build to GyanD's "essentials" compile

Hello,

I would suggest using the "essentials" GPLv3 build of FFmpeg by @GyanD. From a brief look, it appears to contain all the libraries required for FFMPEG-Audio-Encoder, but with an executable size reduction of 35.65%; this translates to ~115 MB being reduced to ~74 MB).

You can find the source and compiled releases here, and more information here.

Regards,
Piers

Reported bug on video forums

There's a bug in the latest version where a 32bit wav file freezes the program. The problem isn't present in v3.34.

Also, QAAC doesn't save presets, you have to input the bitrate and etc. manually each time.
Other than that, this is a very useful program

Simple Youtube DL GUI 1.21 not working anymore

I tried to dl a video today using the Simple Youtube DL GUI 1.21 but it appears to not be working anymore.
I was able to use the tool about 3 days ago though.

Maybe there is an update for Youtube-dl?

List of things to do

  • add more file input types
  • Add dts to core
  • Add dtsHD extract
  • Add all other supported audio codes
  • Increase probe etc
  • Build ffmpeg including all audio codes
  • Package program with ffprobe and ffmpeg instead of relying on PATH.
  • Double check window sizes.
  • Add center launch on all windows.
  • Add "original" audio channel as default. (Will require extra logic)
  • Do some tests in FFMPEG with a bat to limit command window output. (Possibly give the user the option to exit CLI or not after encode)
  • Start organizing the GUI. Make it look nicer.
  • Increase probsize to 50m for FFMPEG line
  • Increase analyzeduration to 100m for FFMPEG line
  • Add streams output screen of some sort
  • Add user default settings
  • Add default folder save path settings
  • Update 'About
  • Make all windows re-sizable
  • Make save file location default based off of what file input location is
  • Add mouse overs, especially for Opus. Or at least a help widow.
  • Add ac3 to input
  • Add option for user to see executed command line
  • Add option for user to see command line before execution.
  • Add option for job window to stay opened or closed after encode.
  • Eventually add drag and drop
  • Add support for piping FFMPEG to FDK-AAC.exe
  • Add ALAC encoder
  • Add FLAC encoder
  • Add QAAC encoder
  • Add as many input types as I can to DnD as well as Open File
  • Set an error window for incorrectly selected files via Open File (this is already done for DnD)
  • Change E-AC3 window to SpinBox widgets. To limit the crazy amount of bitrate selections.
  • Add ABR (Average Bitrate to all codecs that support it that doesn't have it)
  • Get automatic track type detection
  • Add batch convert
  • Add custom command line to each codec
  • Add title entry to each codec
  • Add a proper help function. That opens a wiki that needs to be created.
  • Add live codec output in each codecs window
  • Check rather mp3 original channel needs to be defined.
  • Add Audio Delay Settings (automatic detection AND manual input - relative delay)
  • add delay string to output (reg and relative to video delay) IF INPUT ALREADY HAS DELAY STRING IN FILENAME PULL IT FROM THAT
  • Revamp progress bar window
  • Fix progress bars for the DTS codec (seems to be bugged when inputting raw .dts)
  • Add support for .thd audio input
  • Add support for opusenc.exe (program supports FFMPEG libopus now, but some users would rather have the official tool)
  • Remove the need for mediainfo CLI (replace with mediainfolib)
  • Add new progress window to all codecs (ac3 is done as of now)
  • Add an optional, auto close window when done check button for new progress window
  • Remove included fdkaac.exe and qaac (non free libraries) with the program, this will require some programming to check for these to enable the above encoders, program will still fully support these codecs/encoders, but they will no longer automatically come with everything they need to use them - NEED TO ADD A WIKI PAGE FOR THESE AS WELL
  • Allow users to copy the contents of scrolled text widget once it's completed
  • Adjust libopus encoder mapping_family in the CLI, mono/stereo mapping_family 0 anything > stereo mapping_family 1
  • Consider adding support for the exhale aac audio encoder maybe
  • Add error checks upon file input, if file is missing audio tracks (use mediainfolib)
  • Change view command/show command box's to scrolledtextwidgets instead of a label window
  • Rework the entire eac3 window/command line, for visuals and for accuracy
  • Ask if user would like to overwrite file when starting job (if it exists of course)
  • Add button in progress window to open output directory (progress window)
  • If progess window doesn't ever contain string "size=", program did not complete job, handle this as an error (i.e. Job did not complete) Additionally, check for ffmpeg final string (check) before allowing GUI to display job completed as well as internally set job completion, in the event of an error the program will need to send a proper force close via PID to make sure all child processes stopped, automatically and sent again when the user closes the progess window to ensure everything is closed properly (progess window)
  • Remove "Original" channel mapping from DTS Encoder, set it to stereo/mono
  • 'total_duration' is detected via mediainfolib instead of the ffmpeg input (a lot less/cleaner code and completely accurate)
  • Add better 5.1 to stereo conversion options other then -ac 2 switch, see https://superuser.com/questions/852400/properly-downmix-5-1-to-stereo-using-ffmpeg and https://forum.doom9.org/showthread.php?p=1896134#post1896134 for references Actually, just use default audio switch -ac 2 but add a volume option to all codecs (in order to boost the volume)
  • QAAC/FDK-AAC add custom commands for both FFMPEG and external encoder
  • double check for switches -sn and -vn are sent to all codecs
  • fix flac wording on compression
  • Add language string to output
  • double check errors for THD input in progress window (said file error'd out but was complete in 1 test) Fixed, in order to fix it I had to re-work total duration and the all the code that had to do with that and progress bars
  • Adjust all "Audio Settings" windows "Track Selection" to show more. Language, delay, etc... + switch to mediainfolib
  • Maybe add official flac encoder
  • Opus mapping family still needs added to view command and actual job code
  • Put large codec windows inside of notebook tabs, to decrease the size of them and organize them
  • Stop two audio settings windows from being opened at once
  • Files with delay and language inside them, remove/replace them with new values in the filesave function
  • Add [Audio#(number)] output filename
  • Make program remember where it was closed last
  • themes, customize text boxes, etc
  • Add github tracker and discord for tools/help in help section of program
  • Make "About" window look better
  • Window Location Management window (add right click to reset per codec and add a reset all with prompt)
  • Work on View Streams (remember last position as well as visuals and using mediainfolib), work on fdk/qaac help windows, work on cmd line windows
  • Check root exit function top level children for view streams
  • make view streams close when apply is selected in audio settings windows
  • Add color code to streams/progress/command windows
  • Allow users to highlight what they want to copy in text windows
  • If there is an error, make program ignore "Automatically Close"
  • Create installer with inno installer
  • check how program runs from archive
  • Add re-sampler options reference (https://stackoverflow.com/questions/41420391/ffmpeg-flac-24-bit-96khz-to-16-bit-48khz)
  • Separate job window vs normal encoding window code, for both single-multiple encoding
  • Update main display command window instead of spawning a new one
  • Save cmd line window locations and view streams
  • Add pause/resume/etc to normal encoding window
  • Language selector for tracks maybe
  • Log each full job to a log file (read line.split(), this shoould happen in start job code)
  • Add (1) to file if already exists or prompt the user to change the name or overwrite
  • Add volume for ffmpeg in the QAAC window
  • Add logger to capture program errors (https://stackoverflow.com/questions/14906764/how-to-redirect-stdout-to-both-file-and-console-with-scripting)
  • Set program to delete any empty log files upon launch
  • multi thread logger
  • New batch encoder, to replace the old messy one
  • create a discord for all tools
  • mini track window, needs title corrected, label frame color changed
  • Add an extra "worker" to jobs manager
  • job manager, fix split where it displays what file it's doing with codec (parse earlier in the input section)
  • Add file batch window to save window location window (plus all the code needed to save it), this also needs to be completed to fix a bug, where the root window is not re-opening when selected 'X', so need to set the exit_function code
  • Add batch file default save directory
  • Set program to check if path to fdk (FDK is done) and qaac exists when choosing codecs with encoder menu, when file input functions are ran via main or batch
  • check job manager, delete selected files function, make it work like batch file input
  • window geometry module, line 281, needs corrected for batch positioning.get()
  • main module, line 5968, needs comment corrected from job to batch

fdkaac and qaac - licence conflicts?

Hello,

The licences for both fdkaac and qaac are confusing, and generally indicate that neither should be bundled (only when compiled), although there are different opinions. For example, Debian classes fdkaac as "non-free" software due to licence restrictions. Additionally, projects such as Staxrip (and other GUIs for encoding) have already removed both. Is this a non-issue for this project?

Regards,
Piers

A small bug

Hi, your software has a small bug. After a few conversions software doesn't work unless you check ''Shells Stays Open (Debug) '' under Options--Shell Options.
Do you considering to add ''save as user preset'' option
Keep your good work.Thanks.

IndexError: list index out of range (line 127)

Currently this program is broken as you get the following error in the terminal when selecting a codec:

  File "C:\Users\H\Desktop\FFMPEG-Audio-Encoder\FFMPEG Audio Encoder.py", line 127, in track_count
    for i in range(int(str.split(track_count)[-1])):
IndexError: list index out of range

Edit: Also, I had a look at the code and it seems like my MP3 changes haven't been merged as you can see: https://i.imgur.com/DVkGQil.png
So you may want to make the changes manually.

feature request: time modification with pitch change

Hi,

Would be great to have a GUI option to do time modification (e.g. 25 to 24) with pitch change. I read somewhere that this is done with -af "asetrate=48000*x" but adding that custom command (while leaving time mod in "original") didn't alter the pitch as necessary. If it's not on your to do list, what command might work?

Side note: the "save current settings" doesnt appear to work; my settings always go back to default.

Thanks.

Append channels to file output name

Example:
Ghost in the Shell (1995) {imdb-tt0113568} [Hybrid][Remux-1080p Proper][AVC][TrueHD Atmos 7.1][JA+EN]-FraMeSToR.[Audio#1][jpn][delay 0ms][2.0]

Ghost in the Shell (1995) {imdb-tt0113568} [Hybrid][Remux-1080p Proper][AVC][TrueHD Atmos 7.1][JA+EN]-FraMeSToR.[Audio#1][jpn][delay 0ms][5.1]

Inverted Framerate Conversion Values

Describe the bug

While trying to convert an audio file using one fo the available options "23,976 > 24"
and viceversa, the resultan files will have not the desired timing according to the selected
option, but inverted ones.

To Reproduce

So, to change a "23,976" framerate to a "24" one, the "24 > 23,976"
option must be chosen.

Expected behavior

The resultant files should have the expected right timing, according to what's
specified in the relevant menu options.

Screenshots

Additional context

I didn't tried with other framerates, but the issue might affect those as well.

Thanks.

[REQ] Update time?

Maybe time for an update....

FFmpeg v7.0
MediaInfo v24.0
MVP
QAAC v2.82

Simple-Youtube-DL-Gui crash when starting it (v4.0.7)

Traceback (most recent call last):
File "tkinter_init_.py", line 1892, in call
File "Packages\SimpleYoutubeDLGui.py", line 12, in youtube_dl_launcher_for_ffmpegaudioencoder
File "PyInstaller\loader\pyimod02_importers.py", line 385, in exec_module
File "yt_dlp_init_.py", line 11, in
File "PyInstaller\loader\pyimod02_importers.py", line 385, in exec_module
File "yt_dlp\compat_init_.py", line 14, in
File "yt_dlp\compat\compat_utils.py", line 36, in passthrough_module
File "importlib_init_.py", line 127, in import_module
ModuleNotFoundError: No module named 'yt_dlp.compat._legacy'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "FFMPEGAudioEncoder.py", line 13242, in
File "tkinter_init_.py", line 1429, in mainloop
File "tkinter_init_.py", line 1896, in call
File "tkinter_init_.py", line 1612, in report_exception
File "tkinter_init
.py", line 2346, in report_callback_exception
File "FFMPEGAudioEncoder.py", line 397, in write
AttributeError: 'NoneType' object has no attribute 'write'

Drag n' drop folders in the file batch window results in error

Running v4.04

File -> File Batch -> Drag n' drop a folder icon containing 5 .wav files (2 channels, 44.1 kHz,16 bits) from Windows into the Batch File Input window

Results in a "Traceback error"
Exception in thread Thread-445:Traceback (most recent call last):File "threading.py", line 932, in bootstrap_innerFile "threading.py", line 870, in runFile "FFMPEGAudioEncoder.py", line 10960, in process_batch_file_input_informationFile "pymediainfo_init.py", line 496, in parseRuntimeError:An error occured while opening F:\Flac\Test with libmediainfo

Files are loading correctly when the folder is opened, all files selected and then drag n' dropped into the Batch File Input window.

On a side note, the batch processor also stops working when there are double spaces or special characters like + in the file name.

A suggestion.

First of all I wish you success.Do you consider to add the option to change audio frame rates ?

Traceback Error

Describe the bug
Got a traceback error while batch encoding on a 320 kb/s mp3 into a 192 kb/s m4a (qaac).

To Reproduce

  1. Added the mp3's to batch.
  2. Chose qaac as codec, and set it to 192 kb/s, changed to Constrained VBR, and checked High Efficiency. Everything else was default.
  3. Clicked Start All Jobs.
  4. See Additional Context

Expected behavior
Encode the entire batch of mp3's.

Screenshots
N/A

Additional context
Error Console.
Exception in thread Thread-34:Traceback (most recent call last):File "threading.py", line 932, in _bootstrap_innerFile "threading.py", line 870, in runFile "FFMPEGAudioEncoder.py", line 12297, in start_multi_file_processingUnboundLocalError:local variable 'output_file' referenced before assignment

Youtube-dl not working in v4

A quick message to let you know that Youtube-dl is not working in v4.
v3.34 is still rock solid and working as expected for me.

Add Opus Codec version control option

Hello, thanks for the excellent program, I have a suggestion

Can you add an option to change the Opus version to use version 1.4 or the desired versions?

QAAC Bitrate lost

In QAAC setting page if CBR or ABR or CVBR is selected, there is no option to change Bitrate.
Screenshot (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.