[FFmpeg-user] VOICE POST PRODUCTION IN ONE LINE

Paul B Mahol onemda at gmail.com
Fri Jan 29 15:55:00 EET 2021


On Fri, Jan 29, 2021 at 2:52 PM Marco Mircoli <nuvolablux at gmail.com> wrote:

> Hello, here's the log.
> cannot understand why there is no DEESSER command. The ffmpeg versions is
> not the last, but it is almost new.
>

Year is very misleading. Latest major release is 4.3

And deesser in available since 4.2 release.


> ffmpeg version 4.1.6-1~deb10u1 Copyright (c) 2000-2020 the FFmpeg
> developers
>   built with gcc 8 (Debian 8.3.0-6)
>   configuration: --prefix=/usr --extra-version='1~deb10u1'
> --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu
> --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl
> --disable-stripping --enable-avresample --disable-filter=resample
> --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom
> --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
> --enable-libcdio --enable-libcodec2 --enable-libflite
> --enable-libfontconfig --enable-libfreetype --enable-libfribidi
> --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame
> --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt
> --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband
> --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex
> --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab
> --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp
> --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq
> --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl
> --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883
> --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
>   libavutil      56. 22.100 / 56. 22.100
>   libavcodec     58. 35.100 / 58. 35.100
>   libavformat    58. 20.100 / 58. 20.100
>   libavdevice    58.  5.100 / 58.  5.100
>   libavfilter     7. 40.101 /  7. 40.101
>   libavresample   4.  0.  0 /  4.  0.  0
>   libswscale      5.  3.100 /  5.  3.100
>   libswresample   3.  3.100 /  3.  3.100
>   libpostproc    55.  3.100 / 55.  3.100
> Splitting the commandline.
> Reading option '-i' ... matched as input url with argument 'test.mp3'.
> Reading option '-af' ... matched as option 'af' (set audio filters) with
> argument
>
> 'adeclick,deesser=i=1,afftdn=nr=80:nf=-20:nt=w:om=o,highpass=f=70,loudnorm=I=-16:TP=-1.5:LRA=14'.
> Reading option 'test7.mp3' ... matched as output url.
> Reading option '-loglevel' ... matched as option 'loglevel' (set logging
> level) with argument 'debug'.
> Finished splitting the commandline.
> Parsing a group of options: global .
> Applying option loglevel (set logging level) with argument debug.
> Successfully parsed a group of options.
> Parsing a group of options: input url test.mp3.
> Successfully parsed a group of options.
> Opening an input file: test.mp3.
> [NULL @ 0x555cfa973a40] Opening 'test.mp3' for reading
> [file @ 0x555cfa9744c0] Setting default whitelist 'file,crypto'
> [mp3 @ 0x555cfa973a40] Format mp3 probed with size=8192 and score=51
> [mp3 @ 0x555cfa973a40] pad 576 1079
> [mp3 @ 0x555cfa973a40] Skipping 0 bytes of junk at 1044.
> [mp3 @ 0x555cfa973a40] Before avformat_find_stream_info() pos: 1044 bytes
> read:65664 seeks:2 nb_streams:1
> [mp3 @ 0x555cfa973a40] demuxer injecting skip 1105 / discard 0
> [mp3float @ 0x555cfa975240] skip 1105 / discard 0 samples due to side data
> [mp3float @ 0x555cfa975240] skip 1105/1152 samples
> [mp3 @ 0x555cfa973a40] All info found
> [mp3 @ 0x555cfa973a40] After avformat_find_stream_info() pos: 54292 bytes
> read:98432 seeks:2 frames:50
> Input #0, mp3, from 'test.mp3':
>   Duration: 00:00:18.21, start: 0.025057, bitrate: 320 kb/s
>     Stream #0:0, 50, 1/14112000: Audio: mp3, 44100 Hz, stereo, fltp, 320
> kb/s
>     Metadata:
>       encoder         : Lavc57.89
> Successfully opened the file.
> Parsing a group of options: output url test7.mp3.
> Applying option af (set audio filters) with argument
>
> adeclick,deesser=i=1,afftdn=nr=80:nf=-20:nt=w:om=o,highpass=f=70,loudnorm=I=-16:TP=-1.5:LRA=14.
> Successfully parsed a group of options.
> Opening an output file: test7.mp3.
> [file @ 0x555cfa985700] Setting default whitelist 'file,crypto'
> Successfully opened the file.
> Stream mapping:
>   Stream #0:0 -> #0:0 (mp3 (mp3float) -> mp3 (libmp3lame))
> Press [q] to stop, [?] for help
> cur_dts is invalid (this is harmless if it occurs once at the start per
> stream)
> [mp3float @ 0x555cfa9780c0] skip 1105 / discard 0 samples due to side data
> [mp3float @ 0x555cfa9780c0] skip 1105/1152 samples
> detected 1 logical cores
> [AVFilterGraph @ 0x555cfa985880] No such filter: 'deesser'
> [Parsed_adeclick_0 @ 0x555cfa989780] Detected clicks in 0 of 0 samples
> (-nan%).
> Error reinitializing filters!
> Failed to inject frame into filter network: Invalid argument
> Error while processing the decoded data for stream #0:0
> [AVIOContext @ 0x555cfa976140] Statistics: 0 seeks, 0 writeouts
> [AVIOContext @ 0x555cfa97c880] Statistics: 98432 bytes read, 2 seeks
> Conversion failed!
>
> Il giorno ven 29 gen 2021 alle ore 13:02 Paul B Mahol <onemda at gmail.com>
> ha
> scritto:
>
> > On Fri, Jan 29, 2021 at 12:52 PM Chris Miceli <chris at miceli.net.au>
> wrote:
> >
> > > If you wish to have output from your service, you would need to check
> the
> > > documentation of the library you are using to execute the shell
> command.
> > > They often have the ability to capture stdout and stderr which is what
> > you
> > > need.
> > >
> > > Often, these libraries may interpret shell commands in different ways
> and
> > > so it may be parsing the ffmpeg command line (this is something to keep
> > in
> > > mind, not necessarily what is happening).
> > >
> > > If you can run your command from the shell normally, there is likely
> > > something in your service code which is causing it.
> > >
> >
> > The only thing that come to mind, is that version is old that it does not
> > have that specific filter.
> > Also note that those audio filters are not magic way to solve your
> problems
> > by putting them in filtergraph and forgetting about them next second.
> >
> >
> > > On Fri, Jan 29, 2021, 10:21 PM Paul B Mahol <onemda at gmail.com> wrote:
> > >
> > > > On Fri, Jan 29, 2021 at 12:18 PM Marco Mircoli <nuvolablux at gmail.com
> >
> > > > wrote:
> > > >
> > > > > Thanks,
> > > > >     is there a way to understand if ffmpeg has aborted the process?
> > > > > I'm using a Linux version for an online service.
> > > > > It would be nice to let ffmpeg write a log file when there is a
> > problem
> > > > > (process aborted)
> > > > > How to do it?
> > > > >
> > > >
> > > > By providing full ffmpeg output. (Not output file but command log)
> > > >
> > > >
> > > > > Thanks.
> > > > > S.
> > > > >
> > > > >
> > > > > Il giorno ven 29 gen 2021 alle ore 11:39 Paul B Mahol <
> > > onemda at gmail.com>
> > > > > ha
> > > > > scritto:
> > > > >
> > > > > > On Fri, Jan 29, 2021 at 11:25 AM Marco Mircoli <
> > nuvolablux at gmail.com
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Hello,
> > > > > > >     anybody knows the reason why this command works.
> > > > > > >
> > > > > > > $ffmpegCmd = "ffmpeg -i $fileOriginale -af
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> adeclick,afftdn=nr=80:nf=-20:nt=w:om=o,highpass=f=70,loudnorm=I=-16:TP=-1.5:LRA=14
> > > > > > > $fileProcessato"; //Livella audio a R128
> > > > > > >
> > > > > > > and this doesn't work.
> > > > > > >
> > > > > > > $ffmpegCmd = "ffmpeg -i $fileOriginale -af
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> adeclick,deesser=i=1,afftdn=nr=80:nf=-20:nt=w:om=o,highpass=f=70,loudnorm=I=-16:TP=-1.5:LRA=14
> > > > > > > $fileProcessato"; //Livella audio a R128
> > > > > > > This creates an audio file of zero bytes, just the name.
> > > > > > >
> > > > > > > The difference is that the last I've added deesser=i=1
> > > > > > > Any ideas?
> > > > > > >
> > > > > >
> > > > > > Dunno, you have not provided much info.
> > > > > > Also both commands works just fine here.
> > > > > >
> > > > > >
> > > > > > > Thanks.
> > > > > > > S.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Il giorno gio 28 gen 2021 alle ore 10:15 Michael Koch <
> > > > > > > astroelectronic at t-online.de> ha scritto:
> > > > > > >
> > > > > > > > Am 28.01.2021 um 09:44 schrieb Marco Mircoli:
> > > > > > > > > Goodmorning everyone.
> > > > > > > > > I'm new to ffmpeg and was wondering if anyone from the
> group
> > > > could
> > > > > > help
> > > > > > > > me
> > > > > > > > > set up a command line.
> > > > > > > > > My goal is to improve voice audio recordings.
> > > > > > > > > I would like to be able to do this starting from a command
> > > line I
> > > > > > have
> > > > > > > in
> > > > > > > > > my script, modifying it to add:
> > > > > > > > >
> > > > > > > > > - 70HZ high pass filter
> > > > > > > > > - expander / noise gate
> > > > > > > > > - equalizer
> > > > > > > > > - compressor
> > > > > > > > > - exciter
> > > > > > > > > - de-esser
> > > > > > > > > - limiter
> > > > > > > > > - loudnorm to r128 (there is already)
> > > > > > > > >
> > > > > > > > > It would be nice to have all this just in one line, is it
> > > > possible?
> > > > > > > > > This is the string where I'm starting from.
> > > > > > > > >
> > > > > > > > > $ shell = shell_exec ("$ ffmpeg_b -i $ audio_file_full_path
> > > -map
> > > > 0:
> > > > > > a:
> > > > > > > 0
> > > > > > > > > -af loudnorm -b: a 96k $ audio_output_mp3 2> & 1");
> > > > > > > >
> > > > > > > > yes, I think it's possible to do all this in one command
> line.
> > > All
> > > > > > these
> > > > > > > > features must be added at the beginning of the audio filter
> > > chain,
> > > > > > > > that's between "-af" and "loudnorm". For example:
> > > > > > > >
> > > > > > > > $ shell = shell_exec ("$ ffmpeg_b -i $ audio_file_full_path
> > -map
> > > 0:
> > > > > a:
> > > > > > 0
> > > > > > > > -af highpass=f=70,loudnorm -b: a 96k $ audio_output_mp3 2> &
> > 1");
> > > > > > > >
> > > > > > > > Michael
> > > > > > > > _______________________________________________
> > > > > > > > ffmpeg-user mailing list
> > > > > > > > ffmpeg-user at ffmpeg.org
> > > > > > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > > > > > > >
> > > > > > > > To unsubscribe, visit link above, or email
> > > > > > > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> > > > > > > _______________________________________________
> > > > > > > ffmpeg-user mailing list
> > > > > > > ffmpeg-user at ffmpeg.org
> > > > > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > > > > > >
> > > > > > > To unsubscribe, visit link above, or email
> > > > > > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> > > > > > _______________________________________________
> > > > > > ffmpeg-user mailing list
> > > > > > ffmpeg-user at ffmpeg.org
> > > > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > > > > >
> > > > > > To unsubscribe, visit link above, or email
> > > > > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> > > > > _______________________________________________
> > > > > ffmpeg-user mailing list
> > > > > ffmpeg-user at ffmpeg.org
> > > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > > > >
> > > > > To unsubscribe, visit link above, or email
> > > > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> > > > _______________________________________________
> > > > ffmpeg-user mailing list
> > > > ffmpeg-user at ffmpeg.org
> > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > > >
> > > > To unsubscribe, visit link above, or email
> > > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> > > _______________________________________________
> > > ffmpeg-user mailing list
> > > ffmpeg-user at ffmpeg.org
> > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > >
> > > To unsubscribe, visit link above, or email
> > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> > _______________________________________________
> > ffmpeg-user mailing list
> > ffmpeg-user at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list