[FFmpeg-user] Help with syntax using lv2 filter plugin

David Ing ding at panopto.com
Sat May 11 00:23:12 EEST 2019


Paul,

I had trouble with that plugin also.  I wonder if you could take a look at
my issue and give me some of your thoughts:
https://github.com/werman/noise-suppression-for-voice/issues/11

Thanks.

On Fri, May 10, 2019 at 12:10 PM Paul B Mahol <onemda at gmail.com> wrote:

> On 5/10/19, David Ing <ding at panopto.com> wrote:
> > I did not have the "lv2ls" command, so I installed it like this:
> >
> > sudo apt-get install --yes lilv-utils
> >
> >
> > Unfortunately when I execute "lv2ls", it shows that I have no plugins
> > installed (i.e. it does not return anything).
> >
> > But this is where I can see the plugin files on my system:
> >
> > root at 22f908a93c0b:/data# *ll /usr/local/lib/lv2/sdenoise.lv2*
> > total 160
> > drwxr-xr-x 2 root root   4096 May  9 21:55 ./
> > drwxr-xr-x 3 root root   4096 May  9 21:55 ../
> > -rwxr-xr-x 1 root root    229 May  9 21:55 manifest.ttl*
> > -rwxr-xr-x 1 root root 147216 May  9 21:55 sdenoise.so*
> > -rwxr-xr-x 1 root root   1991 May  9 21:55 sdenoise.ttl*
> >
> >
> > And you already know what's in that *manifest.ttl* file (from my prior
> > email).
> >
> > I must be doing something wrong but I don't know what it is.
>
> Your system is borked, reinstall it.
>
> Seriously if lv2ls does not list plugins then there are not available to
> lv2.
>
> If you hadn't knew there is ladspa plugins with exactly same
> functionality if not better.
> https://github.com/werman/noise-suppression-for-voice
>
> >
> > On Fri, May 10, 2019 at 11:06 AM Paul B Mahol <onemda at gmail.com> wrote:
> >
> >> On 5/10/19, David Ing <ding at panopto.com> wrote:
> >> > Yes Paul, if you see earlier in this email thread, I tried to follow
> the
> >> > documentation (https://ffmpeg.org/ffmpeg-filters.html#lv2) but it
> was a
> >> bit
> >> > vague.  It suggested (vaguely) that I should use the following
> command,
> >> > but it failed because the colon was not escaped by the filtergraph
> >> escaping
> >> > layer (
> >> http://ffmpeg.org/ffmpeg-filters.html#Notes-on-filtergraph-escaping):
> >> >
> >> > ffmpeg -i $INPUT -af lv2=plugin=https\\\\://
> >> > github.com/lucianodato/speech-denoiser $OUTPUT
> >> >
> >> >
> >> > Now my most recent attempt gets past this error:
> >> >
> >> > ffmpeg -i $INPUT -af 'lv2=plugin=https\\://
> >> > github.com/lucianodato/speech-denoiser' $OUTPUT
> >> >
> >> >
> >> > But now I get another error:
> >> >
> >> > *Plugin <https://github.com/lucianodato/speech-denoiser
> >> > <https://github.com/lucianodato/speech-denoiser>> not found*
> >> >
> >> >
> >> > From that error message, it looks like I am at least passing the
> correct
> >> > information to ffmpeg (across the command line), but ffmpeg is somehow
> >> > unable to find the relevant plugin which is installed on my machine.
> >> > For
> >> > any LV2 experts out there, here are the contents of my file:
> >> > */usr/local/lib/lv2/sdenoise.lv2/manifest.ttl*
> >> >
> >> > @prefix lv2:  <http://lv2plug.in/ns/lv2core#>.
> >> > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> >> >
> >> > <https://github.com/lucianodato/speech-denoiser>
> >> >   a lv2:Plugin;
> >> >   lv2:binary <sdenoise.so> ;
> >> >   rdfs:seeAlso <sdenoise.ttl> .
> >> >
> >> >
> >> > Does anyone know what I am doing wrong?
> >> >
> >>
> >> Do you have lv2ls tool?
> >>
> >> What it lists?
> >>
> >> > On Fri, May 10, 2019 at 9:08 AM Paul B Mahol <onemda at gmail.com>
> wrote:
> >> >
> >> >> On 5/10/19, David Ing <ding at panopto.com> wrote:
> >> >> > There was a slight copy-paste error in my last email.
> >> >> >
> >> >> > Here are the contents of my file:
> >> >> > */usr/local/lib/lv2/sdenoise.lv2/manifest.ttl*
> >> >> >
> >> >> > @prefix lv2:  <http://lv2plug.in/ns/lv2core#>.
> >> >> > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> >> >> >
> >> >> > <https://github.com/lucianodato/speech-denoiser>
> >> >> >   a lv2:Plugin;
> >> >> >   lv2:binary <sdenoise.so> ;
> >> >> >   rdfs:seeAlso <sdenoise.ttl> .
> >> >> >
> >> >> >
> >> >> > What am I doing wrong?
> >> >> >
> >> >> > On Fri, May 10, 2019 at 8:13 AM David Ing <ding at panopto.com>
> wrote:
> >> >> >
> >> >> >> Moritz,
> >> >> >>
> >> >> >> Thank you.
> >> >> >>
> >> >> >> Although your suggestion did not work, you gave me enough
> >> >> >> information
> >> >> >> to
> >> >> >> find one that did.  The following works from a bash prompt.
> >> >> >>
> >> >> >> ffmpeg -i $INPUT -af 'lv2=plugin=https\\://
> >> >> >> github.com/lucianodato/speech-denoiser' $OUTPUT
> >> >> >>
> >> >> >>
> >> >> >> Now I have a separate problem which is:  *Plugin
> >> >> >> <https://github.com/lucianodato/speech-denoiser
> >> >> >> <https://github.com/lucianodato/speech-denoiser>> not found*
> >> >> >>
> >> >> >> root at b88297120832:/data# *ffmpeg -i $INPUT -af
> >> >> >> 'lv2=plugin=https\\://github.com/lucianodato/speech-denoiser
> >> >> >> <http://github.com/lucianodato/speech-denoiser>' $OUTPUT*
> >> >> >> ffmpeg version 4.1.3-0ubuntu1 Copyright (c) 2000-2019 the FFmpeg
> >> >> >> developers
> >> >> >>   built with gcc 8 (Ubuntu 8.3.0-6ubuntu1)
> >> >> >>   configuration: --prefix=/usr --extra-version=0ubuntu1
> >> >> >> --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
> >> >> >> Guessed Channel Layout for Input Stream #0.0 : stereo
> >> >> >> Input #0, wav, from '/data/sample_car.wav':
> >> >> >>   Metadata:
> >> >> >>     encoder         : Lavf58.12.100
> >> >> >>   Duration: 00:01:05.02, bitrate: 1411 kb/s
> >> >> >>     Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100
> Hz,
> >> >> >> stereo, s16, 1411 kb/s
> >> >> >> File '/data/sample_car.sdenoise.wav' already exists. Overwrite ?
> >> [y/N]
> >> >> >> y
> >> >> >> Stream mapping:
> >> >> >>   Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
> >> >> >> Press [q] to stop, [?] for help
> >> >> >> [lv2 @ 0x55613f407300] *Plugin
> >> >> >> <**https://github.com/lucianodato/speech-denoiser
> >> >> >> <https://github.com/lucianodato/speech-denoiser>**> not found*
> >> >> >> [AVFilterGraph @ 0x55613f3e7140] Error initializing filter 'lv2'
> >> >> >> with
> >> >> args
> >> >> >> 'plugin=https\://github.com/lucianodato/speech-denoiser'
> >> >> >> Error reinitializing filters!
> >> >> >> Failed to inject frame into filter network: Invalid argument
> >> >> >> Error while processing the decoded data for stream #0:0
> >> >> >> Conversion failed!
> >> >> >>
> >> >> >>
> >> >> >> Now I don't know anything about LADSPA or LV2, but here are the
> >> >> >> contents
> >> >> >> of my file:  */usr/local/lib/lv2/sdenoise.lv2/manifest.ttl*
> >> >> >>
> >> >> >> @prefix lv2:  <http://lv2plug.in/ns/lv2core#>.
> >> >> >> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> >> >> >>
> >> >> >> <https://github.com/lucianodato/speech-denoiser>
> >> >> >>   a lv2:Plugin;
> >> >> >>   lv2:binary <sdenoise.so> ;
> >> >> >>   rdfs:seeAlso <sdenoise.ttl> .
> >> >> >>
> >> >> >> @prefix lv2:  <http://lv2plug.in/ns/lv2core#>.
> >> >> >> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> >> >> >>
> >> >> >> <https://github.com/lucianodato/speech-denoiser>
> >> >> >>   a lv2:Plugin;
> >> >> >>   lv2:binary <sdenoise.so> ;
> >> >> >>   rdfs:seeAlso <sdenoise.ttl> .
> >> >> >>
> >> >> >>
> >> >> >> What am I doing wrong?
> >> >>
> >> >> Have you read examples in lv2 documentation?
> >> >>
> >> >> There is ':' escaped with '\' fourth times.
> >> >>
> >> >> >>
> >> >> >> On Fri, May 10, 2019 at 12:51 AM Moritz Barsnick <
> barsnick at gmx.net>
> >> >> wrote:
> >> >> >>
> >> >> >>> On Thu, May 09, 2019 at 15:57:01 -0700, David Ing wrote:
> >> >> >>> > The command I'm using is:
> >> >> >>> >
> >> >> >>> >     ffmpeg -i $INPUT -af lv2=plugin=https\\\\://
> >> >> >>> github.com/lucianodato/speech-denoiser $OUTPUT
> >> >> >>>
> >> >> >>> Apparently, the quoting isn't sufficient, because:
> >> >> >>>
> >> >> >>> > error: attempt to map invalid URI `https'
> >> >> >>> > [lv2 @ 0x561771d961c0] Invalid plugin URI <https>
> >> >> >>>
> >> >> >>> I.e. the ":" in the URI ist still considered a filter option
> >> >> >>> separator.
> >> >> >>>
> >> >> >>> Could you please try:
> >> >> >>> $ ffmpeg -i $INPUT -af "lv2=plugin='
> >> >> >>> https://github.com/lucianodato/speech-denoiser'" $OUTPUT
> >> >> >>>
> >> >> >>> > I tried to follow the documentation but it was a bit vague.
> >> >> >>> >     https://ffmpeg.org/ffmpeg-filters.html#lv2
> >> >> >>>
> >> >> >>> It's an issue with quoting, not about lv2.
> >> >> >>>
> >> >> >>> There are several chapters in the docs, but they might confuse
> you
> >> >> >>> even
> >> >> >>> more:
> >> >> >>> http://ffmpeg.org/ffmpeg-utils.html#quoting_005fand_005fescaping
> >> >> >>>
> http://ffmpeg.org/ffmpeg-filters.html#Notes-on-filtergraph-escaping
> >> >> >>>
> >> >> >>> >     https://github.com/lucianodato/speech-denoiser/issues/16
> >> >> >>>
> >> >> >>> Your "docker run" will introduce another level of (shell)
> escaping
> >> >> >>> into
> >> >> >>> this hell. :-(
> >> >> >>>
> >> >> >>> HTH,
> >> >> >>> Moritz
> >> >> >>> _______________________________________________
> >> >> >>> 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