Thank you. I'll wait for new versions and peak normalization. PLEASE do not drop the program! It is unique!
+ Reply to Thread
Results 241 to 270 of 297
thank you very much. i have been looking for something exactly like this for a long time. usually the loud noises in a video i dont care about but it gets annoying when people are talking and sounds like they are whispering. i have two questions, do you have something similar for cleaning up poor video that you be willing to release? or do you know of something i can get a hold of?
again thank you very much
Last edited by turrrrdle; 6th Dec 2012 at 11:22.
When will the new version?In general, I would say that the normalization once more video, some files are damaged. Something must be done.
@ turrrdle -
I don't have anything to improve video quality...you may try AviSynth with various plugin's...and see what you can come up with.
@ Art Blos -
No telling...basically when I sit down and start coding it...already have a good idea of whats going in...redesigned the GUI once again.
From your PM you stated that video quality is degrading do to the file being processed again....this shouldn't be happening...one not sure why you would process the file more than once...but even so...the video stream should only be encoded to H264 if its not already H264...and further you have to enable re-encoding the video stream even for that to happen.
Okay did some small clean up's and refactors plus killed off a few bugs.
The next build should include the new GUI and all kinds of new bells and whistles...and probably bugs as well.
Last edited by Nologic; 20th Jan 2013 at 00:30.
Have not used previous versions of this, only did a search today for a program to batch normalise audio in some AVIs and running the above I get.
Line 6272 (File "G:\....\Video Gain.exe"):
Error: Variable used without being declared.
Hope you can help.
Malcolm first off thanks for the bug report...if you would please install AutoIt and run the raw source code...it's the file with the AU3 file extension. This will help me find the error better...as line numbers coming from EXE's mean nothing to me.
Also list off what settings you are using.
oddly enough I ran into my own problem...seems the script works fine in source but for me...when compiled it'll exit out when starting a batch...need to find the problem there as well.
Bugger...I thought this was going to be a nice release....hehe that went right out the window.
Hopefully you can see the image below.
Setting wise the only thing I changed was alter Force MK to Direct Replace and the Audio to 96.
I changed the Force option as I'd assumed this was what was creating the output as MKV and I wanted to retain it as an AVI
It does process the first file I run it on (there are 9 in the batch) but still creates an MKV.
I must admit I have not read the help in any depth and as I say, i've only just discovered the program.
I've attached a newer build that "should" resolve the error you got.
As for it producing a MKV even though you wanted an AVI...well sadly your picks for containers for AAC encodes are limited to currently MKV & MP4....WebM will also take them but I haven't added support for that as of yet.
Now the next version hopefully will also support encoding to MP3 using ether LAME or Helix...then you'll be able to keep AVI as a container.
Last edited by Nologic; 20th Jan 2013 at 22:54.
Thanks, great news. It worked perfectly .. well, I did think there was a problem as one file said it was complete with no errors but was truncated. Was a bit of a mystery at first, then, doing something else I realised it had run out of disk space.
Probably a rare occurance but may be worth trying to trap this error if possible.
Unfortunately it doesn't help me in what I wanted to achieve which was to process the output back to AVI but I understand the reasons.
The reason I need AVI is that these are old archived videos with fairly low volume which I can deal with fine as I host them on a media server. I have sufficient volume available to listen to them fine but my brother-in-law only has a DivX/XVid compatible DVD player and I burned some copies for him to watch but even with full volume they are hard to hear.
So, my task now is to either try and batch convert the MKVs back to AVI (any ideas?) or look for an option that produces normalised AVIs. It seems your program is the bees knees for actually conversion though so if an AVI option was on the horizon I may wait.
Dont suppose there is a program along the lines of MP3Gain that can actually report of the gain of a particular AVI file (like MP3gain does with MP3 files)?
Anyway, thanks for the program and the fast response to my bug report.
Well good to hear that I nipped one bug in the butt.
Yeah I'll see about getting some disk space checking code in...surprised I spaced that in the first place. Good find and thanks for reporting the bug.
As for AVI...right now you can keep AVI as a container....but only if the audio streams in it are MP3 format....any others and stuff gets converted over to AAC which then pushes you into ether MKV or MP4 containers.
Right now I use AACGain which is a enhanced version of MP3Gain....and works on both MP3 & AAC which is why I moved over to it...as in prior builds I actually used MP3Gain. AACGain like MP3Gain can have the Replay Gain values rolled back so that the audio sounds just like it did originally with no loss in quality or need of re-encoding.
However in a future build I'll likely be moving over to R128Gain as it supports both Replay Gain and EBU 128...as well as the emerging USA bastardization of EBU 128...which I see no reason for...since right now the USA version is just a slight tweak to EBU 128.
Anyways R128Gain will allow me to analyze all audio codec's supported by FFMpeg...thus I'll be able to write out the Replay Gain or EBU 128 tags to containers that support such meta tags (MP4, MKV, WebM) or write tags to streams that support it (MP3, FLAC, WAV, AAC) or re-encode the audio in the same format but with the audio streams gain boosted accordingly.
Now re-encodes of audio steams would have some damage done to them...now whether or not it'll be noticeable will be in question.
Well now I'm rambling on...when the new stuff lands in the code there will be a lot more flexibility.
Now that said...if you are in a rush...I can do a simple tweak so that other audio streams than MP3 are converted to MP3 instead of AAC...this would allow you to maintain AVI containers for your brother-in-laws use...I would suggest you find out if his player accepts MKV containers...as one should try and move away from AVI to MP4 or MKV...with MKV being the better pick. There are a lot of players that support MKV...but probably few that support AAC audio streams at present.
So check back here later on and I'll have a MP3 build done for you.
Thanks, really appreciate you taking the time to answer so fully. I had the same DVD player some time ago but I don't think I tried it with MKV files so i'll check with him tomorrow and let you know back on here.
Okay did some refactors and added in disk free space checks...also added a version that converts to MP3 rather than AAC...this will allow AVI containers to exist more often than not.
If you over write a prior install...when using the MP3 version be sure you use the values in the GUI...values should be 0-9 were lower values equal better quality.
Well unless this build breaks somewhere unexpected or another bug is found...I'll be doing the next big version...which while neat...will likely have plenty of bugs.
The good news is that it created AVI files just fine, the bad news is that on the examples I tested (3), 2 of them did not result in increased gain.
I did wonder when I ran the program where the setting was to set the desired gain (I think the previous version had this).
What I did to test was :
1) Take the original AVI file, the fixed AVI file and also the MKV file created with the previous version.
2) I used DVDVideoSofts Video to MP3 converter to create MP3 files from these
3) I loaded them all up in MP3Gain and did track analysis.
File1 was 81.4 across all 3, showed ??? in Clip(Track)
File2 was 82.3 across all 3, showed Y in Clip(Track)
File3 was 80.0 original, 86.0 in fixed AVI and 86.0 in fixed MKV - all 3 showed Y for Clip(Track)
I decided to try one more file.
File4 was 81.5 original, in fixed AVI is was 77 (less?), Clip(Track) showed as ??? in both
I took a quick look in the source code and read that aacgain has a default of 89.0 or lower if clipping. Ideally i'd like to overide this and allow clipping.
Oh, just to add, File4 also had a Y in "Clipping" column.
To remove clipping protection remove the /k from AACGain's command line...which should be around line 1119.
If anything search for:
And it'll be a few lines below it.
Yeah a prior version allowed one to set the target db...but I believe my implementation was flawed....or there where other issues...I also had clipping allowed once...again issues...in both cases ended up returning to just using the safe defaults.
Now when things get switched over to using R128Gain volume will be closer to the target db, which I think R128 is closer to 93db as a default. Mostly because it does a better job of analysis of the audio stream.
With MP3/AAC Gain slices of the audio stream have the actual volume slice meta boosted in 5db units to as close to the target as possible, then actual Replay Gain tags are used to refine the volume to target in 0.5db units.
Now depending on whether or not your player honors the Replay Gain tags...can greatly influence what you hear.
Granted I could have used MP3/AAC Gain to analysis the audio then re-encoded the audio and actually boost the audio...this across the board would be more universal...but would do damage to the audio...which might make things worse rather than better.
In the big update where I move to R128...I'll also be bringing Stereo Tool onboard as well...this can help clean up & enhance sound fidelity...even more so if you have a lic for it so that one can make use of the Declipper feature. In this case boosting the audio isn't as much of a worry since in nearly all cases the re-encode will sound better than the original.
Last edited by Nologic; 21st Jan 2013 at 08:01.
Hmm, not sure what is happening at the moment.
I edited the script, JUST removed the /k
I firstly ran the script, just in a folder with a single AVI file that I had processed successfully before (File4).
It failed with an error 'error allocating memory", thinking I needed to compile I did so, same error.
I then realised I'd compiled as x86 and now x64, so tried that.
It seemed to hang for a long time and I thought it had stalled but eventually (good 10mins) it popped up (the process box) but didnt seem to be moving (it was in the normalize audio phase) anyway, it has just now crashed with the "error allocating memory" error again.
Will do a couple more test and report back.
What I am doing now is that I re-installed the executables and moved the sample video to a local hdd, it was running on a USB external and i'm not sure if that may have been causing any issues.
I realised I didn't need x64 as could see by the size of the original executable that you had just done a straight "complie".
Have processed the file succesfully with the unaltered program in 3m40s so just trying the amended one without the /k.
It does seem to be stuck about 3/4 along "current Stream" doing "Normalize Audio Stream 1 of 1" but has not crashed as yet.
Just crashed, same error.
NOTE: the ONLY thing that is different is that I removed the /k
What I am doing now is, I have re-instated ALL the original files from the zip file and am compiling the provided .au3 file, just in case there is an issue with the source file provided OR an issue with the compiler.
That worked, so no probs with original source or compiler.
I made the change again, on running Compile I get Auto2Exe error "ERROR: Unable to create the compiled archive".
I did have this before but thought it was due to having the original .EXE in the folder (even though I had renamed it). I deleted it, tried again and it worked, so thought no more of it.
This time there was def no exe there. I tried it a 2nd and 3rd time, same errors, it did work on the 3rd attempt.
I know it shouldn't matter but added a 2nd AVI file which will be processed first ... will report back.
.. not sure if this is relevant but one first running of this it exited (disappeared from screen) after I pressed run, the process was still running though so killed it, ran it again and it looks fine, it did this last time as well but didn't think it was relevant?
ok, it failed again, same error in the same place (but on the different AVI file).
Bit stuck now
This may be nothing but I did notice in the aacgain parameters you have "r" and "/r".
I also took a look round for aacgain command line parameters but seemed to lead me back to mp3gains parameters.
What it says for mp3gain is -c = ignore clipping and I also noticed you could add -d with a number to increase the default gain (i.e. -d 2.0 would increase the gain to 91.0)
Dang you've been having one hell of a go at it...sorry to hear of all the problems.
Just to be clear this is the command line:
aacgain.exe /s r /r /k /f "'<file>'"
Break down is as follows:
-- force re-calculation (do not read tag info)
-- apply Track gain automatically (all files set to equal loudness)
-- automatically lower Track/Album gain to not clip audio
-- Assume input file is an MPEG 2 Layer III file
-- (i.e. don't check for mis-named Layer I or Layer II files)
-- This option is ignored for AAC files.
The ReadMe for AACGain can be found in:
Now compiles should actually be done for 32bit since there is data piping going on in the script...and half the stuff I use doesn't have a 64bit build. AACGain being one of those...plus out side of video encoding there isn't much of a difference in speed between the x86 & x64.
I'm attaching an image of what it should look like...I doubt you did anything wrong...but just encase; I'll also put up a compile without the /k switch...but it honestly shouldn't make a diff who compiles the script.
Last edited by Nologic; 23rd Jan 2013 at 18:25.
Thanks, really appreciate you taking the time to explain things. Will try the new compile tomorrow.
No problem...always looking to help, even more so when folks are helping me.
Anyways yeah you could also add in those other prams
aacgain.exe /s r /r /c /d 2 /a /f "'<file>'"
Hell even toss in /a for album gain as well. Shouldn't make a diff...but what the hell.
Now with compiling you may need to run the compiler as Admin...I'm doing stuff on WinXP at the moment.
New Executables downloaded from above.
TEST ON WIN7
gets to 3/4 stage in about 30 secs max, then hangs, Memory (Private Working Set) is about 170,000
at this time, CPU running at 45%
aacgain at this time is maxxed out at 25% CPU and 4,052 memory
When it finally fails (AutoIt "Error Allocating Memory") VideoGain Mp3.exe memory usage is 2,029,208.
aacgain is still there but 0% CPU (Incidentally, I get 2 x AutoIt.exe error popups, same txt)
I clear both popup boxes and on checking memory usage now VideoGainMP3.exe is is 1,351,792, cpu
usage is 25%
TESTS ON XP
Am running VideoGain (re-compiled unaltered 1.4) on an XP machine and seems to be working, memory
usage is 16,748 (is now encoding audio with ffmpeg) - that finished successfully in around 28mins.
I then removed the /k from the source, recompiled and ran it on the same file, been out for two
hours, came back and it is still running, 3/4 of the way through "Normalize Audio Stream".
No errors as yet.
VideoGain is running at between 42 and 52 CPU usage, memory usage is moving up and down, currently
aacgain is running at between 35 and 46 CPU usage, memory usage = 4392 and is static.
I do have other stuff running on this machine which might be memory intensive plus its low spec
AMD FX60, 2Gb RAM
This continued for a further hour with no visible progress, still changing cpu and memory usage
so theoretically still running but after 3hrs doubt it would finish. Decided to just kill the
accgain process, is now continuing "merging streams".
Has now completed but output file is approx (almost exactly actually, 50% of original size)
1.4 as supplied (with /k) works.
Recompile here with /k removed does not work "Error Allocating Memory"
"VideoGain Mp3 No K" as downloaded above gives same error as above "Error Allocating Memory"
1.4 as supplied AND compiled locally works
Recompile here with /k removed hangs in the same place as above but never crashes with error.
Seems to be aacgain that 'hangs', when killed off program completes.
Fairly stuck now, for some reason just removing the /k for aacgain causes problems?? I am
now running the script (uncompiled) on the XP machine in case this gives any further clues but
I suspect it wont.
UPDATE ON XP TEST
This is running the script with the /k removed, program crashes at 3/4 of the way through Normalize audio (as before) wirh the AutoIt error "Error Allocating Memory".
Have done these tests on 2 separate AVIs but wonder if it's something to do with either clipping at a certain point or filesize, going to try on a completely different AVI file.
OK, tried using a smaller file with less dynamics sound wise (TV file)
I ran it on XP & Win7, using the new executables BOTH crashed in exactly the same place, approx 3/4 of the way through. I even overlayed the images and it's EXACT, The files were 880Mb and 245Mb so it's not file related.
Drop in MP3Gain and edit the script accordingly and see if things go away.
Dang just noticed I didn't read all of your posts...need more coffee.
Yeah that is surprising that the /k switch would cause that...as it shouldn't but maybe with MP3Gain there won't be the issue.
hmm actually you brought up using /c to ignore clip warnings...maybe toss that in and see if that helps.
Oh and many thanks for the detailed testing.
Last edited by Nologic; 22nd Jan 2013 at 12:52.