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

David Ing ding at panopto.com
Fri May 10 18:13:47 EEST 2019


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?

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


More information about the ffmpeg-user mailing list