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

Paul B Mahol onemda at gmail.com
Fri May 10 21:06:12 EEST 2019


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


More information about the ffmpeg-user mailing list