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

David Ing ding at panopto.com
Fri May 10 20:02:08 EEST 2019


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?

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".


More information about the ffmpeg-user mailing list