Re: [FFmpeg-user] firequalizer: What is multichannel evaluation?
On Sat, Feb 24, 2024 at 9:48 PM Bernd Butscheidt via ffmpeg-user < ffmpeg-user@ffmpeg.org> wrote: > Hello, > > trying out some equalizer settings, I stepped over this part in the > documentation of ffmpeg describing the firequalizer filter: > > "multi > Enable multichannels evaluation on gain. Default is disabled" > > What is multichannels evaluation? And are the gain_entry settings applied > to all channels with the default settings with multichannel sound? Like, > e.g., when using the given example: > > firequalizer=gain_entry='entry(100,0); entry(400, -4); entry(1000, -6); > entry(2000, 0)' > If you use multi option together with ch/chid in expressions you can have different gains for each channel. > ___ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] firequalizer: What is multichannel evaluation?
Hello, trying out some equalizer settings, I stepped over this part in the documentation of ffmpeg describing the firequalizer filter: "multi Enable multichannels evaluation on gain. Default is disabled" What is multichannels evaluation? And are the gain_entry settings applied to all channels with the default settings with multichannel sound? Like, e.g., when using the given example: firequalizer=gain_entry='entry(100,0); entry(400, -4); entry(1000, -6); entry(2000, 0)' ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] How to create error log file ffmpeg Loudnorm?
On 2/24/2024 9:16 AM, CMG DiGiTaL wrote: [NULL @ 02738af86200] Unable to find a suitable output format for 'file=log.txt:level=16' file=log.txt:level=16: Invalid argument "log.txt:level=16" is not a valid filename here (you're on windoze, I assume), you may need to escape the colon or the entire arg. And what are the *'s doing in that script? Always start by posting the complete ffmpeg command and unedited output, that way we don't have to guess about what the script is doing. z! ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] How to create error log file ffmpeg Loudnorm?
hi, I created a bat file where I enter the LUFS values to cover several audio files in a folder. However, I would like to generate an error log file. I used the command -report file=log.txt:level=16. see below the command in my bat file: md "C:\Users\%username%\Desktop\Normalizing_lufs" pushd "%Userprofile%\Desktop\áudios LUFS" FOR /F "delims=" %%a in ('where .:*.mp3 ^|findstr /vi "_LOUDNORM _EBU"') DO ( SET "filename=%%~na" ffmpeg -hide_banner -i "%%a" -af "[0:a]loudnorm=print_format=summary" -f null NUL 2> "%%~na.log" @FOR /F "tokens=3" %%b IN ('FINDSTR /C:"Input Integrated" "%%~na.log"') DO (SET II=%%b) @FOR /F "tokens=4" %%b IN ('FINDSTR /C:"Input True Peak" "%%~na.log"') DO (SET ITP=%%b) @FOR /F "tokens=3" %%b IN ('FINDSTR /C:"Input LRA" "%%~na.log"') DO (SET ILRA=%%b) @FOR /F "tokens=3" %%b IN ('FINDSTR /C:"Input Threshold" "%%~na.log"') DO (SET IT=%%b) @FOR /F "tokens=3" %%b IN ('FINDSTR /C:"Target Offset" "%%~na.log"') DO (SET TO=%%b) DEL "%%~na.log" SETLOCAL ENABLEDELAYEDEXPANSION REM ECHO !II! Input Integrated REM ECHO !ITP! Input True Peak REM ECHO !ILRA! Input LRA REM ECHO !IT! Input Threshold REM ECHO !TO! Target Offset FOR /F "tokens=1,2 delims=," %%b IN ('ffprobe -v 0 -select_streams a -show_entries "stream=bit_rate,sample_rate" -of "csv=p=0" "!filename!.mp3"') DO ( ffmpeg -hide_banner *-report file=log.txt:level=16* -i "!filename!.mp3" -af "loudnorm=linear=true:I=!_vLUF!:LRA=11:tp=!_vPEAK!:measured_I=!II!:measured_LRA=!ILRA!:measured_tp=!ITP!:measured_thresh=!IT!:offset=!TO!:print_format=summary" -c:v copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" -acodec mp3 -b:a %%c -ar:a %%b "C:\Users\%username%\Desktop\Normalizing_lufs\!filename!.mp3" ) ENDLOCAL and see the error below: Successfully opened the file. Parsing a group of options: output url file=log.txt:level=16. Successfully parsed a group of options. Opening an output file: file=log.txt:level=16. [NULL @ 02738af86200] Unable to find a suitable output format for 'file=log.txt:level=16' file=log.txt:level=16: Invalid argument PS: The log files are generated, but the program cancels and does not convert the audio files! ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Wave channel split is very slow
On Sat, Feb 24, 2024 at 3:26 PM Bouke / Videotoolshed < bo...@videotoolshed.com> wrote: > On 24 Feb 2024, at 12:37, Paul B Mahol wrote: > > > > On Sat, Feb 24, 2024 at 11:33 AM Bouke / Videotoolshed < > > bo...@videotoolshed.com> wrote: > > > >> Trying to split a 64 channel 48Khz 24 bits Wave file. > >> That is VERY slow. > >> > >> ffmpeg -i /Volumes/Data/magweg/64channel.wav -filter_complex > >> "[0]pan=mono|c0=c0[tr0]" -c:a pcm_s24le -map "[tr0]" > >> /Volumes/Data/magweg/64_test/out_1.wav > >> > >> Runs at about 15x > >> > >> But if I do all 64 in one pass, it slows down to about 0.7x > >> > >> I don’t get it. DiskIO should not be a factor, and there is no math > >> involved. (Granted, the ppm_s24le might involve math, but that should be > >> simple.) > >> > >> Is this a bug? > >> (Same happens vice versa, going from multiple non-interleaved to one big > >> interleaved Wave.) > >> > >> Bouke > >> > > > > For demuxing case, use -max_size 400 as input option for wav demuxer, > > Hi Paul, > > Yup, that helps. It now runs 64 channels at about 16x, that is about 20 > times faster than before! > > > order of this option matters. > > Where have I heard this before :-) (I won’t go there, no worries.) > > > > Issue is if single packets have small number of stored samples it hurts > > performance with ffmpeg utility, recently situation got even worse with > > threading work. > I trust you, but I don’t do C > > I raised concerns and reported it to authorities multiple times without > > results, but got responses that is not relevant but very minor problem. > > This IS a serious problem, same as stripping audio only from video has > become dog slow. > FFmbc used to be able to do that (with -c:a copy) at the speed of drive, > FFmpeg nowadays seems to read the entire file, including video. > > > > Dunno what command you use for reverse direction so can not help you on > > that one. > > My filter compex is HUGE, it splits all inputs to mono, pads / merges / > etc. (I’m doing auto sequence style.) > But for now, I’ve got something more to toy with. > I wanted to advise about using channelsplit filter instead of pan filter, mostly because channelsplit filter is doing raw things with non-packed sample formats and is not using swr library. -lavfi "channelsplit=64C:all" rest of maps But it looks like packed->planar->packed is very slow here. > > Thanks, > Bouke > > Better command line (way simplified) that indeed runs faster: > /Applications/ffmpeg -max_size 400 -i > /Volumes/Data/magweg/64_test/64chans.wav -max_size 400 -filter_complex > "[0]pan=mono|c0=c0[tr0];[0]pan=mono|c0=c1[tr1];[0]pan=mono|c0=c2[tr2];[0]pan=mono|c0=c3[tr3];[0]pan=mono|c0=c4[tr4];[0]pan=mono|c0=c5[tr5];[0]pan=mono|c0=c6[tr6];[0]pan=mono|c0=c7[tr7];[0]pan=mono|c0=c8[tr8];[0]pan=mono|c0=c9[tr9];[0]pan=mono|c0=c10[tr10];[0]pan=mono|c0=c11[tr11];[0]pan=mono|c0=c12[tr12];[0]pan=mono|c0=c13[tr13];[0]pan=mono|c0=c14[tr14];[0]pan=mono|c0=c15[tr15];[0]pan=mono|c0=c16[tr16];[0]pan=mono|c0=c17[tr17];[0]pan=mono|c0=c18[tr18];[0]pan=mono|c0=c19[tr19];[0]pan=mono|c0=c20[tr20];[0]pan=mono|c0=c21[tr21];[0]pan=mono|c0=c22[tr22];[0]pan=mono|c0=c23[tr23];[0]pan=mono|c0=c24[tr24];[0]pan=mono|c0=c25[tr25];[0]pan=mono|c0=c26[tr26];[0]pan=mono|c0=c27[tr27];[0]pan=mono|c0=c28[tr28];[0]pan=mono|c0=c29[tr29];[0]pan=mono|c0=c30[tr30];[0]pan=mono|c0=c31[tr31];[0]pan=mono|c0=c32[tr32];[0]pan=mono|c0=c33[tr33];[0]pan=mono|c0=c34[tr34];[0]pan=mono|c0=c35[tr35];[0]pan=mono|c0=c36[tr36];[0]pan=mono|c0=c37[tr37];[0]pan=mono|c0=c38[tr38];[0]pan=mono|c0=c39[tr39];[0]pan=mono|c0=c40[tr40];[0]pan=mono|c0=c41[tr41];[0]pan=mono|c0=c42[tr42];[0]pan=mono|c0=c43[tr43];[0]pan=mono|c0=c44[tr44];[0]pan=mono|c0=c45[tr45];[0]pan=mono|c0=c46[tr46];[0]pan=mono|c0=c47[tr47];[0]pan=mono|c0=c48[tr48];[0]pan=mono|c0=c49[tr49];[0]pan=mono|c0=c50[tr50];[0]pan=mono|c0=c51[tr51];[0]pan=mono|c0=c52[tr52];[0]pan=mono|c0=c53[tr53];[0]pan=mono|c0=c54[tr54];[0]pan=mono|c0=c55[tr55];[0]pan=mono|c0=c56[tr56];[0]pan=mono|c0=c57[tr57];[0]pan=mono|c0=c58[tr58];[0]pan=mono|c0=c59[tr59];[0]pan=mono|c0=c60[tr60];[0]pan=mono|c0=c61[tr61];[0]pan=mono|c0=c62[tr62];[0]pan=mono|c0=c63[tr63]" > -map_metadata -1 -c:a pcm_s24le -map "[tr0]" > /Volumes/Data/magweg/64_test/speed_1.wav -y -map_metadata -1 -c:a pcm_s24le > -map "[tr1]" /Volumes/Data/magweg/64_test/speed_2.wav -y -map_metadata -1 > -c:a pcm_s24le -map "[tr2]" /Volumes/Data/magweg/64_test/speed_3.wav -y > -map_metadata -1 -c:a pcm_s24le -map "[tr3]" > /Volumes/Data/magweg/64_test/speed_4.wav -y -map_metadata -1 -c:a pcm_s24le > -map "[tr4]" /Volumes/Data/magweg/64_test/speed_5.wav -y -map_metadata -1 > -c:a pcm_s24le -map "[tr5]" /Volumes/Data/magweg/64_test/speed_6.wav -y > -map_metadata -1 -c:a pcm_s24le -map "[tr6]" > /Volumes/Data/magweg/64_test/speed_7.wav -y -map_metadata -1 -c:a pcm_s24le > -map "[tr7]" /Volumes/Data/magweg/64_test/speed_8.wav -y -map_metadata -1 > -c:a pcm_s24le -map "[tr8]" /Volumes/Data/magweg/64_test/speed_9.wav -y
Re: [FFmpeg-user] Wave channel split is very slow
On 24 Feb 2024, at 12:37, Paul B Mahol wrote: > > On Sat, Feb 24, 2024 at 11:33 AM Bouke / Videotoolshed < > bo...@videotoolshed.com> wrote: > >> Trying to split a 64 channel 48Khz 24 bits Wave file. >> That is VERY slow. >> >> ffmpeg -i /Volumes/Data/magweg/64channel.wav -filter_complex >> "[0]pan=mono|c0=c0[tr0]" -c:a pcm_s24le -map "[tr0]" >> /Volumes/Data/magweg/64_test/out_1.wav >> >> Runs at about 15x >> >> But if I do all 64 in one pass, it slows down to about 0.7x >> >> I don’t get it. DiskIO should not be a factor, and there is no math >> involved. (Granted, the ppm_s24le might involve math, but that should be >> simple.) >> >> Is this a bug? >> (Same happens vice versa, going from multiple non-interleaved to one big >> interleaved Wave.) >> >> Bouke >> > > For demuxing case, use -max_size 400 as input option for wav demuxer, Hi Paul, Yup, that helps. It now runs 64 channels at about 16x, that is about 20 times faster than before! > order of this option matters. Where have I heard this before :-) (I won’t go there, no worries.) > Issue is if single packets have small number of stored samples it hurts > performance with ffmpeg utility, recently situation got even worse with > threading work. I trust you, but I don’t do C > I raised concerns and reported it to authorities multiple times without > results, but got responses that is not relevant but very minor problem. This IS a serious problem, same as stripping audio only from video has become dog slow. FFmbc used to be able to do that (with -c:a copy) at the speed of drive, FFmpeg nowadays seems to read the entire file, including video. > > Dunno what command you use for reverse direction so can not help you on > that one. My filter compex is HUGE, it splits all inputs to mono, pads / merges / etc. (I’m doing auto sequence style.) But for now, I’ve got something more to toy with. Thanks, Bouke Better command line (way simplified) that indeed runs faster: /Applications/ffmpeg -max_size 400 -i /Volumes/Data/magweg/64_test/64chans.wav -max_size 400 -filter_complex "[0]pan=mono|c0=c0[tr0];[0]pan=mono|c0=c1[tr1];[0]pan=mono|c0=c2[tr2];[0]pan=mono|c0=c3[tr3];[0]pan=mono|c0=c4[tr4];[0]pan=mono|c0=c5[tr5];[0]pan=mono|c0=c6[tr6];[0]pan=mono|c0=c7[tr7];[0]pan=mono|c0=c8[tr8];[0]pan=mono|c0=c9[tr9];[0]pan=mono|c0=c10[tr10];[0]pan=mono|c0=c11[tr11];[0]pan=mono|c0=c12[tr12];[0]pan=mono|c0=c13[tr13];[0]pan=mono|c0=c14[tr14];[0]pan=mono|c0=c15[tr15];[0]pan=mono|c0=c16[tr16];[0]pan=mono|c0=c17[tr17];[0]pan=mono|c0=c18[tr18];[0]pan=mono|c0=c19[tr19];[0]pan=mono|c0=c20[tr20];[0]pan=mono|c0=c21[tr21];[0]pan=mono|c0=c22[tr22];[0]pan=mono|c0=c23[tr23];[0]pan=mono|c0=c24[tr24];[0]pan=mono|c0=c25[tr25];[0]pan=mono|c0=c26[tr26];[0]pan=mono|c0=c27[tr27];[0]pan=mono|c0=c28[tr28];[0]pan=mono|c0=c29[tr29];[0]pan=mono|c0=c30[tr30];[0]pan=mono|c0=c31[tr31];[0]pan=mono|c0=c32[tr32];[0]pan=mono|c0=c33[tr33];[0]pan=mono|c0=c34[tr34];[0]pan=mono|c0=c35[tr35];[0]pan=mono|c0=c36[tr36];[0]pan=mono|c0=c37[tr37];[0]pan=mono|c0=c38[tr38];[0]pan=mono|c0=c39[tr39];[0]pan=mono|c0=c40[tr40];[0]pan=mono|c0=c41[tr41];[0]pan=mono|c0=c42[tr42];[0]pan=mono|c0=c43[tr43];[0]pan=mono|c0=c44[tr44];[0]pan=mono|c0=c45[tr45];[0]pan=mono|c0=c46[tr46];[0]pan=mono|c0=c47[tr47];[0]pan=mono|c0=c48[tr48];[0]pan=mono|c0=c49[tr49];[0]pan=mono|c0=c50[tr50];[0]pan=mono|c0=c51[tr51];[0]pan=mono|c0=c52[tr52];[0]pan=mono|c0=c53[tr53];[0]pan=mono|c0=c54[tr54];[0]pan=mono|c0=c55[tr55];[0]pan=mono|c0=c56[tr56];[0]pan=mono|c0=c57[tr57];[0]pan=mono|c0=c58[tr58];[0]pan=mono|c0=c59[tr59];[0]pan=mono|c0=c60[tr60];[0]pan=mono|c0=c61[tr61];[0]pan=mono|c0=c62[tr62];[0]pan=mono|c0=c63[tr63]" -map_metadata -1 -c:a pcm_s24le -map "[tr0]" /Volumes/Data/magweg/64_test/speed_1.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr1]" /Volumes/Data/magweg/64_test/speed_2.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr2]" /Volumes/Data/magweg/64_test/speed_3.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr3]" /Volumes/Data/magweg/64_test/speed_4.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr4]" /Volumes/Data/magweg/64_test/speed_5.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr5]" /Volumes/Data/magweg/64_test/speed_6.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr6]" /Volumes/Data/magweg/64_test/speed_7.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr7]" /Volumes/Data/magweg/64_test/speed_8.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr8]" /Volumes/Data/magweg/64_test/speed_9.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr9]" /Volumes/Data/magweg/64_test/speed_10.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr10]" /Volumes/Data/magweg/64_test/speed_11.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr11]" /Volumes/Data/magweg/64_test/speed_12.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr12]" /Volumes/Data/magweg/64_test/speed_13.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr13]" /Volumes/Data/magweg/64_test/speed_14.wav -y -map_metadata -1 -c:a pcm_s24le -map "[tr14]" /
Re: [FFmpeg-user] Wave channel split is very slow
On Sat, Feb 24, 2024 at 11:33 AM Bouke / Videotoolshed < bo...@videotoolshed.com> wrote: > Trying to split a 64 channel 48Khz 24 bits Wave file. > That is VERY slow. > > ffmpeg -i /Volumes/Data/magweg/64channel.wav -filter_complex > "[0]pan=mono|c0=c0[tr0]" -c:a pcm_s24le -map "[tr0]" > /Volumes/Data/magweg/64_test/out_1.wav > > Runs at about 15x > > But if I do all 64 in one pass, it slows down to about 0.7x > > I don’t get it. DiskIO should not be a factor, and there is no math > involved. (Granted, the ppm_s24le might involve math, but that should be > simple.) > > Is this a bug? > (Same happens vice versa, going from multiple non-interleaved to one big > interleaved Wave.) > > Bouke > For demuxing case, use -max_size 400 as input option for wav demuxer, order of this option matters. Issue is if single packets have small number of stored samples it hurts performance with ffmpeg utility, recently situation got even worse with threading work. I raised concerns and reported it to authorities multiple times without results, but got responses that is not relevant but very minor problem. Dunno what command you use for reverse direction so can not help you on that one. > > ___ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] Wave channel split is very slow
Trying to split a 64 channel 48Khz 24 bits Wave file. That is VERY slow. ffmpeg -i /Volumes/Data/magweg/64channel.wav -filter_complex "[0]pan=mono|c0=c0[tr0]" -c:a pcm_s24le -map "[tr0]" /Volumes/Data/magweg/64_test/out_1.wav Runs at about 15x But if I do all 64 in one pass, it slows down to about 0.7x I don’t get it. DiskIO should not be a factor, and there is no math involved. (Granted, the ppm_s24le might involve math, but that should be simple.) Is this a bug? (Same happens vice versa, going from multiple non-interleaved to one big interleaved Wave.) Bouke ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".