Failed building wheel for av of OctoPrint-CrealityCloud-With-Video

Hello,

i've installed the OctoPrint-CrealityCloud-With-Video package inside a RPi 2B based on octopi-1.0.0-1.9.3-20231009154319.

When i install it from the Plugin Manager i faced this issue and the plugin can't load on OctoPrint:

[...]

building 'av.codec.codec' extension
creating build/temp.linux-armv7l-cpython-39/src/av/codec
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/codec/codec.c -o build/temp.linux-armv7l-cpython-39/src/av/codec/codec.o
src/av/codec/codec.c: In function β€˜__pyx_pymod_exec_codec’:
src/av/codec/codec.c:8199:48: error: β€˜AV_CODEC_CAP_OTHER_THREADS’ undeclared (first use in this function); did you mean β€˜AV_CODEC_CAP_SLICE_THREADS’?
8199 | __pyx_t_8 = __Pyx_PyInt_From___pyx_anon_enum(AV_CODEC_CAP_OTHER_THREADS); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 104, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| AV_CODEC_CAP_SLICE_THREADS
src/av/codec/codec.c:8199:48: note: each undeclared identifier is reported only once for each function it appears in
error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for av
ERROR: Could not build wheels for av, which is required to install pyproject.toml-based projects
Looks like the plugin was already installed. Forcing a reinstall.
/home/pi/oprint/bin/python -m pip --disable-pip-version-check install file:///tmp/tmpnjldeh67.zip --no-cache-dir --ignore-installed --force-reinstall --no-deps
Looking in indexes: Simple index, piwheels - Simple index
Processing /tmp/tmpnjldeh67.zip
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Building wheels for collected packages: OctoPrint-Crealitycloud-With-Video
Building wheel for OctoPrint-Crealitycloud-With-Video (setup.py): started
Building wheel for OctoPrint-Crealitycloud-With-Video (setup.py): finished with status 'done'
Created wheel for OctoPrint-Crealitycloud-With-Video: filename=OctoPrint_Crealitycloud_With_Video-1.1.4-py2.py3-none-any.whl size=16290815 sha256=184ad03d439fdffc4da7ebc4768f3216668797463e5a4654fcca177ae8f950a0
Stored in directory: /tmp/pip-ephem-wheel-cache-251mlbr0/wheels/f6/5d/45/0f30d7978d602070280efc79736272c3b5c4f10521626b986f
Successfully built OctoPrint-Crealitycloud-With-Video
Installing collected packages: OctoPrint-Crealitycloud-With-Video
Successfully installed OctoPrint-Crealitycloud-With-Video-1.1.4
Done!

PS: See attached log file for the complete logs: error_compilation.log (39.5 KB)

Could anyone help me?

Thanks

Did you do this bit: GitHub - crealitycloud/OctoPrint-CrealityCloud-With-Video: A plugin to connect the CrealityCloud and OctoPrint

Yes, all steps.

Furthermore i noticed that even if I run the following command via Putty, it gives me the same error:

pi@octopi:~ $ ./oprint/bin/pip3 install av
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting av
  Downloading av-11.0.0.tar.gz (3.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 1.7 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: av
  Building wheel for av (pyproject.toml) ... error
  error: subprocess-exited-with-error

  Γ— Building wheel for av (pyproject.toml) did not run successfully.
  β”‚ exit code: 1
  ╰─> [141 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-cpython-39
      creating build/lib.linux-armv7l-cpython-39/av
      copying av/__main__.py -> build/lib.linux-armv7l-cpython-39/av
      copying av/datasets.py -> build/lib.linux-armv7l-cpython-39/av
      copying av/deprecation.py -> build/lib.linux-armv7l-cpython-39/av
      copying av/about.py -> build/lib.linux-armv7l-cpython-39/av
      copying av/__init__.py -> build/lib.linux-armv7l-cpython-39/av
      creating build/lib.linux-armv7l-cpython-39/av/codec
      copying av/codec/__init__.py -> build/lib.linux-armv7l-cpython-39/av/codec
      creating build/lib.linux-armv7l-cpython-39/av/container
      copying av/container/__init__.py -> build/lib.linux-armv7l-cpython-39/av/container
      creating build/lib.linux-armv7l-cpython-39/av/sidedata
      copying av/sidedata/__init__.py -> build/lib.linux-armv7l-cpython-39/av/sidedata
      creating build/lib.linux-armv7l-cpython-39/av/filter
      copying av/filter/__init__.py -> build/lib.linux-armv7l-cpython-39/av/filter
      creating build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/__init__.py -> build/lib.linux-armv7l-cpython-39/av/audio
      creating build/lib.linux-armv7l-cpython-39/av/data
      copying av/data/__init__.py -> build/lib.linux-armv7l-cpython-39/av/data
      creating build/lib.linux-armv7l-cpython-39/av/video
      copying av/video/__init__.py -> build/lib.linux-armv7l-cpython-39/av/video
      creating build/lib.linux-armv7l-cpython-39/av/subtitles
      copying av/subtitles/__init__.py -> build/lib.linux-armv7l-cpython-39/av/subtitles
      copying av/enum.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/plane.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/option.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/buffer.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/format.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/bytesource.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/utils.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/dictionary.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/packet.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/descriptor.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/frame.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/logging.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/error.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/stream.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av
      copying av/codec/codec.pxd -> build/lib.linux-armv7l-cpython-39/av/codec
      copying av/codec/context.pxd -> build/lib.linux-armv7l-cpython-39/av/codec
      copying av/codec/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av/codec
      copying av/container/streams.pxd -> build/lib.linux-armv7l-cpython-39/av/container
      copying av/container/core.pxd -> build/lib.linux-armv7l-cpython-39/av/container
      copying av/container/output.pxd -> build/lib.linux-armv7l-cpython-39/av/container
      copying av/container/pyio.pxd -> build/lib.linux-armv7l-cpython-39/av/container
      copying av/container/input.pxd -> build/lib.linux-armv7l-cpython-39/av/container
      copying av/container/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av/container
      copying av/sidedata/sidedata.pxd -> build/lib.linux-armv7l-cpython-39/av/sidedata
      copying av/sidedata/motionvectors.pxd -> build/lib.linux-armv7l-cpython-39/av/sidedata
      copying av/sidedata/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av/sidedata
      copying av/filter/link.pxd -> build/lib.linux-armv7l-cpython-39/av/filter
      copying av/filter/graph.pxd -> build/lib.linux-armv7l-cpython-39/av/filter
      copying av/filter/pad.pxd -> build/lib.linux-armv7l-cpython-39/av/filter
      copying av/filter/context.pxd -> build/lib.linux-armv7l-cpython-39/av/filter
      copying av/filter/filter.pxd -> build/lib.linux-armv7l-cpython-39/av/filter
      copying av/filter/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av/filter
      copying av/audio/codeccontext.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/plane.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/format.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/fifo.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/resampler.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/frame.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/stream.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/audio/layout.pxd -> build/lib.linux-armv7l-cpython-39/av/audio
      copying av/data/stream.pxd -> build/lib.linux-armv7l-cpython-39/av/data
      copying av/data/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av/data
      copying av/video/reformatter.pxd -> build/lib.linux-armv7l-cpython-39/av/video
      copying av/video/codeccontext.pxd -> build/lib.linux-armv7l-cpython-39/av/video
      copying av/video/plane.pxd -> build/lib.linux-armv7l-cpython-39/av/video
      copying av/video/format.pxd -> build/lib.linux-armv7l-cpython-39/av/video
      copying av/video/frame.pxd -> build/lib.linux-armv7l-cpython-39/av/video
      copying av/video/stream.pxd -> build/lib.linux-armv7l-cpython-39/av/video
      copying av/video/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av/video
      copying av/subtitles/codeccontext.pxd -> build/lib.linux-armv7l-cpython-39/av/subtitles
      copying av/subtitles/subtitle.pxd -> build/lib.linux-armv7l-cpython-39/av/subtitles
      copying av/subtitles/stream.pxd -> build/lib.linux-armv7l-cpython-39/av/subtitles
      copying av/subtitles/__init__.pxd -> build/lib.linux-armv7l-cpython-39/av/subtitles
      running build_ext
      building 'av._core' extension
      creating build/temp.linux-armv7l-cpython-39
      creating build/temp.linux-armv7l-cpython-39/src
      creating build/temp.linux-armv7l-cpython-39/src/av
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/_core.c -o build/temp.linux-armv7l-cpython-39/src/av/_core.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/_core.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/_core.cpython-39-arm-linux-gnueabihf.so
      building 'av.stream' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/stream.c -o build/temp.linux-armv7l-cpython-39/src/av/stream.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/stream.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/stream.cpython-39-arm-linux-gnueabihf.so
      building 'av.format' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/format.c -o build/temp.linux-armv7l-cpython-39/src/av/format.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/format.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/format.cpython-39-arm-linux-gnueabihf.so
      building 'av.utils' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/utils.c -o build/temp.linux-armv7l-cpython-39/src/av/utils.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/utils.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/utils.cpython-39-arm-linux-gnueabihf.so
      building 'av.logging' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/logging.c -o build/temp.linux-armv7l-cpython-39/src/av/logging.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/logging.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/logging.cpython-39-arm-linux-gnueabihf.so
      building 'av.enum' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/enum.c -o build/temp.linux-armv7l-cpython-39/src/av/enum.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/enum.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/enum.cpython-39-arm-linux-gnueabihf.so
      building 'av.option' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/option.c -o build/temp.linux-armv7l-cpython-39/src/av/option.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/option.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/option.cpython-39-arm-linux-gnueabihf.so
      building 'av.plane' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/plane.c -o build/temp.linux-armv7l-cpython-39/src/av/plane.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/plane.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/plane.cpython-39-arm-linux-gnueabihf.so
      building 'av.buffer' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/buffer.c -o build/temp.linux-armv7l-cpython-39/src/av/buffer.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/buffer.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/buffer.cpython-39-arm-linux-gnueabihf.so
      building 'av.packet' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/packet.c -o build/temp.linux-armv7l-cpython-39/src/av/packet.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/packet.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/packet.cpython-39-arm-linux-gnueabihf.so
      building 'av.error' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/error.c -o build/temp.linux-armv7l-cpython-39/src/av/error.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/error.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/error.cpython-39-arm-linux-gnueabihf.so
      building 'av.bytesource' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/bytesource.c -o build/temp.linux-armv7l-cpython-39/src/av/bytesource.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/bytesource.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/bytesource.cpython-39-arm-linux-gnueabihf.so
      building 'av.dictionary' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/dictionary.c -o build/temp.linux-armv7l-cpython-39/src/av/dictionary.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/dictionary.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/dictionary.cpython-39-arm-linux-gnueabihf.so
      building 'av.descriptor' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/descriptor.c -o build/temp.linux-armv7l-cpython-39/src/av/descriptor.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/descriptor.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/descriptor.cpython-39-arm-linux-gnueabihf.so
      building 'av.frame' extension
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/frame.c -o build/temp.linux-armv7l-cpython-39/src/av/frame.o
      arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-cpython-39/src/av/frame.o -L/usr/lib -lavformat -lavcodec -lavdevice -lavutil -lavfilter -lswscale -lswresample -o build/lib.linux-armv7l-cpython-39/av/frame.cpython-39-arm-linux-gnueabihf.so
      building 'av.codec.codec' extension
      creating build/temp.linux-armv7l-cpython-39/src/av/codec
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/arm-linux-gnueabihf -I/home/pi/oprint/include -I/usr/include/python3.9 -c src/av/codec/codec.c -o build/temp.linux-armv7l-cpython-39/src/av/codec/codec.o
      src/av/codec/codec.c: In function β€˜__pyx_pymod_exec_codec’:
      src/av/codec/codec.c:8199:48: error: β€˜AV_CODEC_CAP_OTHER_THREADS’ undeclared (first use in this function); did you mean β€˜AV_CODEC_CAP_SLICE_THREADS’?
       8199 |   __pyx_t_8 = __Pyx_PyInt_From___pyx_anon_enum(AV_CODEC_CAP_OTHER_THREADS); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 104, __pyx_L1_error)
            |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                                AV_CODEC_CAP_SLICE_THREADS
      src/av/codec/codec.c:8199:48: note: each undeclared identifier is reported only once for each function it appears in
      error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for av
Failed to build av
ERROR: Could not build wheels for av, which is required to install pyproject.toml-based projects

[notice] A new release of pip available: 22.3 -> 23.3.1
[notice] To update, run: /home/pi/oprint/bin/python -m pip install --upgrade pip

I don't think it depends on the Creality plugin..

PyAV probably failed because of missing ffmpeg components.

Since they really struggled to get ffmpeg 5 working (not sure if it does now) I wouldn't even test it with ffmpeg 6.

We could play it safe and try ffmpeg 4.

Which OctoPi (not OctoPrint) version do you use right now? Just want to make sure everything works.

If you want to try it on your own:

sudo apt -y install autoconf automake build-essential cmake doxygen git graphviz imagemagick libasound2-dev libass-dev libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libfreetype6-dev libgmp-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopus-dev librtmp-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev libsnappy-dev libsoxr-dev libssh-dev libssl-dev libtool libv4l-dev libva-dev libvdpau-dev libvo-amrwbenc-dev libvorbis-dev libwebp-dev libx264-dev libx265-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-xfixes0-dev libxcb1-dev libxml2-dev lzma-dev nasm pkg-config python3-dev python3-pip texinfo wget yasm zlib1g-dev libdrm-dev

git clone --branch release/4.0 --depth 1 https://github.com/FFmpeg/FFmpeg.git ~/FFmpeg

cd ~/FFmpeg

./configure \
    --extra-cflags="-I/usr/local/include" \
    --extra-ldflags="-L/usr/local/lib" \
    --extra-libs="-lpthread -lm -latomic" \
    --arch=armel \
    --enable-gmp \
    --enable-gpl \
    --enable-libass \
    --enable-libdrm \
    --enable-libfreetype \
    --enable-libmp3lame \
    --enable-libopencore-amrnb \
    --enable-libopencore-amrwb \
    --enable-libopus \
    --enable-librtmp \
    --enable-libsnappy \
    --enable-libsoxr \
    --enable-libssh \
    --enable-libvorbis \
    --enable-libwebp \
    --enable-libx264 \
    --enable-libx265 \
    --enable-libxml2 \
    --enable-mmal \
    --enable-nonfree \
    --enable-version3 \
    --target-os=linux \
    --enable-pthreads \
    --enable-openssl \
    --enable-hardcoded-tables \
    --enable-pic \
    --disable-static \
    --enable-shared

make -j$(nproc)

sudo make install

sudo ldconfig

Warning: building ffmpeg could take a while.

Currently i use OctoPi 1.0.0.

I also wanted to inform you that the compilation as per your instructions worked correctly and without errors on my RPi! :+1:

  • Now how do i import this library into the OctoPi environment? So that it don't end up compiling the wrong library?

Thank you very much!

I think it pyav should be able to access those libs now.
Just try to install it again.

Nope, already tried but didn't work.

I have the feeling that this library must somehow be placed inside the virtual environment of OctoPi or at least connected via some environment variable that bridges the two systems..

Any idea about it?

Thank you!