Search code examples
pythonffmpegpython-imageio

python imageio.get_reader() returns format error


import imageio

reader = imageio.get_reader("./t.mp4")

As shown above, with python 3.6.10, it returns:

>>> reader = imageio.get_reader("../")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/core/functions.py", line 129, in get_reader
    return format.get_reader(request)
  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/core/format.py", line 168, in get_reader
    return self.Reader(self, request)
  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/core/format.py", line 217, in __init__
    self._open(**self.request.kwargs.copy())
  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/plugins/ffmpeg.py", line 357, in _open
    self._initialize()
  File "/home/tristan_jia/workspace/py3.6/venv/lib/python3.6/site-packages/imageio/plugins/ffmpeg.py", line 430, in _initialize
    shell=ISWIN)
  File "/usr/lib64/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.6/subprocess.py", line 1364, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/home/tristan_jia/.imageio/ffmpeg/ffmpeg-linux64-v3.3.1'

I searched everywhere but haven't seen any similar questions. The script runs on Opensuse Leap 15.1, is it related to the system I use?


Solution

  • I updated the imageio(from 2.3.0 to 2.9.0) package as well as the ffmpeg-python package and it works well now.