1

I have a python script which should run an ffmpeg command with this function:

def transcode(in_path, out_path):
    cmd = ["ffmpeg", "-y", "-i", in_path, '-vf smartblur=lr=1']
    cmd += ["-an", out_path]
    print("Running:", " ".join(cmd))
    subprocess.run(cmd, stdout=cmdout, stderr=cmdout)

When I run the python script it fails with this ffmpeg error:

Running: ffmpeg -y -i raid/orig/scenes/train/5786088.mp4 -vf smartblur=lr=1 -an raid/4K/scenes/train/5786088.mp4
ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Unrecognized option 'vf smartblur=lr=1'.
Error splitting the argument list: Option not found

You can see the command it tries to execute in the first line, when I run it in the command line it works fine. When I run the command in the shell it outputs the same version and parameters of the ffmpeg as written in the error above.

I feel like I missed something simple yet crucial, anyone can point me to the right direction?

1
  • You already have a solution, but the 2.8 branch is ancient. I recommend updating to avoid bugs that were fixed long ago [compile or download]. Commented Apr 4, 2019 at 17:30

1 Answer 1

1

You probably have to split the "-vf smartblur" option like this:

cmd = ["ffmpeg", "-y", "-i", in_path, '-vf', 'smartblur=lr=1']
Sign up to request clarification or add additional context in comments.

1 Comment

If I had glasses I'm pretty sure I would be looking for them 90% of the time while wearing them. That's so obvious I don't know how I missed it or how I didn't try it. Hope it will help some other poor soul with a similar problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.