I gather that ffmpeg "-vol" option is deprecated and ffmepg has new audio options, eg http://ffmpeg.mplayerhq.hu/ffmpeg-filters.html#volume
- volumedetect
- volume=volume=+3.1dB
but neither googling nor the ffmpeg documentation show me how to use these new options (in windows) to normalize audio volume.
I hope someone can show me how to do something broadly along the lines:
Sample scripts and advice would be most welcome.Code:ffmpeg -i a.mpg [audio parsing options to establish normalization value] ffmpeg -i a.mpg [video conversion options] [audio conversion options] -af "volume=+[?normalization increase?]dB" out.mp4
... if worst comes to worst, then I guess I will need to extract the audio and normalize in separate steps, similar to
http://superuser.com/questions/323119/how-can-i-normalize-audio-using-ffmpeg
and
http://1024.gr/blog/normalize-audio-movies-using-ffmpeg-and-sox-windows
and use something this to recode/mux the video and normalized audio at the same time:
(I gather -map 0:v excludes the audio from the first input file, since we need to discard that un-normalized audio ?)Code:ffmpeg -i a.mpg -i a_normalized.wav -map 0:v -map 1:a [video conversion options] [audio conversion options] out.mp4
PS also, is this still true of the current version of ffmpeg ? :
http://ffmpeg.org/trac/ffmpeg/ticket/720
edit: https://forum.videohelp.com/threads/352047-Increasing-audio-volume-on-an-MPG?p=2209366&...=1#post2209366 show -af works OK-af was never integrated in the main repository,
and using -vf for audio filters i evidently wrong,
so the only way to use audio filtering is through the lavfi input device.
You use it this way:
ffmpeg -f lavfi -i "amovie=INFILE,volume=0.1" OUTFILE
PPS if anyone knows how to compress the audio range at the same time, some hints would be handy
+ Reply to Thread
Results 1 to 7 of 7
-
-
1. run volumedetect:
and decide how much you want to boost the audio.Code:ffmpeg -i "h:\TestClips&Co\test.avi" -af volumedetect -f null -
2. process audio & video (assuming your source only has one audio&video stream)
"-ab 48k -c:a aac" is ment to reencode the audio to 128kBit/s aac audioCode:ffmpeg -i "path to input file" -c:v libx264 -preset slow -crf 22 -ab 128k -acodec aac -af volume=0.6 -f mp4 "Path to output file"
"-af volume=0.6" is ment to boost the audio volume by 0.6dB
"-c:v libx264 -preset slow -crf 22" is ment to reencode the video with x264, preset slow and crf 22
yes, with -map 0:v you are only using the video from source 0 and with -map 1:a you load the audio from source 1, then you process the selected inputs. this is only needed in the example since audio and video come from different sources.I gather -map 0:v excludes the audio from the first input file, since we need to discard that un-normalized audio ?
Assuming your input audio stream is supported through ffmpeg drc routines you can use -drc-scale to influence the drc values. ffmpeg has no audio filter to apply drc during processing other than during the decoding stage.if anyone knows how to compress the audio range at the same time, some hints would be handy
other than that see https://forum.videohelp.com/threads/349883-Remixing-DTS-5-1-to-good-AC3-5-1-track?p=220...=1#post2202882 about dynamic range compression through sox.
----
As a side note:
- I would not encourage to use ffmpegs aac encoders (they are all not really good).
- I would prefer soxs audio processing over ffmpegs on any day
- I would use a GUI to do all that,... (e.g. Hybrid or other tools which support drc&co)
Cu Selur -
Thanks for your help.
I hoped to automate the normalization, so ffmpeg "-af volumedetect" and manual adjustment probably isn't going to work for me by the looks.
If ffmpeg's aac isn't great, what would you recommend ?
I settled on this windows script to convert PAL TV captures (interlaced) for playback on Samsung Tab2 10.1 tablet):
Code:@echo on REM assumes input is interlaced, output is interlaced !!! rem http://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide rem "%ffmpegEXE%" -h full > z.txt rem "%ffmpegEXE%" -formats >> z.txt rem "%ffmpegEXE%" -codecs >> z.txt set fINPUT=%~1% set fOUTPUT=%~dpn1%.mp4 set fOUTPUTunnormalized=%~dpn1%.unnormalized.wav set fOUTPUTnormalized=%~dpn1%.normalized.wav set audiofreq=44100 set audiobitrate=192k set crf=20 set FieldFirst=1 REM TFF REM -------------------------------------------- DEL "%fOUTPUTunnormalized%" DEL "%fOUTPUTnormalized%" REM -------------------------------------------- REM "%ffmpegEXE%" -i "%fINPUT%" -c:a pcm_s32le -ac 2 -ab "%audiobitrate%" -ar %audiofreq% -f wav -y "%fOUTPUTunnormalized%" "%ffmpegEXE%" -i "%fINPUT%" -c:a pcm_s32le -ac 2 -f wav -y "%fOUTPUTunnormalized%" REM -------------------------------------------- REM -------------------------------------------- REM careful: dynamic range compression (compand) can make hiss more audible REM----- REM COMPAND values from https://forum.videohelp.com/threads/349883-Remixing-DTS-5-1-to-good-AC3-5-1-track?p=2202882&viewfull=1#post2202882 REM Film Standard REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.1,0.3 -90,-90,-70,-64,-43,-37,-31,-31,-21,-21,0,-20 0 0 0.1 gain -n -3 REM Film Light REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.1,0.3 -90,-90,-70,-64,-53,-47,-41,-41,-21,-21,0,-20 0 0 0.1 gain -n -3 REM Music Standard REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.1,0.3 -90,-90,-70,-58,-55,-43,-31,-31,-21,-21,0,-20 0 0 0.1 gain -n -3 REM Music Light REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.1,0.3 -90,-90,-70,-58,-65,-53,-41,-41,-21,-21,0,-11 0 0 0.1 gain -n -3 REM Speech REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.1,0.3 -90,-90,-70,-55,-50,-35,-31,-31,-21,-21,0,-20 0 0 0.1 gain -n -3 REM 54db Range / 5db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-54 -5 -90 0.2 gain -n -3 REM 50db Range / 6db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-50 -6 -90 0.2 gain -n -3 REM 46db Range / 7db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-46 -7 -90 0.2 gain -n -3 REM 42db Range / 8db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-42 -8 -90 0.2 gain -n -3 REM 38db Range / 9db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-38 -9 -90 0.2 gain -n -3 REM 34db Range / 10db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-34 -10 -90 0.2 gain -n -3 REM 30db Range / 11db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-30 -11 -90 0.2 gain -n -3 REM 66db Range / 4db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-66 -4 -90 0.2 gain -n -3 REM 70db Range / 4db Limit REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-70 -4 -90 0.2 gain -n -3` REM----- REM https://forum.videohelp.com/threads/349883-Remixing-DTS-5-1-to-good-AC3-5-1-track?p=2209539&viewfull=1#post2209539 REM Film Standard closer to Dolby REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.1,0.3 -90,-84,-43,-37,-31,-31,-26,-26,-16,-21,0,-20.25 0 0 0.1 gain -n -3 REM----- REM lightest to heaviest dynamic range compression REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-70,-60,-48 -5 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-70,-60,-44 -6 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-70,-60,-40 -6 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-70,-60,-36 -7 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-70,-60,-32 -8 -90 0.2 gain -n -3 REM lightest to heaviest dynamic range compression REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-70 -4 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-66 -4 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-54 -5 -90 0.2 gain -n -3 "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-50 -6 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-46 -7 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-42 -8 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-38 -9 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-34 -10 -90 0.2 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 compand 0.3,1 5:-80,-79,-30 -11 -90 0.2 gain -n -3 REM normalize without DRC REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 gain -n 0 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 gain -n -1 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 gain -n -3 REM "%soxEXE%" "%fOUTPUTunnormalized%" "%fOUTPUTnormalized%" --clobber --show-progress gain -h rate 44100 gain -n -6 REM COPY "%fOUTPUTunnormalized%" "%fOUTPUTnormalized% REM -------------------------------------------- interlaced "%ffmpegEXE%" -i "%fINPUT%" -i "%fOUTPUTnormalized%" -map 0:v -map 1:a -c:v h264 -preset fast -flags +ildct+ilme -ildctcmp satd -top %FieldFirst% -profile:v high -level 3.2 -crf %crf% -coder 0 -c:a libvo_aacenc -ab %audiobitrate% -y "%fOUTPUT%" REM -------------------------------------------- DEL "%fOUTPUTunnormalized%" DEL "%fOUTPUTnormalized%" REM -------------------------------------------- pause exit
edit: updated the script with the values in your link https://forum.videohelp.com/threads/349883-Remixing-DTS-5-1-to-good-AC3-5-1-track?p=220...=1#post2202882 )
CheersLast edited by hydra3333; 31st Dec 2012 at 20:21.
-
On Windows: QAAC (= Interface to Quicktimes AAC Encoder), FHG (= interface to Frauenhofers Encoder) or NeroAacEnc (= Neros AAC Encoder).If ffmpeg's aac isn't great, what would you recommend ?
-
OK Thanks. I have NeroAacEnc (= Neros AAC Encoder) so I must look at its CLI options then.
-
Pointer to continuation in a similar thread:
https://forum.videohelp.com/threads/355502-FFMPEG-Audio-Volume-Command?p=2285229&viewfu...=1#post2285229
ffmpeg ebur128 is available with an "integrated Loudness" number.
I'm not really sure whether to use it or the max loudness number from "-af volumedetect"
Similar Threads
-
Missing options in FFMPEG ? ex: cartoon for libxvid .. Please help!
By hugzzz in forum Video ConversionReplies: 1Last Post: 23rd Feb 2012, 13:10 -
Which ffmpeg options are used behind the scenes by ffmpeg?
By roberto.aloi in forum ffmpegX general discussionReplies: 1Last Post: 26th Jul 2011, 06:09 -
Can someone make me a ffmpeg file for normalizing mp4 files? I am Clueless.
By xrayengineer in forum DVD RippingReplies: 2Last Post: 3rd Feb 2011, 20:46 -
FFmpeg options ? Bad result on a standalone
By Umen Pich in forum Video ConversionReplies: 4Last Post: 18th Jan 2009, 10:28 -
Volume normalizing
By grandsire02 in forum Newbie / General discussionsReplies: 2Last Post: 6th Mar 2008, 12:01



Quote