jessielw / FFMPEG-Audio-Encoder

A powerful FFMPEG audio encoder GUI
MIT License
70 stars 6 forks source link

Remembering the last settings used #15

Closed PODxt closed 3 years ago

PODxt commented 3 years ago

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!

jessielw commented 3 years ago

I'll will stop compressing the program, this will allow it to open instantly (as long as the virus software clears it the first time)

Next release, the folder will be a lot messier, however it will open instantly.

On top of that, would you prefer, I can make the program "remember" windows that was previously opened as long as the program stays on, once closed they would default to the original settings.

However, I could enable some sort of profile options, that way you can save the settings you want in a profile, it would save it in the .cfg file and then load it with the press of a button, or maybe even make it to where it will auto load.

PODxt commented 3 years ago

I don't know about the other users but I personally don't care about a messier folder. I'm creating a shorcut for the program in my Windows Startup menu so I can open it that way.

Not sure I understood what you said about the program remembering opened windows as long as it says open but what I like about programs like Handbrake and MeGui is that when I close them and reopen them, they will always keep my last used settings so I don't have to select everything again. So if you're implementing profiles, the last profile used for each codec (AC3, AAC etc) would automatically load when starting the program. What do you think?

jessielw commented 3 years ago

I'm going to try to start work on this request this week. Work is finally slowing down from peak and I'll have some more free time to work on this.

Update: I will have to do this 1 codec at a time, it's going to take quite a bit of code, however it is a work in progress now.

I'll be dropping it in BETA stages until it's complete, so if you have a codec you want done first, feel free to let me know. I'm starting with AAC and then AC3 (since they are easy)

PODxt commented 3 years ago

Nice to hear, AC3 and AAC are the 2 codecs I'm mainly interested in so that suits me perfectly.

jessielw commented 3 years ago

BETA v3.3 is now released

https://github.com/jlw4049/FFMPEG-Audio-Encoder/releases/download/3.2/FFMPEG.Audio.Encoder.BETA.v3.3.zip

Current working codecs are FFMPEG AC3/AAC only Give it a test, let me know if you come across any bugs. This currently only works in the Main GUI and not the Batch GUI yet.

jessielw commented 3 years ago

BETA v3.31 is now released

https://github.com/jlw4049/FFMPEG-Audio-Encoder/releases/download/3.2/FFMPEG.Audio.Encoder.BETA.v3.31.zip

Only codecs supported are still AC3/AAC, however fixed a bug with AAC (gain option) and added support to read saved profile for Batch Gui.

PODxt commented 3 years ago

I just tried BETA v3.31 , the saved profile loaded correctly on the test I ran. I don't know if it was supposed to load this profile automatically upon program restart with these last settings because they didn't. Happy new year 2021! ;)

jessielw commented 3 years ago

I just tried BETA v3.31 , the saved profile loaded correctly on the test I ran. I don't know if it was supposed to load this profile automatically upon program restart with these last settings because they didn't. Happy new year 2021! ;)

Once you select your settings, go up to the options menu and press save settings. As long as the ini has not been deleted you will have the same settings. If not can you tell me which codec so I can try to reproduce it and fix it.

PODxt commented 3 years ago

Sure I got it to work that way, but I think it would be more efficient to have less user actions ie having the latest used profile to automatically load upon program startup.

So it would be 4 user actions in total:

jessielw commented 3 years ago

You should only have to save your setting once. After that you should be able to drag and drop and press go!

Is it not auto loading your saved settings upon program restart?

PODxt commented 3 years ago

I have to manually select AC3, then the profiles automatically loads and I can then press Start. Maybe the program could auto select AC3 + its profile as this was the latest job done? That's one less action to do. What do you think?

Actually there's one more action involved. I have to:

I can't click Start right after I select AC3. I still need to go into the Audio Settings and click Apply.

Also one other thing I noticed, the program encodes slower (150x vs 275x) the first time. If I start the same job a 2nd time, it encodes at the right speed ie 275x (for my computer, Ryzen 3900XT). I could reproduce it twice.

jessielw commented 3 years ago

I have to manually select AC3, then the profiles automatically loads and I can then press Start. Maybe the program could auto select AC3 + its profile as this was the latest job done? That's one less action to do. What do you think?

I would have to adjust some code, but im sure that I could make the program auto load the last selected codec/profile automatically.

So in theory you want to drag and drop/load the file, then immediately be able to select start job?

PODxt commented 3 years ago

Yes, that would be more efficient. That would be 4 user actions in total:

Also check my edit from the previous message regarding actions and encoding speed.

jessielw commented 3 years ago

Comment noted.

Set program to debug and try to reproduce the speed error. Let me know if it has the same slow down in Debug mode.

PODxt commented 3 years ago

It has the same slow speed in debug mode.

jessielw commented 3 years ago

It has the same slow speed in debug mode.

The slowdown is caused either by your system, the file, or FFMPEG itself. Update FFMPEG to latest version.

https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z

Test again

PODxt commented 3 years ago

It does not happen with 3.2 with the same file, so I think my system and the file are out of the equation. Just tried with the updated FFMPEG and the speed is back to normal. I copied ffmpeg.exe from the update to replace the ffmpeg.exe that was included in FFMPEG.Audio.Encoder.BETA.v3.31

This means before release, you will have to update the FFMPEG file from the folder: FFMPEG.Audio.Encoder.BETA.v3.31\Apps\ffmpeg\ffmpeg.exe

jessielw commented 3 years ago

Yeah I figured it was most likely FFMPEG. I will update it before I do the full release. It's going to take quite a bit of code adjustment in order for me to read last used profile, so I'm working on that now.

jessielw commented 3 years ago

I'm going to be doing something slightly different. I was working on what you wanted, but it seems I'll have to adjust a LARGE portion of the code to get it to work properly. While I can get it done, there is a lot of hurdles I'd have to jump and a lot of changes I'd have to make in order to get it all to work bug free. At this point I'd rather just add a new feature. See below...

I plan to implement a second start option. This will be some sort of drop down menu with the profiles that you'll be able to create in the Audio Settings window.

My plans is to allow the user to drag and drop or open the file, select profile from the drop down menu from the main GUI without having to hit the 'Audio Settings' button, and as soon as you select said profile the encode starts.

I'm trying to think the best way to do this, this is what I've come up with so far. The code that I've done up to this point, again worked, but I think profiles will be a better way to keep this all organized.

PODxt commented 3 years ago

I'm by no means a coder. But wouldn't be possible to have a .ini file automatically written when closing the app with all the current settings like codec:AAC downmix:Stereo bitrate:256kbps etc

and when loading the app, the app would automatically retrieve and select these settings, so I can just click Start and encode in AAC Stereo 256kbps? It's just a suggestion, do what you're the most comfortable with as long as user actions are reduced compared to v3.2 and performance stay the same;)

jessielw commented 3 years ago

Let me see, if I can just give you a use last option encode button, something simple. Give me a bit, might have this done tonight.

jessielw commented 3 years ago

Update, I have a working prototype of what you want, but it's going to take a little longer to develop. I am currently working a lot at the moment.

jessielw commented 3 years ago

I wanted to update you, I haven't worked on this for a while, but I plan to start this evening/tomorrow again. Having a lot of issues at home currently, had to move out and give my wife space etc. So things have been weird.

PODxt commented 3 years ago

Thanks for the update, but don't worry about the program, it's already good as it is. Give your personal stuff the top priority.

jessielw commented 3 years ago

Thanks for the update, but don't worry about the program, it's already good as it is. Give your personal stuff the top priority.

I'll be starting some work on this over the next couple of days. Hopefully can get it done!!!

jessielw commented 3 years ago

I know it's been quite some time @PODxt

As of BETA 3.33 I have worked on a lot of what you requested. It's still in BETA because the entire program doesn't support the new features that have been added

You can find the change logs in the BETA sections of the release.

https://github.com/jlw4049/FFMPEG-Audio-Encoder/releases/tag/3.2

I'll take some feedback and will finish working on the rest of the program to support the new feature.

PODxt commented 3 years ago

Love the "Last USed Encode" button, real time saver! If I want to encode track 2 instead of 1, I will select it in the settings and if I need to do so for several files, I will just use the "Last used Encode" button. I tried and it's working.

What I don't really understand is how the profiles work. But personally, with this "Last Used Encode" button, I don't think I will be using the profiles.

jessielw commented 3 years ago

Love the "Last USed Encode" button, real time saver! If I want to encode track 2 instead of 1, I will select it in the settings and if I need to do so for several files, I will just use the "Last used Encode" button. I tried and it's working.

Glad that you like the new feature. I'll be working to add it to the rest of the program. Each codec is very different, so it requires a little work and testing per codec. However, I went ahead and hit the main ones you requested

What I don't really understand is how the profiles work. But personally, with this "Last Used Encode" button, I don't think I will be using the profiles.

The profiles work as follows After you open the 'Audio Options' window, set all of the settings that you'd like to use, if you go up to the top and press 'Save Profile'

Next time you open the program/Audio Window it will default to those settings ALWAYS. Essentially you're overwriting the default settings with settings of your choice. This can be reset back to the 'Default' settings with the 'Reset to Default' option

This also takes a LOT of code per codec, so i'll take my time and do each codec 1 at a time and test

jessielw commented 3 years ago

@PODxt You'll want to grab the latest BETA v3.36, it fixes a pretty nasty bug when it comes to the new 'Auto Encode' feature

Pretty big changelog + new codecs now have the feature. I'm half way through these 2 new features :)

https://github.com/jlw4049/FFMPEG-Audio-Encoder/releases/tag/3.2

PODxt commented 3 years ago

I am frequently seeing this message displayed but I don't understand what this means for the end file: 2021-02-02-23-37-21 mkv_snapshot_00 30_ 2021 02 02_23 39 04

Do you have any clue?

jessielw commented 3 years ago

It's more of a warning telling you what it's doing, rather then an error.

You can ignore it, as this will not effect your file. However, if you want to try the same file, and update your FFMPEG with the latest version to see if it goes away, you can feel free to do so.

https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z

I'll update FFMPEG for the next release as well.

jessielw commented 3 years ago

Every codec now supports the new features you requested here.

https://github.com/jlw4049/FFMPEG-Audio-Encoder/releases/download/3.34/FFMPEG.Audio.Encoder.v3.34.zip

Closing this now!