Missing openai-whisper

I’m trying to use openai-whisper instead of whisper-ctranslate2 but I get the following error message. It seems like whisper isn’t installed because it not to be found in /var/www/peertube/storage/bin/pip/bin. I guess this should’ve been installed automatically. Can I install it manually? If so, how?

The reason I want to use openai-whisper instead of whisper-ctranslate2, is that I want to use a custom Whisper model that when tested outside Peertube, works best in its original form.

ExecaError: Command failed with ENOENT: /var/www/peertube/storage/bin/pip/bin/whisper /var/www/peertube/storage/web-videos/private/b8dd8faf-9a30-4674-a4ba-b80f17686833-1080.mp4 --word_timestamps True --model small --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/rSHCPcf74seHDVE13WjcuL
spawn /var/www/peertube/storage/bin/pip/bin/whisper ENOENT
    at getFinalError (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/final-error.js:6:9)
    at makeError (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/result.js:108:16)
    at getAsyncResult (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js:168:4)
    at handlePromise (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js:151:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    at async OpenaiTranscriber.transcribe (file:///var/www/peertube/versions/peertube-v8.2.4/packages/transcription/dist/whisper/transcriber/openai-transcriber.js:14:9)
    at async file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/video-captions.js:140:36
    at async VideoPathManager.makeAvailableFactory (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/video-path-manager.js:158:22)
    at async generateSubtitle (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/video-captions.js:137:9)
    at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/plugins/hooks.js:8:24)
    at async /var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/bullmq@5.77.6/node_modules/bullmq/dist/cjs/classes/worker.js:589:32

This is related to Can't get automatic transcription to work - #2 par zxc, but more specific for openai-whisper and using the production envirionment.

Can you display the output of ls -la /var/www/peertube/storage/bin/pip/bin and ls -la /var/www/peertube/storage/bin/pip?

ls -la /var/www/peertube/storage/bin/pip/bin

drwxr-xr-x   2 peertube peertube  4096 Aug 11 15:07 .
drwxr-xr-x 264 peertube peertube 20480 Aug 11 15:07 ..
-rwxr-xr-x   1 peertube peertube   215 Aug 11 15:07 cffi-gen-src
-rwxr-xr-x   1 peertube peertube   229 Aug 11 15:07 ct2-fairseq-converter
-rwxr-xr-x   1 peertube peertube   228 Aug 11 15:07 ct2-marian-converter
-rwxr-xr-x   1 peertube peertube   233 Aug 11 15:07 ct2-openai-gpt2-converter
-rwxr-xr-x   1 peertube peertube   232 Aug 11 15:07 ct2-opennmt-py-converter
-rwxr-xr-x   1 peertube peertube   232 Aug 11 15:07 ct2-opennmt-tf-converter
-rwxr-xr-x   1 peertube peertube   229 Aug 11 15:07 ct2-opus-mt-converter
-rwxr-xr-x   1 peertube peertube   234 Aug 11 15:07 ct2-transformers-converter
-rwxr-xr-x   1 peertube peertube   216 Aug 11 15:07 f2py
-rwxr-xr-x   1 peertube peertube   221 Aug 11 15:07 hf
-rwxr-xr-x   1 peertube peertube   204 Aug 11 15:07 httpx
-rwxr-xr-x   1 peertube peertube   233 Aug 11 15:07 huggingface-cli
-rwxr-xr-x   1 peertube peertube   207 Aug 11 15:07 idna
-rwxr-xr-x   1 peertube peertube   216 Aug 11 15:07 numpy-config
-rwxr-xr-x   1 peertube peertube   233 Aug 11 15:07 onnxruntime_test
-rwxr-xr-x   1 peertube peertube   210 Aug 11 15:07 pyav
-rwxr-xr-x   1 peertube peertube   231 Aug 11 15:07 tiny-agents
-rwxr-xr-x   1 peertube peertube   207 Aug 11 15:07 tqdm
-rwxr-xr-x   1 peertube peertube   242 Aug 11 15:07 whisper-ctranslate2

ls -la /var/www/peertube/storage/bin/pip

drwxr-xr-x 264 peertube peertube  20480 Aug 11 15:07 .
drwxr-xr-x   3 peertube peertube   4096 Feb  7  2025 ..
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 annotated_doc
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 annotated_doc-0.0.4.dist-info
drwxr-xr-x   7 peertube peertube   4096 Aug 11 15:07 anyio
drwxr-xr-x   3 peertube peertube   4096 Nov 14  2025 anyio-4.11.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 anyio-4.12.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 anyio-4.12.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 anyio-4.13.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 anyio-4.14.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 anyio-4.14.2.dist-info
drwxr-xr-x  10 peertube peertube   4096 Aug 11 15:07 av
drwxr-xr-x   3 peertube peertube   4096 Feb  7  2025 av-14.1.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27  2025 av-14.2.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 25  2025 av-14.3.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul 25  2025 av-15.0.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 av-15.1.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 av-16.0.1.dist-info
drwxr-xr-x   4 peertube peertube   4096 Feb 13 13:50 av-16.1.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 Apr 17 10:42 av-17.0.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 May 28 11:37 av-17.0.1.dist-info
drwxr-xr-x   4 peertube peertube   4096 Jun 11 12:13 av-17.1.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 av-18.0.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 av.libs
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 bin
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 certifi
drwxr-xr-x   3 peertube peertube   4096 Oct 30  2025 certifi-2025.10.5.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 certifi-2025.11.12.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 25  2025 certifi-2025.1.31.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul 25  2025 certifi-2025.7.14.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 certifi-2025.8.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 certifi-2026.1.4.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 certifi-2026.2.25.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 certifi-2026.5.20.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 certifi-2026.6.17.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 certifi-2026.7.22.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 cffi
drwxr-xr-x   2 peertube peertube   4096 Jul 25  2025 cffi-1.17.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 cffi-2.0.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 cffi-2.1.1.dist-info
-rwxr-xr-x   1 peertube peertube 348856 Aug 11 15:07 _cffi_backend.cpython-312-x86_64-linux-gnu.so
-rwxr-xr-x   1 peertube peertube 339784 Sep 10  2025 _cffi_backend.cpython-39-x86_64-linux-gnu.so
drwxr-xr-x   4 peertube peertube   4096 Sep 19  2025 charset_normalizer
drwxr-xr-x   2 peertube peertube   4096 Apr 25  2025 charset_normalizer-3.4.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul 25  2025 charset_normalizer-3.4.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 charset_normalizer-3.4.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 click
drwxr-xr-x   3 peertube peertube   4096 Nov 14  2025 click-8.3.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27 13:33 click-8.3.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 click-8.3.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 click-8.4.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 click-8.4.2.dist-info
drwxr-xr-x   4 peertube peertube   4096 Dec 12  2025 coloredlogs
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 coloredlogs-15.0.1.dist-info
-rw-r--r--   1 peertube peertube    147 Dec 12  2025 coloredlogs.pth
drwxr-xr-x   6 peertube peertube   4096 Aug 11 15:07 ctranslate2
drwxr-xr-x   2 peertube peertube   4096 Mar 27  2025 ctranslate2-4.5.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Oct 30  2025 ctranslate2-4.6.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Nov 14  2025 ctranslate2-4.6.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 ctranslate2-4.6.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 17 10:42 ctranslate2-4.7.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 May 28 11:37 ctranslate2-4.7.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Jul  3 11:05 ctranslate2-4.8.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 ctranslate2-4.8.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 ctranslate2.libs
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 _distutils_hack
-rw-r--r--   1 peertube peertube    151 Aug 11 15:07 distutils-precedence.pth
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 faster_whisper
drwxr-xr-x   2 peertube peertube   4096 Jul 25  2025 faster_whisper-1.1.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Oct 30  2025 faster_whisper-1.2.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 faster_whisper-1.2.1.dist-info
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 filelock
drwxr-xr-x   3 peertube peertube   4096 Mar 13  2025 filelock-3.17.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul 25  2025 filelock-3.18.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 filelock-3.19.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 filelock-3.20.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb  6  2026 filelock-3.20.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 filelock-3.21.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27 13:33 filelock-3.25.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 filelock-3.28.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 May 28 11:37 filelock-3.29.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 filelock-3.29.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 filelock-3.29.5.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 filelock-3.32.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 flatbuffers
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 flatbuffers-25.12.19.dist-info
drwxr-xr-x   2 peertube peertube   4096 Feb  7  2025 flatbuffers-25.1.24.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 19  2025 flatbuffers-25.2.10.dist-info
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 flatbuffers-25.9.23.dist-info
drwxr-xr-x   5 peertube peertube   4096 Aug 11 15:07 fsspec
drwxr-xr-x   3 peertube peertube   4096 Nov 14  2025 fsspec-2025.10.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 fsspec-2025.12.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb  7  2025 fsspec-2025.2.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27  2025 fsspec-2025.3.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 25  2025 fsspec-2025.3.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul 25  2025 fsspec-2025.7.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Oct 30  2025 fsspec-2025.9.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27 13:33 fsspec-2026.2.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 fsspec-2026.3.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 fsspec-2026.4.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 fsspec-2026.6.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 fsspec-2026.7.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 google
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 h11
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 h11-0.16.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 hf_xet
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 hf_xet-1.1.10.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul 25  2025 hf_xet-1.1.5.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 10  2025 hf_xet-1.1.9.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 hf_xet-1.2.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 Mar 27 13:33 hf_xet-1.4.2.dist-info
drwxr-xr-x   4 peertube peertube   4096 Apr 17 10:42 hf_xet-1.4.3.dist-info
drwxr-xr-x   4 peertube peertube   4096 May 28 11:37 hf_xet-1.5.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 Jul  3 11:05 hf_xet-1.5.1.dist-info
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 hf_xet-1.6.0.dist-info
drwxr-xr-x   6 peertube peertube   4096 Aug 11 15:07 httpcore
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 httpcore-1.0.9.dist-info
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 httpx
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 httpx-0.28.1.dist-info
drwxr-xr-x   9 peertube peertube   4096 Aug 11 15:07 huggingface_hub
drwxr-xr-x   2 peertube peertube   4096 Feb  7  2025 huggingface_hub-0.28.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Mar 27  2025 huggingface_hub-0.29.3.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 25  2025 huggingface_hub-0.30.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Jul 25  2025 huggingface_hub-0.33.5.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 10  2025 huggingface_hub-0.34.4.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 19  2025 huggingface_hub-0.35.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Oct 30  2025 huggingface_hub-1.0.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 huggingface_hub-1.11.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Nov 14  2025 huggingface_hub-1.1.4.dist-info
drwxr-xr-x   3 peertube peertube   4096 May 28 11:38 huggingface_hub-1.16.4.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 huggingface_hub-1.18.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 huggingface_hub-1.21.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 huggingface_hub-1.2.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 huggingface_hub-1.27.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 huggingface_hub-1.4.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27 13:33 huggingface_hub-1.8.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 Dec 12  2025 humanfriendly
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 humanfriendly-10.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 idna
drwxr-xr-x   2 peertube peertube   4096 Sep 19  2025 idna-3.10.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 idna-3.11.dist-info
drwxr-xr-x   3 peertube peertube   4096 May 28 11:37 idna-3.16.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 idna-3.18.dist-info
-rw-r--r--   1 peertube peertube  11220 Apr 17 10:42 isympy.py
drwxr-xr-x  10 peertube peertube   4096 Jul  3 11:05 markdown_it
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 markdown_it_py-4.0.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 markdown_it_py-4.2.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 mdurl
drwxr-xr-x   2 peertube peertube   4096 Jul  3 11:05 mdurl-0.1.2.dist-info
drwxr-xr-x   8 peertube peertube   4096 Apr 17 10:42 mpmath
drwxr-xr-x   2 peertube peertube   4096 Apr 17 10:42 mpmath-1.3.0.dist-info
drwxr-xr-x  24 peertube peertube   4096 Aug 11 15:07 numpy
drwxr-xr-x   2 peertube peertube   4096 Sep 10  2025 numpy-2.0.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 19  2025 numpy-2.3.3.dist-info
drwxr-xr-x   2 peertube peertube   4096 Nov 14  2025 numpy-2.3.4.dist-info
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 numpy-2.3.5.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 numpy-2.4.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27 13:33 numpy-2.4.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 numpy-2.4.4.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 numpy-2.4.6.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 numpy-2.5.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 numpy-2.5.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 numpy.libs
drwxr-xr-x   9 peertube peertube   4096 Aug 11 15:07 onnxruntime
drwxr-xr-x   2 peertube peertube   4096 Sep 10  2025 onnxruntime-1.19.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 19  2025 onnxruntime-1.22.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 onnxruntime-1.23.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Feb 13 13:50 onnxruntime-1.24.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 17 10:42 onnxruntime-1.24.4.dist-info
drwxr-xr-x   2 peertube peertube   4096 Jun 11 12:13 onnxruntime-1.26.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Jul  3 11:05 onnxruntime-1.27.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 onnxruntime-1.28.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 packaging
drwxr-xr-x   2 peertube peertube   4096 Apr 10  2025 packaging-24.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 packaging-25.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27 13:33 packaging-26.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 packaging-26.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:04 packaging-26.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 packaging-26.3.dist-info
drwxr-xr-x   4 peertube peertube   4096 Feb  6  2026 pkg_resources
drwxr-xr-x   2 peertube peertube   4096 Feb  7  2025 protobuf-5.29.3.dist-info
drwxr-xr-x   2 peertube peertube   4096 Mar 13  2025 protobuf-6.30.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 25  2025 protobuf-6.30.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Jul 25  2025 protobuf-6.31.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 10  2025 protobuf-6.32.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 19  2025 protobuf-6.32.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Oct 30  2025 protobuf-6.33.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Nov 14  2025 protobuf-6.33.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 protobuf-6.33.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Feb 13 13:50 protobuf-6.33.5.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 17 10:42 protobuf-7.34.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Jun 11 12:13 protobuf-7.35.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 protobuf-7.35.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 __pycache__
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 pycparser
drwxr-xr-x   2 peertube peertube   4096 Jul 25  2025 pycparser-2.22.dist-info
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 pycparser-2.23.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 pycparser-3.0.dist-info
drwxr-xr-x   7 peertube peertube   4096 Jul  3 11:04 pygments
drwxr-xr-x   3 peertube peertube   4096 Mar 27 13:33 pygments-2.19.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:04 pygments-2.20.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 19  2025 PyYAML-6.0.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 pyyaml-6.0.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 requests
drwxr-xr-x   2 peertube peertube   4096 Apr 25  2025 requests-2.32.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul 25  2025 requests-2.32.4.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 requests-2.32.5.dist-info
drwxr-xr-x   4 peertube peertube   4096 Jul  3 11:05 rich
drwxr-xr-x   2 peertube peertube   4096 Feb 13 13:50 rich-14.3.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27 13:33 rich-14.3.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 rich-15.0.0.dist-info
drwxr-xr-x   8 peertube peertube   4096 Aug 11 15:07 setuptools
drwxr-xr-x   2 peertube peertube   4096 Feb  7  2025 setuptools-75.8.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Mar 13  2025 setuptools-76.0.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 10  2025 setuptools-78.1.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 25  2025 setuptools-79.0.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb  6  2026 setuptools-80.10.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 setuptools-80.9.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 setuptools-82.0.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:04 setuptools-82.0.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 setuptools-84.0.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 share
drwxr-xr-x   4 peertube peertube   4096 Jul  3 11:04 shellingham
drwxr-xr-x   2 peertube peertube   4096 Jul  3 11:04 shellingham-1.5.4.dist-info
drwxr-xr-x   4 peertube peertube   4096 Nov 14  2025 sniffio
drwxr-xr-x   2 peertube peertube   4096 Nov 14  2025 sniffio-1.3.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 25  2025 sounddevice-0.5.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 sounddevice-0.5.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 sounddevice-0.5.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 sounddevice-0.5.5.dist-info
-rw-r--r--   1 peertube peertube  13837 Aug 11 15:07 _sounddevice.py
-rw-r--r--   1 peertube peertube 111663 Aug 11 15:07 sounddevice.py
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 src
drwxr-xr-x  43 peertube peertube   4096 Apr 17 10:42 sympy
drwxr-xr-x   2 peertube peertube   4096 Apr 25  2025 sympy-1.13.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 sympy-1.14.0.dist-info
drwxr-xr-x  11 peertube peertube   4096 Aug 11 15:07 tokenizers
drwxr-xr-x   2 peertube peertube   4096 Mar 13  2025 tokenizers-0.21.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 25  2025 tokenizers-0.21.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Jul 25  2025 tokenizers-0.21.2.dist-info
drwxr-xr-x   2 peertube peertube   4096 Sep 10  2025 tokenizers-0.22.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 tokenizers-0.22.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Apr 17 10:42 tokenizers-0.22.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 tokenizers-0.23.1.dist-info
drwxr-xr-x   4 peertube peertube   4096 Aug 11 15:07 tqdm
drwxr-xr-x   2 peertube peertube   4096 Dec 12  2025 tqdm-4.67.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 May 28 11:37 tqdm-4.67.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 tqdm-4.68.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:04 tqdm-4.68.3.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 tqdm-4.70.0.dist-info
drwxr-xr-x   4 peertube peertube   4096 Jul  3 11:05 typer
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 typer-0.23.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 17 10:42 typer-0.24.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul  3 11:05 typer-0.25.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Dec 12  2025 typer_slim-0.20.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb  6  2026 typer_slim-0.21.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Feb 13 13:50 typer_slim-0.23.1.dist-info
drwxr-xr-x   2 peertube peertube   4096 Mar 13  2025 typing_extensions-4.12.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Mar 27  2025 typing_extensions-4.13.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 10  2025 typing_extensions-4.13.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 25  2025 typing_extensions-4.13.2.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jul 25  2025 typing_extensions-4.14.1.dist-info
drwxr-xr-x   3 peertube peertube   4096 Jun 11 12:13 typing_extensions-4.15.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 typing_extensions-4.16.0.dist-info
-rw-r--r--   1 peertube peertube 165012 Aug 11 15:07 typing_extensions.py
drwxr-xr-x   6 peertube peertube   4096 Sep 19  2025 urllib3
drwxr-xr-x   3 peertube peertube   4096 Apr 10  2025 urllib3-2.3.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Apr 25  2025 urllib3-2.4.0.dist-info
drwxr-xr-x   3 peertube peertube   4096 Sep 19  2025 urllib3-2.5.0.dist-info
drwxr-xr-x   2 peertube peertube   4096 Aug 11 15:07 whisper_ctranslate2-0.4.4.dist-info
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 _yaml
drwxr-xr-x   3 peertube peertube   4096 Aug 11 15:07 yaml

Please enable debug logs, restart peertube, run a transcription and send me your server logs.

{"tags":["video-caption","21a88dc8-a780-44ad-af42-c5e42f8e9e28"],"level":"info","message":"Creating transcription job for https://peertube.ra.no/videos/watch/21a88dc8-a780-44ad-af42-c5e42f8e9e28","label":"peertube.ra.no:443","timestamp":"2026-08-12T13:10:57.229Z"}
{"sql":"Executing (default): INSERT INTO \"videoJobInfo\" (\"videoId\", \"pendingTranscription\", \"createdAt\", \"updatedAt\")\n    SELECT\n      \"video\".\"id\" AS \"videoId\", 1, NOW(), NOW()\n    FROM\n      \"video\"\n    WHERE\n      \"video\".\"uuid\" = $1\n    ON CONFLICT (\"videoId\") DO UPDATE\n    SET\n      \"pendingTranscription\" = \"videoJobInfo\".\"pendingTranscription\" + 1,\n      \"updatedAt\" = NOW()\n    RETURNING\n      \"pendingTranscription\"","tags":["sql"],"level":"debug","message":"Executed SQL request","label":"peertube.ra.no:443","timestamp":"2026-08-12T13:10:57.231Z"}
{"level":"info","message":"Processing video transcription in job 105.","label":"peertube.ra.no:443","timestamp":"2026-08-12T13:10:57.231Z"}
{"sql":"Executing (default): SELECT \"video\".* FROM (SELECT * FROM \"video\" WHERE uuid = '21a88dc8-a780-44ad-af42-c5e42f8e9e28' LIMIT 1) AS \"video\"","tags":["sql"],"level":"debug","message":"Executed SQL request","label":"peertube.ra.no:443","timestamp":"2026-08-12T13:10:57.231Z"}
{"tags":["http"],"level":"info","message":"10.50.0.0 - - [12/Aug/2026:13:10:57 +0000] \"POST /api/v1/videos/486/captions/generate HTTP/1.0\" 204 - \"https://peertube.ra.no/w/5a4JXCCBnDgbzsoNbng3uy\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:153.0) Gecko/20100101 Firefox/153.0\"","label":"peertube.ra.no:443","timestamp":"2026-08-12T13:10:57.233Z"}
{"tags":["video-caption"],"level":"info","message":"Installing transcriber openai-whisper to generate subtitles","label":"peertube.ra.no:443","timestamp":"2026-08-12T13:10:57.234Z"}
{"type":"command","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:57.235Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:58.146Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"Collecting openai-whisper==20231117","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:58.147Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Using cached openai-whisper-20231117.tar.gz (798 kB)","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:58.186Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Installing build dependencies: started","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.569Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Installing build dependencies: finished with status 'done'","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Getting requirements to build wheel: started","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.705Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Getting requirements to build wheel: finished with status 'error'","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.710Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  error: subprocess-exited-with-error","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.711Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  ","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.711Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  × Getting requirements to build wheel did not run successfully.","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.711Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  │ exit code: 1","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.711Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  ╰─> [21 lines of output]","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"      Traceback (most recent call last):","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          main()","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          json_out['return_val'] = hook(**hook_input['kwargs'])","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          return hook(config_settings)","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.712Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"                 ^^^^^^^^^^^^^^^^^^^^^","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          return self._get_build_requires(config_settings, requirements=[])","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          self.run_setup()","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          super().run_setup(setup_script=setup_script)","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          exec(code, locals())  # noqa: S102 # exec is intentional here","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.714Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          ^^^^^^^^^^^^^^^^^^^^","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"<string>\", line 5, in <module>","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"      ModuleNotFoundError: No module named 'pkg_resources'","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"      [end of output]","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  ","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  note: This error originates from a subprocess, and is likely not a problem with pip.","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"error: subprocess-exited-with-error","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"× Getting requirements to build wheel did not run successfully.","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"│ exit code: 1","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"╰─> See above for output.","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"","label":"peertube.ra.no:443"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.715Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"note: This error originates from a subprocess, and is likely not a problem with pip.","label":"peertube.ra.no:443"}
{"type":"error","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.794Z","piped":false,"result":{"stack":"ExecaError: Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'\n\n  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.\n\nCollecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'\n    at getFinalError (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/final-error.js:6:9)\n    at makeError (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/result.js:108:16)\n    at getAsyncResult (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js:168:4)\n    at handlePromise (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js:151:17)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async OpenaiTranscriber.install (file:///var/www/peertube/versions/peertube-v8.2.4/packages/transcription/dist/whisper/transcriber/openai-transcriber.js:45:9)\n    at async generateSubtitle (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/video-captions.js:123:17)\n    at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/plugins/hooks.js:8:24)\n    at async /var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/bullmq@5.77.6/node_modules/bullmq/dist/cjs/classes/worker.js:589:32","message":"Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'\n\n  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.\n\nCollecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","shortMessage":"Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","command":"pip3 install -U -t /var/www/peertube/storage/bin/pip openai-whisper==20231117","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","cwd":"/var/www/peertube/versions/peertube-v8.2.4","durationMs":2558.730818,"failed":true,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":1,"stdout":"Collecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","stderr":"  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.","stdio":[null,"Collecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip."],"ipcOutput":[],"pipedFrom":[]},"options":{"stdin":"inherit","preferLocal":true},"level":"error","message":"Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","label":"peertube.ra.no:443"}
{"type":"duration","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-08-12T13:10:59.795Z","piped":false,"result":{"stack":"ExecaError: Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'\n\n  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.\n\nCollecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'\n    at getFinalError (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/final-error.js:6:9)\n    at makeError (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/result.js:108:16)\n    at getAsyncResult (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js:168:4)\n    at handlePromise (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js:151:17)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async OpenaiTranscriber.install (file:///var/www/peertube/versions/peertube-v8.2.4/packages/transcription/dist/whisper/transcriber/openai-transcriber.js:45:9)\n    at async generateSubtitle (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/video-captions.js:123:17)\n    at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/plugins/hooks.js:8:24)\n    at async /var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/bullmq@5.77.6/node_modules/bullmq/dist/cjs/classes/worker.js:589:32","message":"Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'\n\n  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.\n\nCollecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","shortMessage":"Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","command":"pip3 install -U -t /var/www/peertube/storage/bin/pip openai-whisper==20231117","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","cwd":"/var/www/peertube/versions/peertube-v8.2.4","durationMs":2558.730818,"failed":true,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":1,"stdout":"Collecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","stderr":"  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.","stdio":[null,"Collecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip."],"ipcOutput":[],"pipedFrom":[]},"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"(done in 2.5s)","label":"peertube.ra.no:443"}
{"sql":"Executing (default): UPDATE\n      \"videoJobInfo\"\n    SET\n      \"pendingTranscription\" = GREATEST(\"videoJobInfo\".\"pendingTranscription\" - 1, 0),\n      \"updatedAt\" = NOW()\n    FROM \"video\"\n    WHERE\n      \"video\".\"id\" = \"videoJobInfo\".\"videoId\" AND \"video\".\"uuid\" = $1\n    RETURNING\n      \"pendingTranscription\";","tags":["sql"],"level":"debug","message":"Executed SQL request","label":"peertube.ra.no:443","timestamp":"2026-08-12T13:10:59.797Z"}
{"level":"error","message":"Cannot execute job 105 in queue video-transcription.","label":"peertube.ra.no:443","payload":{"videoUUID":"21a88dc8-a780-44ad-af42-c5e42f8e9e28"},"err":{"stack":"ExecaError: Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'\n\n  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.\n\nCollecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'\n    at getFinalError (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/final-error.js:6:9)\n    at makeError (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/result.js:108:16)\n    at getAsyncResult (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js:168:4)\n    at handlePromise (file:///var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js:151:17)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async OpenaiTranscriber.install (file:///var/www/peertube/versions/peertube-v8.2.4/packages/transcription/dist/whisper/transcriber/openai-transcriber.js:45:9)\n    at async generateSubtitle (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/video-captions.js:123:17)\n    at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v8.2.4/dist/core/lib/plugins/hooks.js:8:24)\n    at async /var/www/peertube/versions/peertube-v8.2.4/node_modules/.pnpm/bullmq@5.77.6/node_modules/bullmq/dist/cjs/classes/worker.js:589:32","message":"Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'\n\n  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.\n\nCollecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","shortMessage":"Command failed with exit code 1: pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","command":"pip3 install -U -t /var/www/peertube/storage/bin/pip openai-whisper==20231117","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","cwd":"/var/www/peertube/versions/peertube-v8.2.4","durationMs":2558.730818,"failed":true,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":1,"stdout":"Collecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","stderr":"  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip.","stdio":[null,"Collecting openai-whisper==20231117\n  Using cached openai-whisper-20231117.tar.gz (798 kB)\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'error'","  error: subprocess-exited-with-error\n  \n  × Getting requirements to build wheel did not run successfully.\n  │ exit code: 1\n  ╰─> [21 lines of output]\n      Traceback (most recent call last):\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>\n          main()\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main\n          json_out['return_val'] = hook(**hook_input['kwargs'])\n                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel\n          return hook(config_settings)\n                 ^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel\n          return self._get_build_requires(config_settings, requirements=[])\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires\n          self.run_setup()\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup\n          super().run_setup(setup_script=setup_script)\n        File \"/tmp/pip-build-env-dxwo_3hb/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())  # noqa: S102 # exec is intentional here\n          ^^^^^^^^^^^^^^^^^^^^\n        File \"<string>\", line 5, in <module>\n      ModuleNotFoundError: No module named 'pkg_resources'\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n× Getting requirements to build wheel did not run successfully.\n│ exit code: 1\n╰─> See above for output.\n\nnote: This error originates from a subprocess, and is likely not a problem with pip."],"ipcOutput":[],"pipedFrom":[]},"timestamp":"2026-08-12T13:10:59.800Z"}

It’s the same error as I got in the test environment mentioned in the other thread.

Thank you, I upgraded whisper version in Upgrade whisper · Chocobozzz/PeerTube@9f136ed · GitHub

We’ll see in version 8.3 if it fixes your issue.

I tried to install v8.3.0-rc.1, and now openai-whisper is installed. However, there appears to be a version mismatch for NumPy: « A NumPy version >=1.21.6 and <1.28.0 is required for this version of SciPy (detected version 2.5.2) »

Still, it seems to work if I don’t specify a local model. However, if I set the model_path to ‹ /var/www/peertube/storage/nb-whisper-small-beta ›, the model isn’t found.

If I use whisper-ctranslate2, the local model is picked up and included in the whisper-ctranslate2 command. (I do, however, get an error message that says ‹ /var/www/peertube/storage/tmp/transcription/rDzpEm5frU5FisPiMraVAH/24de8f8e-82b0-4d82-95b1-a19a4ea04093-1080-fragmented.json › can’t be found, but since I managed to get this to work in production before, maybe this is a temporary issue.)

Should model_path be specified differently for openai-whisper?

By the way: The model used is downloaded from NbAiLab/nb-whisper-small-beta · Hugging Face

OpenAI-whisper error:

{"type":"error","escapedCommand":"/var/www/peertube/storage/bin/pip/bin/whisper /var/www/peertube/storage/streaming-playlists/hls/7c0d0cf5-54a5-4382-ab4d-43d1571fa03b/a9db69fc-1749-4d49-aec9-9d9339ce944f-1080-fragmented.mp4 --word_timestamps True --model /var/www/peertube/storage/nb-whisper-small-beta --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/gDZ6Dqn82USSGAJTS5X4MX","commandId":"2","timestamp":"2026-09-01T11:26:52.254Z","piped":false,"result":{"stack":"ExecaError: Command failed with exit code 1: /var/www/peertube/storage/bin/pip/bin/whisper /var/www/peertube/storage/streaming-playlists/hls/7c0d0cf5-54a5-4382-ab4d-43d1571fa03b/a9db69fc-1749-4d49-aec9-9d9339ce944f-1080-fragmented.mp4 --word_timestamps True --model /var/www/peertube/storage/nb-whisper-small-beta --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/gDZ6Dqn82USSGAJTS5X4MX\n\n/usr/lib/python3/dist-packages/scipy/__init__.py:132: UserWarning: A NumPy version >=1.21.6 and <1.28.0 is required for this version of SciPy (detected version 2.5.2)\n  warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\nTraceback (most recent call last):\n  File \"/var/www/peertube/storage/bin/pip/bin/whisper\", line 8, in <module>\n    sys.exit(cli())\n             ^^^^^\n  File \"/var/www/peertube/storage/bin/pip/whisper/transcribe.py\", line 595, in cli\n    model = load_model(model_name, device=device, download_root=model_dir)\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/var/www/peertube/storage/bin/pip/whisper/__init__.py\", line 143, in load_model\n    raise RuntimeError(\nRuntimeError: Model /var/www/peertube/storage/nb-whisper-small-beta not found; available models = ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large-v1', 'large-v2', 'large-v3', 'large', 'large-v3-turbo', 'turbo']\n    at getFinalError (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/node_modules/.pnpm/execa@10.0.1/node_modules/execa/lib/return/final-error.js:6:9)\n    at makeError (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/node_modules/.pnpm/execa@10.0.1/node_modules/execa/lib/return/result.js:108:16)\n    at getAsyncResult (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/node_modules/.pnpm/execa@10.0.1/node_modules/execa/lib/methods/main-async.js:209:4)\n    at handlePromise (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/node_modules/.pnpm/execa@10.0.1/node_modules/execa/lib/methods/main-async.js:192:17)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async OpenaiTranscriber.transcribe (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/packages/transcription/dist/whisper/transcriber/openai-transcriber.js:14:9)\n    at async file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/dist/core/lib/video-captions.js:140:36\n    at async VideoPathManager.makeAvailableFactory (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/dist/core/lib/video-path-manager.js:158:22)\n    at async generateSubtitle (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/dist/core/lib/video-captions.js:137:9)\n    at async run (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/dist/core/lib/job-queue/handlers/video-transcription.js:10:9)\n    at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v8.3.0-rc.1/dist/core/lib/plugins/hooks.js:9:24)\n    at async /var/www/peertube/versions/peertube-v8.3.0-rc.1/node_modules/.pnpm/bullmq@6.0.11_ioredis@6.0.0_pg@8.23.0/node_modules/bullmq/dist/cjs/classes/worker.js:566:32","message":"Command failed with exit code 1: /var/www/peertube/storage/bin/pip/bin/whisper /var/www/peertube/storage/streaming-playlists/hls/7c0d0cf5-54a5-4382-ab4d-43d1571fa03b/a9db69fc-1749-4d49-aec9-9d9339ce944f-1080-fragmented.mp4 --word_timestamps True --model /var/www/peertube/storage/nb-whisper-small-beta --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/gDZ6Dqn82USSGAJTS5X4MX\n\n/usr/lib/python3/dist-packages/scipy/__init__.py:132: UserWarning: A NumPy version >=1.21.6 and <1.28.0 is required for this version of SciPy (detected version 2.5.2)\n  warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\nTraceback (most recent call last):\n  File \"/var/www/peertube/storage/bin/pip/bin/whisper\", line 8, in <module>\n    sys.exit(cli())\n             ^^^^^\n  File \"/var/www/peertube/storage/bin/pip/whisper/transcribe.py\", line 595, in cli\n    model = load_model(model_name, device=device, download_root=model_dir)\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/var/www/peertube/storage/bin/pip/whisper/__init__.py\", line 143, in load_model\n    raise RuntimeError(\nRuntimeError: Model /var/www/peertube/storage/nb-whisper-small-beta not found; available models = ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large-v1', 'large-v2', 'large-v3', 'large', 'large-v3-turbo', 'turbo']","shortMessage":"Command failed with exit code 1: /var/www/peertube/storage/bin/pip/bin/whisper /var/www/peertube/storage/streaming-playlists/hls/7c0d0cf5-54a5-4382-ab4d-43d1571fa03b/a9db69fc-1749-4d49-aec9-9d9339ce944f-1080-fragmented.mp4 --word_timestamps True --model /var/www/peertube/storage/nb-whisper-small-beta --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/gDZ6Dqn82USSGAJTS5X4MX","command":"/var/www/peertube/storage/bin/pip/bin/whisper /var/www/peertube/storage/streaming-playlists/hls/7c0d0cf5-54a5-4382-ab4d-43d1571fa03b/a9db69fc-1749-4d49-aec9-9d9339ce944f-1080-fragmented.mp4 --word_timestamps True --model /var/www/peertube/storage/nb-whisper-small-beta --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/gDZ6Dqn82USSGAJTS5X4MX","escapedCommand":"/var/www/peertube/storage/bin/pip/bin/whisper /var/www/peertube/storage/streaming-playlists/hls/7c0d0cf5-54a5-4382-ab4d-43d1571fa03b/a9db69fc-1749-4d49-aec9-9d9339ce944f-1080-fragmented.mp4 --word_timestamps True --model /var/www/peertube/storage/nb-whisper-small-beta --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/gDZ6Dqn82USSGAJTS5X4MX","cwd":"/var/www/peertube/versions/peertube-v8.3.0-rc.1","durationMs":3446.992749,"failed":true,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":1,"stdout":"","stderr":"/usr/lib/python3/dist-packages/scipy/__init__.py:132: UserWarning: A NumPy version >=1.21.6 and <1.28.0 is required for this version of SciPy (detected version 2.5.2)\n  warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\nTraceback (most recent call last):\n  File \"/var/www/peertube/storage/bin/pip/bin/whisper\", line 8, in <module>\n    sys.exit(cli())\n             ^^^^^\n  File \"/var/www/peertube/storage/bin/pip/whisper/transcribe.py\", line 595, in cli\n    model = load_model(model_name, device=device, download_root=model_dir)\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/var/www/peertube/storage/bin/pip/whisper/__init__.py\", line 143, in load_model\n    raise RuntimeError(\nRuntimeError: Model /var/www/peertube/storage/nb-whisper-small-beta not found; available models = ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large-v1', 'large-v2', 'large-v3', 'large', 'large-v3-turbo', 'turbo']","stdio":[null,"","/usr/lib/python3/dist-packages/scipy/__init__.py:132: UserWarning: A NumPy version >=1.21.6 and <1.28.0 is required for this version of SciPy (detected version 2.5.2)\n  warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\nTraceback (most recent call last):\n  File \"/var/www/peertube/storage/bin/pip/bin/whisper\", line 8, in <module>\n    sys.exit(cli())\n             ^^^^^\n  File \"/var/www/peertube/storage/bin/pip/whisper/transcribe.py\", line 595, in cli\n    model = load_model(model_name, device=device, download_root=model_dir)\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/var/www/peertube/storage/bin/pip/whisper/__init__.py\", line 143, in load_model\n    raise RuntimeError(\nRuntimeError: Model /var/www/peertube/storage/nb-whisper-small-beta not found; available models = ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large-v1', 'large-v2', 'large-v3', 'large', 'large-v3-turbo', 'turbo']"],"ipcOutput":[],"pipedFrom":[]},"options":{"stdin":"inherit","preferLocal":true,"cancelSignal":{},"env":{"PYTHONPATH":"/var/www/peertube/storage/bin/pip"}},"level":"error","message":"Command failed with exit code 1: /var/www/peertube/storage/bin/pip/bin/whisper /var/www/peertube/storage/streaming-playlists/hls/7c0d0cf5-54a5-4382-ab4d-43d1571fa03b/a9db69fc-1749-4d49-aec9-9d9339ce944f-1080-fragmented.mp4 --word_timestamps True --model /var/www/peertube/storage/nb-whisper-small-beta --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/gDZ6Dqn82USSGAJTS5X4MX","tags":["job-queue","video-transcription","57","transcription","7c0d0cf5-54a5-4382-ab4d-43d1571fa03b","caption"],"label":"localhost:9000"}