[FFmpeg-user] Help with syntax using lv2 filter plugin
David Ing
ding at panopto.com
Fri May 10 21:48:02 EEST 2019
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.
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".
More information about the ffmpeg-user
mailing list