Can't get automatic transcription to work

I’m trying to do some testing of automatic transcription on my local machine (Ubuntu 24.04.4 LTS), but I can’t get it to work, neither with engine set to whisper-ctranslate2 or openai-whisper. Some help would be greatly appreciated.

When using whisper-ctranslate2, I first get an error message saying that libcublas.so.12 is missing. After I install libcublas12, i get « CUBLAS_STATUS_NOT_SUPPORTED ».

For openai-whisper, there seem to be some problem installing some dependency?

whisper-ctranslate2 before installation of libcublas12

Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "escapedCommand": "/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/kNM9XjoMY9kFUYvq2ZBhqB",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "cwd": "/var/www/peertube/versions/peertube-v8.2.1",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "durationMs": 5659.689378,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "failed": false,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "timedOut": false,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "isCanceled": false,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "isGracefullyCanceled": false,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "isTerminated": false,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "isMaxBuffer": false,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "isForcefullyTerminated": false,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "exitCode": 0,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "stdout": "Detecting language using up to the first 30 seconds. Use `--language` to specify the language\nTranscription results written to '/var/www/peertube/storage/tmp/transcription/kNM9XjoMY9kFUYvq2ZBhqB' directory",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "stderr": "Error: unable to process file: /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 with exception 'Library libcublas.so.12 is not found or cannot be loaded'",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "stdio": [
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       null,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       "Detecting language using up to the first 30 seconds. Use `--language` to specify the language\nTranscription results written to '/var/www/peertube/storage/tmp/transcription/kNM9XjoMY9kFUYvq2ZBhqB' directory",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       "Error: unable to process file: /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 with exception 'Library libcublas.so.12 is not found or cannot be loaded'"
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     ],
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "ipcOutput": [],
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "pipedFrom": []
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:   },
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:   "options": {
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "stdin": "inherit",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "preferLocal": true,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "env": {
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       "PYTHONPATH": "/var/www/peertube/storage/bin/pip"
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     }
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:   }
Jul 01 09:11:37 BW6P6F4RA peertube[70506]: }
Jul 01 09:11:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:37.132 debug: Executed SQL request - Executing (default): UPDATE
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       "videoJobInfo"
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     SET
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       "pendingTranscription" = GREATEST("videoJobInfo"."pendingTranscription" - 1, 0),
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       "updatedAt" = NOW()
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     FROM "video"
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     WHERE
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       "video"."id" = "videoJobInfo"."videoId" AND "video"."uuid" = $1
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     RETURNING
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:       "pendingTranscription";
Jul 01 09:11:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:37.134 error: Cannot execute job 14 in queue video-transcription. {
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:   "payload": {
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "videoUUID": "af2940a8-66e6-448a-b15a-4ed239b40c29"
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:   },
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:   "err": {
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "stack": "Error: ENOENT: no such file or directory, open '/var/www/peertube/storage/tmp/transcription/kNM9XjoMY9kFUYvq2ZBhqB/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.json'",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "message": "ENOENT: no such file or directory, open '/var/www/peertube/storage/tmp/transcription/kNM9XjoMY9kFUYvq2ZBhqB/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.json'",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "errno": -2,
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "code": "ENOENT",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "syscall": "open",
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:     "path": "/var/www/peertube/storage/tmp/transcription/kNM9XjoMY9kFUYvq2ZBhqB/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.json"
Jul 01 09:11:37 BW6P6F4RA peertube[70506]:   }
Jul 01 09:11:37 BW6P6F4RA peertube[70506]: }
Jul 01 09:11:53 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:53.128 debug: Running update videos scheduler
Jul 01 09:11:53 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:53.132 debug: Running update token session scheduler
Jul 01 09:11:53 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:53.138 debug: Executed SQL request - Executing (default): UPDATE "oAuthToken" SET "lastActivityDate"=$1,"lastActivityIP"=$2,"lastActivityDevice"=$3,"updatedAt"=$4 WHERE "id" = $5
Jul 01 09:11:53 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:53.186 debug: Executed SQL request - Executing (default): SELECT "id", "uuid", "type", "payload", "privatePayload", "state", "failures", "error", "priority", "processingJobToken", "progress", "startedAt", "finishedAt", "dependsOnRunnerJobId", "runnerId", "createdAt", "updatedAt" FROM "runnerJob" AS "RunnerJobModel" WHERE "RunnerJobModel"."type" IN ('vod-audio-merge-transcoding', 'vod-hls-transcoding', 'vod-web-video-transcoding') AND "RunnerJobModel"."state" = 2 AND "RunnerJobModel"."updatedAt" < '2026-07-01 07:09:53.185 +00:00';
Jul 01 09:11:53 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:53.188 debug: Executed SQL request - Executing (default): SELECT "id", "uuid", "type", "payload", "privatePayload", "state", "failures", "error", "priority", "processingJobToken", "progress", "startedAt", "finishedAt", "dependsOnRunnerJobId", "runnerId", "createdAt", "updatedAt" FROM "runnerJob" AS "RunnerJobModel" WHERE "RunnerJobModel"."type" IN ('live-rtmp-hls-transcoding') AND "RunnerJobModel"."state" = 2 AND "RunnerJobModel"."updatedAt" < '2026-07-01 07:11:23.187 +00:00';
Jul 01 09:11:53 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:53.188 debug: Executed SQL request - Executing (default): SELECT "id", "uuid", "type", "payload", "privatePayload", "state", "failures", "error", "priority", "processingJobToken", "progress", "startedAt", "finishedAt", "dependsOnRunnerJobId", "runnerId", "createdAt", "updatedAt" FROM "runnerJob" AS "RunnerJobModel" WHERE "RunnerJobModel"."type" IN ('video-transcription') AND "RunnerJobModel"."state" = 2 AND "RunnerJobModel"."updatedAt" < '2026-07-01 07:09:53.188 +00:00';
Jul 01 09:11:53 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:11:53.189 debug: Executed SQL request - Executing (default): SELECT "id", "uuid", "type", "payload", "privatePayload", "state", "failures", "error", "priority", "processingJobToken", "progress", "startedAt", "finishedAt", "dependsOnRunnerJobId", "runnerId", "createdAt", "updatedAt" FROM "runnerJob" AS "RunnerJobModel" WHERE "RunnerJobModel"."type" IN ('video-studio-transcoding') AND "RunnerJobModel"."state" = 2 AND "RunnerJobModel"."updatedAt" < '2026-07-01 07:09:53.189 +00:00';
Jul 01 09:12:23 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:23.249 debug: Executed SQL request - Executing (default): SELECT "id", "uuid", "type", "payload", "privatePayload", "state", "failures", "error", "priority", "processingJobToken", "progress", "startedAt", "finishedAt", "dependsOnRunnerJobId", "runnerId", "createdAt", "updatedAt" FROM "runnerJob" AS "RunnerJobModel" WHERE "RunnerJobModel"."type" IN ('vod-audio-merge-transcoding', 'vod-hls-transcoding', 'vod-web-video-transcoding') AND "RunnerJobModel"."state" = 2 AND "RunnerJobModel"."updatedAt" < '2026-07-01 07:10:23.186 +00:00';
Jul 01 09:12:23 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:23.263 debug: Executed SQL request - Executing (default): SELECT "id", "uuid", "type", "payload", "privatePayload", "state", "failures", "error", "priority", "processingJobToken", "progress", "startedAt", "finishedAt", "dependsOnRunnerJobId", "runnerId", "createdAt", "updatedAt" FROM "runnerJob" AS "RunnerJobModel" WHERE "RunnerJobModel"."type" IN ('live-rtmp-hls-transcoding') AND "RunnerJobModel"."state" = 2 AND "RunnerJobModel"."updatedAt" < '2026-07-01 07:11:53.262 +00:00';
Jul 01 09:12:23 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:23.264 debug: Executed SQL request - Executing (default): SELECT "id", "uuid", "type", "payload", "privatePayload", "state", "failures", "error", "priority", "processingJobToken", "progress", "startedAt", "finishedAt", "dependsOnRunnerJobId", "runnerId", "createdAt", "updatedAt" FROM "runnerJob" AS "RunnerJobModel" WHERE "RunnerJobModel"."type" IN ('video-transcription') AND "RunnerJobModel"."state" = 2 AND "RunnerJobModel"."updatedAt" < '2026-07-01 07:10:23.263 +00:00';
Jul 01 09:12:23 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:23.265 debug: Executed SQL request - Executing (default): SELECT "id", "uuid", "type", "payload", "privatePayload", "state", "failures", "error", "priority", "processingJobToken", "progress", "startedAt", "finishedAt", "dependsOnRunnerJobId", "runnerId", "createdAt", "updatedAt" FROM "runnerJob" AS "RunnerJobModel" WHERE "RunnerJobModel"."type" IN ('video-studio-transcoding') AND "RunnerJobModel"."state" = 2 AND "RunnerJobModel"."updatedAt" < '2026-07-01 07:10:23.265 +00:00';
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:37.179 info: Processing video transcription in job 14.
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:37.195 debug: Executed SQL request - Executing (default): SELECT "video".* FROM (SELECT * FROM "video" WHERE uuid = 'af2940a8-66e6-448a-b15a-4ed239b40c29' LIMIT 1) AS "video"
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:37.216 debug: Locked files of af2940a8-66e6-448a-b15a-4ed239b40c29.
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:37.219 debug: Executed SQL request - Executing (default): SELECT "video".*, "ThumbnailsJSON"."thumbnails" AS "ThumbnailsJSON", "VideoBlacklist"."id" AS "VideoBlacklist.id", "VideoBlacklist"."reason" AS "VideoBlacklist.reason", "VideoBlacklist"."unfederated" AS "VideoBlacklist.unfederated", "VideoChannel"."id" AS "VideoChannel.id", "VideoChannel"."name" AS "VideoChannel.name", "VideoChannel"."description" AS "VideoChannel.description", "VideoChannel"."accountId" AS "VideoChannel.accountId", "VideoChannel"."support" AS "VideoChannel.support", "VideoChannel"."createdAt" AS "VideoChannel.createdAt", "VideoChannel"."updatedAt" AS "VideoChannel.updatedAt", "VideoChannel->Actor"."id" AS "VideoChannel.Actor.id", "VideoChannel->Actor"."preferredUsername" AS "VideoChannel.Actor.preferredUsername", "VideoChannel->Actor"."url" AS "VideoChannel.Actor.url", "VideoChannel->Actor"."serverId" AS "VideoChannel.Actor.serverId", "VideoChannel->Actor"."accountId" AS "VideoChannel.Actor.accountId", "VideoChannel->Actor"."videoChannelId" AS "VideoChannel.Actor.videoChannelId", "VideoChannel->Actor"."type" AS "VideoChannel.Actor.type", "VideoChannel->Actor"."followersCount" AS "VideoChannel.Actor.followersCount", "VideoChannel->Actor"."followingCount" AS "VideoChannel.Actor.followingCount", "VideoChannel->Actor"."inboxUrl" AS "VideoChannel.Actor.inboxUrl", "VideoChannel->Actor"."outboxUrl" AS "VideoChannel.Actor.outboxUrl", "VideoChannel->Actor"."sharedInboxUrl" AS "VideoChannel.Actor.sharedInboxUrl", "VideoChannel->Actor"."followersUrl" AS "VideoChannel.Actor.followersUrl", "VideoChannel->Actor"."followingUrl" AS "VideoChannel.Actor.followingUrl", "VideoChannel->Actor"."remoteCreatedAt" AS "VideoChannel.Actor.remoteCreatedAt", "VideoChannel->Actor"."createdAt" AS "VideoChannel.Actor.createdAt", "VideoChannel->Actor"."updatedAt" AS "VideoChannel.Actor.updatedAt", "VideoChannel->Actor->AvatarsJSON"."Avatars" AS "VideoChannel.Actor.AvatarsJSON", "VideoChannel->Actor->Server"."id" AS "VideoChannel.Actor.Server.id", "VideoChannel->Actor->Server"."host" AS "VideoChannel.Actor.Server.host", "VideoChannel->Account"."id" AS "VideoChannel.Account.id", "VideoChannel->Account"."name" AS "VideoChannel.Account.name", "VideoChannel->Account"."description" AS "VideoChannel.Account.description", "VideoChannel->Account"."userId" AS "VideoChannel.Account.userId", "VideoChannel->Account"."createdAt" AS "VideoChannel.Account.createdAt", "VideoChannel->Account"."updatedAt" AS "VideoChannel.Account.updatedAt", "VideoChannel->Account->Actor"."id" AS "VideoChannel.Account.Actor.id", "VideoChannel->Account->Actor"."preferredUsername" AS "VideoChannel.Account.Actor.preferredUsername", "VideoChannel->Account->Actor"."url" AS "VideoChannel.Account.Actor.url", "VideoChannel->Account->Actor"."serverId" AS "VideoChannel.Account.Actor.serverId", "VideoChannel->Account->Actor"."accountId" AS "VideoChannel.Account.Actor.accountId", "VideoChannel->Account->Actor"."videoChannelId" AS "VideoChannel.Account.Actor.videoChannelId", "VideoChannel->Account->Actor"."type" AS "VideoChannel.Account.Actor.type", "VideoChannel->Account->Actor"."followersCount" AS "VideoChannel.Account.Actor.followersCount", "VideoChannel->Account->Actor"."followingCount" AS "VideoChannel.Account.Actor.followingCount", "VideoChannel->Account->Actor"."inboxUrl" AS "VideoChannel.Account.Actor.inboxUrl", "VideoChannel->Account->Actor"."outboxUrl" AS "VideoChannel.Account.Actor.outboxUrl", "VideoChannel->Account->Actor"."sharedInboxUrl" AS "VideoChannel.Account.Actor.sharedInboxUrl", "VideoChannel->Account->Actor"."followersUrl" AS "VideoChannel.Account.Actor.followersUrl", "VideoChannel->Account->Actor"."followingUrl" AS "VideoChannel.Account.Actor.followingUrl", "VideoChannel->Account->Actor"."remoteCreatedAt" AS "VideoChannel.Account.Actor.remoteCreatedAt", "VideoChannel->Account->Actor"."createdAt" AS "VideoChannel.Account.Actor.createdAt", "VideoChannel->Account->Actor"."updatedAt" AS "VideoChannel.Account.Actor.updatedAt", "VideoChannel->Account->Actor->AvatarsJSON"."Avatars" AS "VideoChannel.Account.Actor.AvatarsJSON", "VideoChannel->Account->Actor->Server"."id" AS "VideoChannel.Account.Actor.Server.id", "VideoChannel->Account->Actor->Server"."host" AS "VideoChannel.Account.Actor.Server.host", "Tags"."id" AS "Tags.id", "Tags"."name" AS "Tags.name", "Tags->VideoTagModel"."videoId" AS "Tags.VideoTagModel.videoId", "Tags->VideoTagModel"."tagId" AS "Tags.VideoTagModel.tagId", "Tags->VideoTagModel"."createdAt" AS "Tags.VideoTagModel.createdAt", "Tags->VideoTagModel"."updatedAt" AS "Tags.VideoTagModel.updatedAt", "ScheduleVideoUpdate"."id" AS "ScheduleVideoUpdate.id", "ScheduleVideoUpdate"."updateAt" AS "ScheduleVideoUpdate.updateAt", "ScheduleVideoUpdate"."privacy" AS "ScheduleVideoUpdate.privacy", "ScheduleVideoUpdate"."videoId" AS "ScheduleVideoUpdate.videoId", "ScheduleVideoUpdate"."createdAt" AS "ScheduleVideoUpdate.createdAt", "ScheduleVideoUpdate"."updatedAt" AS "ScheduleVideoUpdate.updatedAt", "VideoLive"."id" AS "VideoLive.id", "VideoLive"."streamKey" AS "VideoLive.streamKey", "VideoLive"."saveReplay" AS "VideoLive.saveReplay", "VideoLive"."permanentLive" AS "VideoLive.permanentLive", "VideoLive"."dvrWindow" AS "VideoLive.dvrWindow", "VideoLive"."latencyMode" AS "VideoLive.latencyMode", "VideoLive"."videoId" AS "VideoLive.videoId", "VideoLive"."replaySettingId" AS "VideoLive.replaySettingId", "VideoLive"."createdAt" AS "VideoLive.createdAt", "VideoLive"."updatedAt" AS "VideoLive.updatedAt", "VideoLive->VideoLiveSchedules"."id" AS "VideoLive.VideoLiveSchedules.id", "VideoLive->VideoLiveSchedules"."startAt" AS "VideoLive.VideoLiveSchedules.startAt", "VideoLive->VideoLiveSchedules"."createdAt" AS "VideoLive.VideoLiveSchedules.createdAt", "VideoLive->VideoLiveSchedules"."updatedAt" AS "VideoLive.VideoLiveSchedules.updatedAt" FROM (SELECT * FROM "video" WHERE uuid = 'af2940a8-66e6-448a-b15a-4ed239b40c29' LIMIT 1) AS "video"   LEFT JOIN LATERAL (  SELECT json_agg(    jsonb_build_object(      'id', "id", 'filename', "filename", 'fileUrl', "fileUrl", 'width', "width", 'height', "height", 'aspectRatio', "aspectRatio", 'cached', "cached", 'automaticallyGenerated', "automaticallyGenerated", 'videoId', "videoId", 'videoPlaylistId', "videoPlaylistId", 'createdAt', "createdAt", 'updatedAt', "updatedAt"    )  ) AS "thumbnails" FROM "thumbnail" WHERE "videoId" = "video"."id") AS "ThumbnailsJSON" ON TRUE LEFT OUTER JOIN "videoBlacklist" AS "VideoBlacklist" ON "video"."id" = "VideoBlacklist"."videoId" INNER JOIN "videoChannel" AS "VideoChannel" ON "video"."channelId" = "VideoChannel"."id" INNER JOIN "actor" AS "VideoChannel->Actor" ON "VideoChannel"."id" = "VideoChannel->Actor"."videoChannelId" LEFT OUTER JOIN "server" AS "VideoChannel->Actor->Server" ON "VideoChannel->Actor"."serverId" = "VideoChannel->Actor->Server"."id" LEFT JOIN LATERAL (SELECT json_agg(  jsonb_build_object(    'id', "id", 'width', "width", 'filename', "filename", 'type', "type", 'fileUrl', "fileUrl", 'cached', "cached", 'createdAt', "createdAt", 'updatedAt', "updatedAt", 'height', "height", 'width', "width", 'type', "type"  )) AS "Avatars" FROM "actorImage" WHERE "actorId" = "VideoChannel->Actor"."id" AND "type" = 1) AS "VideoChannel->Actor->AvatarsJSON" ON TRUE INNER JOIN "account" AS "VideoChannel->Account" ON "VideoChannel"."accountId" = "VideoChannel->Account"."id" INNER JOIN "actor" AS "VideoChannel->Account->Actor" ON "VideoChannel->Account"."id" = "VideoChannel->Account->Actor"."accountId" LEFT OUTER JOIN "server" AS "VideoChannel->Account->Actor->Server" ON "VideoChannel->Account->Actor"."serverId" = "VideoChannel->Account->Actor->Server"."id" LEFT JOIN LATERAL (SELECT json_agg(  jsonb_build_object(    'id', "id", 'width', "width", 'filename', "filename", 'type', "type", 'fileUrl', "fileUrl", 'cached', "cached", 'createdAt', "createdAt", 'updatedAt', "updatedAt", 'height', "height", 'width', "width", 'type', "type"  )) AS "Avatars" FROM "actorImage" WHERE "actorId" = "VideoChannel->Account->Actor"."id" AND "type" = 1) AS "VideoChannel->Account->Actor->AvatarsJSON" ON TRUE LEFT OUTER JOIN ("videoTag" AS "Tags->VideoTagModel" INNER JOIN "tag" AS "Tags" ON "Tags"."id" = "Tags->VideoTagModel"."tagId") ON "video"."id" = "Tags->VideoTagModel"."videoId" LEFT OUTER JOIN "scheduleVideoUpdate" AS "ScheduleVideoUpdate" ON "video"."id" = "ScheduleVideoUpdate"."videoId" LEFT OUTER JOIN "videoLive" AS "VideoLive" ON "video"."id" = "VideoLive"."videoId" LEFT OUTER JOIN "videoLiveSchedule" AS "VideoLive->VideoLiveSchedules" ON "VideoLive->VideoLiveSchedules"."liveVideoId" = "VideoLive"."id"  ORDER BY "Tags"."name" ASC
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:37.234 debug: Executed SQL request - Executing (default): SELECT "video"."id", "VideoFiles"."id" AS "VideoFiles.id", "VideoFiles"."createdAt" AS "VideoFiles.createdAt", "VideoFiles"."updatedAt" AS "VideoFiles.updatedAt", "VideoFiles"."resolution" AS "VideoFiles.resolution", "VideoFiles"."size" AS "VideoFiles.size", "VideoFiles"."extname" AS "VideoFiles.extname", "VideoFiles"."filename" AS "VideoFiles.filename", "VideoFiles"."fileUrl" AS "VideoFiles.fileUrl", "VideoFiles"."torrentFilename" AS "VideoFiles.torrentFilename", "VideoFiles"."torrentUrl" AS "VideoFiles.torrentUrl", "VideoFiles"."infoHash" AS "VideoFiles.infoHash", "VideoFiles"."fps" AS "VideoFiles.fps", "VideoFiles"."metadataUrl" AS "VideoFiles.metadataUrl", "VideoFiles"."videoStreamingPlaylistId" AS "VideoFiles.videoStreamingPlaylistId", "VideoFiles"."videoId" AS "VideoFiles.videoId", "VideoFiles"."width" AS "VideoFiles.width", "VideoFiles"."height" AS "VideoFiles.height", "VideoFiles"."formatFlags" AS "VideoFiles.formatFlags", "VideoFiles"."streams" AS "VideoFiles.streams", "VideoFiles"."storage" AS "VideoFiles.storage" FROM "video" LEFT JOIN "videoFile" AS "VideoFiles" ON "VideoFiles"."videoId" = "video"."id"  WHERE uuid = 'af2940a8-66e6-448a-b15a-4ed239b40c29'
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:37.235 debug: Executed SQL request - Executing (default): SELECT "video"."id", "VideoStreamingPlaylists"."id" AS "VideoStreamingPlaylists.id", "VideoStreamingPlaylists"."playlistUrl" AS "VideoStreamingPlaylists.playlistUrl", "VideoStreamingPlaylists"."playlistFilename" AS "VideoStreamingPlaylists.playlistFilename", "VideoStreamingPlaylists"."type" AS "VideoStreamingPlaylists.type", "VideoStreamingPlaylists"."p2pMediaLoaderInfohashes" AS "VideoStreamingPlaylists.p2pMediaLoaderInfohashes", "VideoStreamingPlaylists"."p2pMediaLoaderPeerVersion" AS "VideoStreamingPlaylists.p2pMediaLoaderPeerVersion", "VideoStreamingPlaylists"."segmentsSha256Filename" AS "VideoStreamingPlaylists.segmentsSha256Filename", "VideoStreamingPlaylists"."segmentsSha256Url" AS "VideoStreamingPlaylists.segmentsSha256Url", "VideoStreamingPlaylists"."videoId" AS "VideoStreamingPlaylists.videoId", "VideoStreamingPlaylists"."createdAt" AS "VideoStreamingPlaylists.createdAt", "VideoStreamingPlaylists"."updatedAt" AS "VideoStreamingPlaylists.updatedAt", "VideoStreamingPlaylists"."storage" AS "VideoStreamingPlaylists.storage", "VideoStreamingPlaylists->VideoFiles"."id" AS "VideoStreamingPlaylists.VideoFiles.id", "VideoStreamingPlaylists->VideoFiles"."createdAt" AS "VideoStreamingPlaylists.VideoFiles.createdAt", "VideoStreamingPlaylists->VideoFiles"."updatedAt" AS "VideoStreamingPlaylists.VideoFiles.updatedAt", "VideoStreamingPlaylists->VideoFiles"."resolution" AS "VideoStreamingPlaylists.VideoFiles.resolution", "VideoStreamingPlaylists->VideoFiles"."size" AS "VideoStreamingPlaylists.VideoFiles.size", "VideoStreamingPlaylists->VideoFiles"."extname" AS "VideoStreamingPlaylists.VideoFiles.extname", "VideoStreamingPlaylists->VideoFiles"."filename" AS "VideoStreamingPlaylists.VideoFiles.filename", "VideoStreamingPlaylists->VideoFiles"."fileUrl" AS "VideoStreamingPlaylists.VideoFiles.fileUrl", "VideoStreamingPlaylists->VideoFiles"."torrentFilename" AS "VideoStreamingPlaylists.VideoFiles.torrentFilename", "VideoStreamingPlaylists->VideoFiles"."torrentUrl" AS "VideoStreamingPlaylists.VideoFiles.torrentUrl", "VideoStreamingPlaylists->VideoFiles"."infoHash" AS "VideoStreamingPlaylists.VideoFiles.infoHash", "VideoStreamingPlaylists->VideoFiles"."fps" AS "VideoStreamingPlaylists.VideoFiles.fps", "VideoStreamingPlaylists->VideoFiles"."metadataUrl" AS "VideoStreamingPlaylists.VideoFiles.metadataUrl", "VideoStreamingPlaylists->VideoFiles"."videoStreamingPlaylistId" AS "VideoStreamingPlaylists.VideoFiles.videoStreamingPlaylistId", "VideoStreamingPlaylists->VideoFiles"."videoId" AS "VideoStreamingPlaylists.VideoFiles.videoId", "VideoStreamingPlaylists->VideoFiles"."width" AS "VideoStreamingPlaylists.VideoFiles.width", "VideoStreamingPlaylists->VideoFiles"."height" AS "VideoStreamingPlaylists.VideoFiles.height", "VideoStreamingPlaylists->VideoFiles"."formatFlags" AS "VideoStreamingPlaylists.VideoFiles.formatFlags", "VideoStreamingPlaylists->VideoFiles"."streams" AS "VideoStreamingPlaylists.VideoFiles.streams", "VideoStreamingPlaylists->VideoFiles"."storage" AS "VideoStreamingPlaylists.VideoFiles.storage" FROM "video" LEFT JOIN "videoStreamingPlaylist" AS "VideoStreamingPlaylists" ON "VideoStreamingPlaylists"."videoId" = "video"."id" LEFT JOIN "videoFile" AS "VideoStreamingPlaylists->VideoFiles" ON "VideoStreamingPlaylists->VideoFiles"."videoStreamingPlaylistId" = "VideoStreamingPlaylists"."id"  WHERE uuid = 'af2940a8-66e6-448a-b15a-4ed239b40c29'
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:37.243 info: Running transcription for af2940a8-66e6-448a-b15a-4ed239b40c29 in /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:37.245 debug: /var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t {
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:   "type": "command",
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:   "escapedCommand": "/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t",
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:   "commandId": "4",
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:   "piped": false,
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:   "options": {
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:     "stdin": "inherit",
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:     "preferLocal": true,
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:     "env": {
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:       "PYTHONPATH": "/var/www/peertube/storage/bin/pip"
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:     }
Jul 01 09:12:37 BW6P6F4RA peertube[70506]:   }
Jul 01 09:12:37 BW6P6F4RA peertube[70506]: }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:42.425 debug: Error: unable to process file: /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 with exception 'Library libcublas.so.12 is not found or cannot be loaded' {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "type": "output",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "escapedCommand": "/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "commandId": "4",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "piped": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "options": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "stdin": "inherit",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "preferLocal": true,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "env": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "PYTHONPATH": "/var/www/peertube/storage/bin/pip"
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:42.457 debug: Detecting language using up to the first 30 seconds. Use `--language` to specify the language {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "type": "output",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "escapedCommand": "/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "commandId": "4",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "piped": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "options": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "stdin": "inherit",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "preferLocal": true,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "env": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "PYTHONPATH": "/var/www/peertube/storage/bin/pip"
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:42.457 debug: Transcription results written to '/var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t' directory {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "type": "output",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "escapedCommand": "/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "commandId": "4",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "piped": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "options": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "stdin": "inherit",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "preferLocal": true,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "env": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "PYTHONPATH": "/var/www/peertube/storage/bin/pip"
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:42.604 debug: (done in 5.3s) {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "type": "duration",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "escapedCommand": "/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "commandId": "4",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "piped": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "result": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "command": "/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "escapedCommand": "/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "cwd": "/var/www/peertube/versions/peertube-v8.2.1",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "durationMs": 5359.136881,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "failed": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "timedOut": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "isCanceled": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "isGracefullyCanceled": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "isTerminated": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "isMaxBuffer": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "isForcefullyTerminated": false,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "exitCode": 0,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "stdout": "Detecting language using up to the first 30 seconds. Use `--language` to specify the language\nTranscription results written to '/var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t' directory",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "stderr": "Error: unable to process file: /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 with exception 'Library libcublas.so.12 is not found or cannot be loaded'",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "stdio": [
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       null,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "Detecting language using up to the first 30 seconds. Use `--language` to specify the language\nTranscription results written to '/var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t' directory",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "Error: unable to process file: /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 with exception 'Library libcublas.so.12 is not found or cannot be loaded'"
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     ],
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "ipcOutput": [],
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "pipedFrom": []
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   },
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "options": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "stdin": "inherit",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "preferLocal": true,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "env": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "PYTHONPATH": "/var/www/peertube/storage/bin/pip"
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: }
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:42.605 debug: Executed SQL request - Executing (default): UPDATE
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "videoJobInfo"
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     SET
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "pendingTranscription" = GREATEST("videoJobInfo"."pendingTranscription" - 1, 0),
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "updatedAt" = NOW()
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     FROM "video"
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     WHERE
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "video"."id" = "videoJobInfo"."videoId" AND "video"."uuid" = $1
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     RETURNING
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:       "pendingTranscription";
Jul 01 09:12:42 BW6P6F4RA peertube[70506]: [localhost:9000] 2026-07-01 09:12:42.607 error: Cannot execute job 14 in queue video-transcription. {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "payload": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "videoUUID": "af2940a8-66e6-448a-b15a-4ed239b40c29"
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   },
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:   "err": {
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "stack": "Error: ENOENT: no such file or directory, open '/var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.json'",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "message": "ENOENT: no such file or directory, open '/var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.json'",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "errno": -2,
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "code": "ENOENT",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "syscall": "open",
Jul 01 09:12:42 BW6P6F4RA peertube[70506]:     "path": "/var/www/peertube/storage/tmp/transcription/oQJxK7xrSBajMEvdRACz9t/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.json"

After installing: libcublas12

{"type":"duration","escapedCommand":"/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/ggcX7d17yYuCskFNumu6NK","commandId":"1","timestamp":"2026-07-01T11:48:59.169Z","piped":false,"result":{"command":"/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/ggcX7d17yYuCskFNumu6NK","escapedCommand":"/var/www/peertube/storage/bin/pip/bin/whisper-ctranslate2 /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 --model small --word_timestamps True --vad_filter true --vad_min_silence_duration_ms 5000 --output_format all --output_dir /var/www/peertube/storage/tmp/transcription/ggcX7d17yYuCskFNumu6NK","cwd":"/var/www/peertube/versions/peertube-v8.2.1","durationMs":3158.161475,"failed":false,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":0,"stdout":"Detecting language using up to the first 30 seconds. Use `--language` to specify the language\nTranscription results written to '/var/www/peertube/storage/tmp/transcription/ggcX7d17yYuCskFNumu6NK' directory","stderr":"Error: unable to process file: /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 with exception 'cuBLAS failed with status CUBLAS_STATUS_NOT_SUPPORTED'","stdio":[null,"Detecting language using up to the first 30 seconds. Use `--language` to specify the language\nTranscription results written to '/var/www/peertube/storage/tmp/transcription/ggcX7d17yYuCskFNumu6NK' directory","Error: unable to process file: /var/www/peertube/storage/streaming-playlists/hls/af2940a8-66e6-448a-b15a-4ed239b40c29/3ea031d5-f39f-4c9c-b63b-fcfcc96c92a7-1080-fragmented.mp4 with exception 'cuBLAS failed with status CUBLAS_STATUS_NOT_SUPPORTED'"],"ipcOutput":[],"pipedFrom":[]},"options":{"stdin":"inherit","preferLocal":true,"env":{"PYTHONPATH":"/var/www/peertube/storage/bin/pip"}},"level":"debug","message":"(done in 3.1s)","label":"localhost:9000"}

Openai-whisper

{"tags":["video-caption"],"level":"info","message":"Installing transcriber openai-whisper to generate subtitles","label":"localhost:9000","timestamp":"2026-07-01T12:40:01.252Z"}
{"type":"command","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:01.253Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:01.948Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"Collecting openai-whisper==20231117","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:02.052Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Downloading openai-whisper-20231117.tar.gz (798 kB)","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:02.119Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:02.142Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Installing build dependencies: started","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.480Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Installing build dependencies: finished with status 'done'","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.481Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Getting requirements to build wheel: started","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.569Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  Getting requirements to build wheel: finished with status 'error'","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.571Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  error: subprocess-exited-with-error","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.571Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  ","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.571Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  × Getting requirements to build wheel did not run successfully.","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.571Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  │ exit code: 1","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.571Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  ╰─> [20 lines of output]","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.571Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"      Traceback (most recent call last):","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.571Z","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":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          main()","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","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":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          json_out['return_val'] = hook(**hook_input['kwargs'])","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","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":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          return hook(config_settings)","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"                 ^^^^^^^^^^^^^^^^^^^^^","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/tmp/pip-build-env-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          return self._get_build_requires(config_settings, requirements=[])","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/tmp/pip-build-env-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 301, in _get_build_requires","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          self.run_setup()","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/tmp/pip-build-env-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 520, in run_setup","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          super().run_setup(setup_script=setup_script)","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"/tmp/pip-build-env-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"          exec(code, locals())","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"        File \"<string>\", line 5, in <module>","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"      ModuleNotFoundError: No module named 'pkg_resources'","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"      [end of output]","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"  ","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","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":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"error: subprocess-exited-with-error","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"× Getting requirements to build wheel did not run successfully.","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"│ exit code: 1","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"╰─> See above for output.","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","piped":false,"options":{"stdin":"inherit","preferLocal":true},"level":"debug","message":"","label":"localhost:9000"}
{"type":"output","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.572Z","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":"localhost:9000"}
{"type":"error","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.626Z","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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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.1/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.1/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.1/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.1/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:104:5)\n    at async OpenaiTranscriber.install (file:///var/www/peertube/versions/peertube-v8.2.1/packages/transcription/dist/whisper/transcriber/openai-transcriber.js:45:9)\n    at async generateSubtitle (file:///var/www/peertube/versions/peertube-v8.2.1/dist/core/lib/video-captions.js:117:17)\n    at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v8.2.1/dist/core/lib/plugins/hooks.js:8:24)\n    at async /var/www/peertube/versions/peertube-v8.2.1/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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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.1","durationMs":2373.49451,"failed":true,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":1,"stdout":"Collecting openai-whisper==20231117\n  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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":"localhost:9000"}
{"type":"duration","escapedCommand":"pip3 install -U -t /var/www/peertube/storage/bin/pip 'openai-whisper==20231117'","commandId":"0","timestamp":"2026-07-01T12:40:03.627Z","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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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.1/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.1/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.1/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.1/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:104:5)\n    at async OpenaiTranscriber.install (file:///var/www/peertube/versions/peertube-v8.2.1/packages/transcription/dist/whisper/transcriber/openai-transcriber.js:45:9)\n    at async generateSubtitle (file:///var/www/peertube/versions/peertube-v8.2.1/dist/core/lib/video-captions.js:117:17)\n    at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v8.2.1/dist/core/lib/plugins/hooks.js:8:24)\n    at async /var/www/peertube/versions/peertube-v8.2.1/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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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.1","durationMs":2373.49451,"failed":true,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":1,"stdout":"Collecting openai-whisper==20231117\n  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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.3s)","label":"localhost:9000"}
{"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":"localhost:9000","timestamp":"2026-07-01T12:40:03.629Z"}
{"level":"error","message":"Cannot execute job 26 in queue video-transcription.","label":"localhost:9000","payload":{"videoUUID":"af2940a8-66e6-448a-b15a-4ed239b40c29"},"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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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.1/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.1/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.1/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.1/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:104:5)\n    at async OpenaiTranscriber.install (file:///var/www/peertube/versions/peertube-v8.2.1/packages/transcription/dist/whisper/transcriber/openai-transcriber.js:45:9)\n    at async generateSubtitle (file:///var/www/peertube/versions/peertube-v8.2.1/dist/core/lib/video-captions.js:117:17)\n    at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v8.2.1/dist/core/lib/plugins/hooks.js:8:24)\n    at async /var/www/peertube/versions/peertube-v8.2.1/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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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.1","durationMs":2373.49451,"failed":true,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":1,"stdout":"Collecting openai-whisper==20231117\n  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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  Downloading openai-whisper-20231117.tar.gz (798 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.6/798.6 kB 12.4 MB/s eta 0:00:00\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  ╰─> [20 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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/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-f0eyyn7g/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py\", line 317, in run_setup\n          exec(code, locals())\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-07-01T12:40:03.631Z"}