Mettre à jour une vidéo : impossible de regénérer les fichiers

J’ai mis à jour une vidéo déjà en ligne avec :

sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run create-import-video-file-job -- -v e34029cf-8198-499e-8b18-80b527f2f9a5 -i lanouvellevideo.mp4

J’ai supprimé tous les fichiers associés à la vidéo et j’essaie de les régénerer avec :

sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run create-transcoding-job -- -v e34029cf-8198-499e-8b18-80b527f2f9a5

Mais je vois dans les logs que les nouveaux fichiers ne sont pas générés avec une erreur la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps.

info[20/11/2020 à 12:08:50] Processing video file import in job 16.

info[20/11/2020 à 12:08:51] Creating torrent /var/www/peertube/storage/torrents/e34029cf-8198-499e-8b18-80b527f2f9a5-1080.torrent.

info[20/11/2020 à 12:08:51] Creating job to update video https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5.

info[20/11/2020 à 12:08:51] Processing ActivityPub broadcast in job 2361.

info[20/11/2020 à 12:08:51] Updating 4 good actor follows and 0 bad actor follows scores in cache.

info[20/11/2020 à 12:08:55] 89.159.0.0 - - [20/Nov/2020:11:08:55 +0000] "GET /api/v1/server/logs?startDate=2020-11-20T10:05:12.277Z&level=warn HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/admin/system/logs" "Firefox"

info[20/11/2020 à 12:08:59] 89.159.0.0 - - [20/Nov/2020:11:08:59 +0000] "GET /api/v1/jobs/completed?start=0&count=10&sort=-createdAt HTTP/1.0" 200 46065 "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:09:00] 89.159.0.0 - - [20/Nov/2020:11:09:00 +0000] "GET /api/v1/jobs/active?start=0&count=10&sort=-createdAt HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:09:04] 89.159.0.0 - - [20/Nov/2020:11:09:04 +0000] "GET /api/v1/server/audit-logs?startDate=2020-11-20T10:09:04.828Z HTTP/1.0" 200 1492 "https://videos.ahp-numerique.fr/admin/system/logs" "Firefox"

info[20/11/2020 à 12:09:08] 89.159.0.0 - - [20/Nov/2020:11:09:08 +0000] "GET /api/v1/server/logs?startDate=2020-11-20T10:09:04.828Z&level=warn HTTP/1.0" 200 74934 "https://videos.ahp-numerique.fr/admin/system/logs" "Firefox"

info[20/11/2020 à 12:09:11] 89.159.0.0 - - [20/Nov/2020:11:09:11 +0000] "GET /api/v1/server/logs?startDate=2020-11-20T10:09:04.828Z&level=warn HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/admin/system/logs" "Firefox"

info[20/11/2020 à 12:09:23] 89.159.0.0 - - [20/Nov/2020:11:09:23 +0000] "GET /api/v1/server/logs?startDate=2020-11-20T10:09:04.828Z&level=warn HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/admin/system/logs" "Firefox"

info[20/11/2020 à 12:09:36] 89.159.0.0 - - [20/Nov/2020:11:09:36 +0000] "GET /api/v1/server/logs?startDate=2020-11-20T10:09:04.828Z&level=warn HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/admin/system/logs" "Firefox"

info[20/11/2020 à 12:09:41] 89.159.0.0 - - [20/Nov/2020:11:09:41 +0000] "GET /api/v1/jobs/active?start=0&count=10&sort=-createdAt HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:09:44] 89.159.0.0 - - [20/Nov/2020:11:09:44 +0000] "GET /api/v1/jobs/completed?start=0&count=10&sort=-createdAt HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:10:51] Processing video file in job 982.

info[20/11/2020 à 12:10:53] Creating torrent /var/www/peertube/storage/torrents/e34029cf-8198-499e-8b18-80b527f2f9a5-1080.torrent.

info[20/11/2020 à 12:10:53] Resolutions computed for video e34029cf-8198-499e-8b18-80b527f2f9a5 and origin file height of 1080.

{
  "resolutions": [
    0,
    480,
    720
  ]
}

info[20/11/2020 à 12:10:53] Transcoding jobs created for uuid e34029cf-8198-499e-8b18-80b527f2f9a5.

{
  "resolutionsEnabled": [
    0,
    480,
    720
  ]
}

info[20/11/2020 à 12:10:53] Creating job to update video https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5.

info[20/11/2020 à 12:10:53] Processing ActivityPub broadcast in job 2362.

info[20/11/2020 à 12:10:53] Processing video file in job 983.

info[20/11/2020 à 12:10:53] Updating 4 good actor follows and 0 bad actor follows scores in cache.

info[20/11/2020 à 12:10:53] Creating torrent /var/www/peertube/storage/torrents/e34029cf-8198-499e-8b18-80b527f2f9a5-0.torrent.

error[20/11/2020 à 12:10:53] Cannot execute job 983 in queue video-transcoding.

{
  "payload": {
    "type": "new-resolution",
    "videoUUID": "e34029cf-8198-499e-8b18-80b527f2f9a5",
    "resolution": 0
  },
  "err": {
    "stack": "SequelizeUniqueConstraintError: la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »\n    at Query.formatError (/var/www/peertube/versions/peertube-v2.1.1/node_modules/sequelize/lib/dialects/postgres/query.js:327:16)\n    at query.catch.err (/var/www/peertube/versions/peertube-v2.1.1/node_modules/sequelize/lib/dialects/postgres/query.js:72:18)\n    at tryCatcher (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/util.js:16:23)\n    at Promise._settlePromiseFromHandler (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:547:31)\n    at Promise._settlePromise (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:604:18)\n    at Promise._settlePromise0 (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:649:10)\n    at Promise._settlePromises (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:725:18)\n    at _drainQueueStep (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:93:12)\n    at _drainQueue (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:86:9)\n    at Async._drainQueues (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:102:5)\n    at Immediate.Async.drainQueues [as _onImmediate] (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:15:14)\n    at runCallback (timers.js:705:18)\n    at tryOnImmediate (timers.js:676:5)\n    at processImmediate (timers.js:658:5)",
    "message": "la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »",
    "name": "SequelizeUniqueConstraintError",
    "errors": {},
    "parent": {
      "stack": "error: la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »\n    at Connection.parseE (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:604:13)\n    at Connection.parseMessage (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:403:19)\n    at Socket.<anonymous> (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:123:22)\n    at Socket.emit (events.js:198:13)\n    at addChunk (_stream_readable.js:288:12)\n    at readableAddChunk (_stream_readable.js:269:11)\n    at Socket.Readable.push (_stream_readable.js:224:10)\n    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)",
      "message": "la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »",
      "name": "error",
      "length": 290,
      "severity": "ERREUR",
      "code": "23505",
      "detail": "La clé « (\"videoId\", resolution, fps)=(175, 0, 0) » existe déjà.",
      "schema": "public",
      "table": "videoFile",
      "constraint": "video_file_video_id_resolution_fps",
      "file": "nbtinsert.c",
      "line": "534",
      "routine": "_bt_check_unique",
      "sql": "INSERT INTO \"videoFile\" (\"id\",\"resolution\",\"size\",\"extname\",\"infoHash\",\"fps\",\"videoId\",\"createdAt\",\"updatedAt\") VALUES (DEFAULT,$1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;",
      "parameters": [
        0,
        2604979,
        ".mp4",
        "ea472e31308ea8e2ae8057361b0f94706c32817d",
        0,
        175,
        "2020-11-20 11:10:53.935 +00:00",
        "2020-11-20 11:10:53.935 +00:00"
      ]
    },
    "sql": "INSERT INTO \"videoFile\" (\"id\",\"resolution\",\"size\",\"extname\",\"infoHash\",\"fps\",\"videoId\",\"createdAt\",\"updatedAt\") VALUES (DEFAULT,$1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;"
  }
}

info[20/11/2020 à 12:10:53] Processing video file in job 984.

info[20/11/2020 à 12:10:56] 89.159.0.0 - - [20/Nov/2020:11:10:56 +0000] "GET /api/v1/jobs/active?start=0&count=10&sort=-createdAt HTTP/1.0" 200 289 "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:11:00] 89.159.0.0 - - [20/Nov/2020:11:11:00 +0000] "GET /api/v1/jobs/completed?start=0&count=10&sort=-createdAt HTTP/1.0" 200 51134 "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:11:02] 89.159.0.0 - - [20/Nov/2020:11:11:02 +0000] "GET /api/v1/jobs/active?start=0&count=10&sort=-createdAt HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:11:06] 89.159.0.0 - - [20/Nov/2020:11:11:06 +0000] "GET /api/v1/jobs/waiting?start=0&count=10&sort=-createdAt HTTP/1.0" 200 268 "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:11:25] 89.159.0.0 - - [20/Nov/2020:11:11:25 +0000] "GET /videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5 HTTP/1.0" 200 25130 "-" "Firefox"

info[20/11/2020 à 12:11:26] 89.159.0.0 - - [20/Nov/2020:11:11:26 +0000] "GET /api/v1/config/ HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:26] 89.159.0.0 - - [20/Nov/2020:11:11:26 +0000] "GET /api/v1/oauth-clients/local HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:26] 89.159.0.0 - - [20/Nov/2020:11:11:26 +0000] "GET /api/v1/videos/e34029cf-8198-499e-8b18-80b527f2f9a5/captions HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /api/v1/plugins/peertube-plugin-simplelogo/public-settings HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /api/v1/plugins/peertube-plugin-ungamify/public-settings HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /api/v1/plugins/peertube-plugin-ungamify/public-settings HTTP/1.0" 200 110 "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /api/v1/videos/e34029cf-8198-499e-8b18-80b527f2f9a5 HTTP/1.0" 200 9466 "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /lazy-static/avatars/b5483efc-3df4-402f-aecb-62848a573185.jpg HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /lazy-static/avatars/3185c142-0d9c-43ce-84c6-589aa4d984a4.png HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /api/v1/search/videos?start=0&count=6&tagsOneOf=Omeka&tagsOneOf=Poster&sort=-createdAt HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /api/v1/videos/175/comment-threads?start=0&count=10&sort=-createdAt HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /static/previews/e34029cf-8198-499e-8b18-80b527f2f9a5.jpg HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:11:27] 89.159.0.0 - - [20/Nov/2020:11:11:27 +0000] "GET /static/torrents/e34029cf-8198-499e-8b18-80b527f2f9a5-720.torrent HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Other"

info[20/11/2020 à 12:11:32] 89.159.0.0 - - [20/Nov/2020:11:11:32 +0000] "GET /static/torrents/e34029cf-8198-499e-8b18-80b527f2f9a5-360.torrent HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Other"

info[20/11/2020 à 12:11:49] Creating torrent /var/www/peertube/storage/torrents/e34029cf-8198-499e-8b18-80b527f2f9a5-480.torrent.

error[20/11/2020 à 12:11:49] Cannot execute job 984 in queue video-transcoding.

{
  "payload": {
    "type": "new-resolution",
    "videoUUID": "e34029cf-8198-499e-8b18-80b527f2f9a5",
    "resolution": 480
  },
  "err": {
    "stack": "SequelizeUniqueConstraintError: la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »\n    at Query.formatError (/var/www/peertube/versions/peertube-v2.1.1/node_modules/sequelize/lib/dialects/postgres/query.js:327:16)\n    at query.catch.err (/var/www/peertube/versions/peertube-v2.1.1/node_modules/sequelize/lib/dialects/postgres/query.js:72:18)\n    at tryCatcher (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/util.js:16:23)\n    at Promise._settlePromiseFromHandler (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:547:31)\n    at Promise._settlePromise (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:604:18)\n    at Promise._settlePromise0 (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:649:10)\n    at Promise._settlePromises (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:725:18)\n    at _drainQueueStep (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:93:12)\n    at _drainQueue (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:86:9)\n    at Async._drainQueues (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:102:5)\n    at Immediate.Async.drainQueues [as _onImmediate] (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:15:14)\n    at runCallback (timers.js:705:18)\n    at tryOnImmediate (timers.js:676:5)\n    at processImmediate (timers.js:658:5)",
    "message": "la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »",
    "name": "SequelizeUniqueConstraintError",
    "errors": {},
    "parent": {
      "stack": "error: la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »\n    at Connection.parseE (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:604:13)\n    at Connection.parseMessage (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:403:19)\n    at Socket.<anonymous> (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:123:22)\n    at Socket.emit (events.js:198:13)\n    at addChunk (_stream_readable.js:288:12)\n    at readableAddChunk (_stream_readable.js:269:11)\n    at Socket.Readable.push (_stream_readable.js:224:10)\n    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)",
      "message": "la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »",
      "name": "error",
      "length": 293,
      "severity": "ERREUR",
      "code": "23505",
      "detail": "La clé « (\"videoId\", resolution, fps)=(175, 480, 25) » existe déjà.",
      "schema": "public",
      "table": "videoFile",
      "constraint": "video_file_video_id_resolution_fps",
      "file": "nbtinsert.c",
      "line": "534",
      "routine": "_bt_check_unique",
      "sql": "INSERT INTO \"videoFile\" (\"id\",\"resolution\",\"size\",\"extname\",\"infoHash\",\"fps\",\"videoId\",\"createdAt\",\"updatedAt\") VALUES (DEFAULT,$1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;",
      "parameters": [
        480,
        9021522,
        ".mp4",
        "a3a6e011cea78e1a3d0849469e483bb5fdff188d",
        25,
        175,
        "2020-11-20 11:11:49.208 +00:00",
        "2020-11-20 11:11:49.208 +00:00"
      ]
    },
    "sql": "INSERT INTO \"videoFile\" (\"id\",\"resolution\",\"size\",\"extname\",\"infoHash\",\"fps\",\"videoId\",\"createdAt\",\"updatedAt\") VALUES (DEFAULT,$1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;"
  }
}

info[20/11/2020 à 12:11:49] Processing video file in job 985.

info[20/11/2020 à 12:12:03] 89.159.0.0 - - [20/Nov/2020:11:12:03 +0000] "POST /api/v1/videos/e34029cf-8198-499e-8b18-80b527f2f9a5/views HTTP/1.0" 204 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:53] 89.159.0.0 - - [20/Nov/2020:11:12:53 +0000] "GET /videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5 HTTP/1.0" 304 - "-" "Firefox"

info[20/11/2020 à 12:12:54] 89.159.0.0 - - [20/Nov/2020:11:12:54 +0000] "GET /api/v1/config/ HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:54] 89.159.0.0 - - [20/Nov/2020:11:12:54 +0000] "GET /api/v1/oauth-clients/local HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:54] 89.159.0.0 - - [20/Nov/2020:11:12:54 +0000] "GET /api/v1/videos/e34029cf-8198-499e-8b18-80b527f2f9a5/captions HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /api/v1/plugins/peertube-plugin-simplelogo/public-settings HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /api/v1/plugins/peertube-plugin-ungamify/public-settings HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /api/v1/plugins/peertube-plugin-ungamify/public-settings HTTP/1.0" 200 110 "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /api/v1/videos/e34029cf-8198-499e-8b18-80b527f2f9a5 HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /lazy-static/avatars/b5483efc-3df4-402f-aecb-62848a573185.jpg HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /lazy-static/avatars/3185c142-0d9c-43ce-84c6-589aa4d984a4.png HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /api/v1/search/videos?start=0&count=6&tagsOneOf=Omeka&tagsOneOf=Poster&sort=-createdAt HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /api/v1/videos/175/comment-threads?start=0&count=10&sort=-createdAt HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /static/previews/e34029cf-8198-499e-8b18-80b527f2f9a5.jpg HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Firefox"

info[20/11/2020 à 12:12:55] 89.159.0.0 - - [20/Nov/2020:11:12:55 +0000] "GET /static/torrents/e34029cf-8198-499e-8b18-80b527f2f9a5-720.torrent HTTP/1.0" 304 - "https://videos.ahp-numerique.fr/videos/watch/e34029cf-8198-499e-8b18-80b527f2f9a5" "Other"

info[20/11/2020 à 12:13:01] 89.159.0.0 - - [20/Nov/2020:11:13:01 +0000] "GET /api/v1/jobs/active?start=0&count=10&sort=-createdAt HTTP/1.0" 200 289 "https://videos.ahp-numerique.fr/admin/system/jobs" "Firefox"

info[20/11/2020 à 12:13:28] Creating torrent /var/www/peertube/storage/torrents/e34029cf-8198-499e-8b18-80b527f2f9a5-720.torrent.

error[20/11/2020 à 12:13:28] Cannot execute job 985 in queue video-transcoding.

{
  "payload": {
    "type": "new-resolution",
    "videoUUID": "e34029cf-8198-499e-8b18-80b527f2f9a5",
    "resolution": 720
  },
  "err": {
    "stack": "SequelizeUniqueConstraintError: la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »\n    at Query.formatError (/var/www/peertube/versions/peertube-v2.1.1/node_modules/sequelize/lib/dialects/postgres/query.js:327:16)\n    at query.catch.err (/var/www/peertube/versions/peertube-v2.1.1/node_modules/sequelize/lib/dialects/postgres/query.js:72:18)\n    at tryCatcher (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/util.js:16:23)\n    at Promise._settlePromiseFromHandler (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:547:31)\n    at Promise._settlePromise (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:604:18)\n    at Promise._settlePromise0 (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:649:10)\n    at Promise._settlePromises (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/promise.js:725:18)\n    at _drainQueueStep (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:93:12)\n    at _drainQueue (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:86:9)\n    at Async._drainQueues (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:102:5)\n    at Immediate.Async.drainQueues [as _onImmediate] (/var/www/peertube/versions/peertube-v2.1.1/node_modules/bluebird/js/release/async.js:15:14)\n    at runCallback (timers.js:705:18)\n    at tryOnImmediate (timers.js:676:5)\n    at processImmediate (timers.js:658:5)",
    "message": "la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »",
    "name": "SequelizeUniqueConstraintError",
    "errors": {},
    "parent": {
      "stack": "error: la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »\n    at Connection.parseE (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:604:13)\n    at Connection.parseMessage (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:403:19)\n    at Socket.<anonymous> (/var/www/peertube/versions/peertube-v2.1.1/node_modules/pg/lib/connection.js:123:22)\n    at Socket.emit (events.js:198:13)\n    at addChunk (_stream_readable.js:288:12)\n    at readableAddChunk (_stream_readable.js:269:11)\n    at Socket.Readable.push (_stream_readable.js:224:10)\n    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)",
      "message": "la valeur d'une clé dupliquée rompt la contrainte unique « video_file_video_id_resolution_fps »",
      "name": "error",
      "length": 293,
      "severity": "ERREUR",
      "code": "23505",
      "detail": "La clé « (\"videoId\", resolution, fps)=(175, 720, 25) » existe déjà.",
      "schema": "public",
      "table": "videoFile",
      "constraint": "video_file_video_id_resolution_fps",
      "file": "nbtinsert.c",
      "line": "534",
      "routine": "_bt_check_unique",
      "sql": "INSERT INTO \"videoFile\" (\"id\",\"resolution\",\"size\",\"extname\",\"infoHash\",\"fps\",\"videoId\",\"createdAt\",\"updatedAt\") VALUES (DEFAULT,$1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;",
      "parameters": [
        720,
        15660594,
        ".mp4",
        "b8ea82e53bce86bcf8ab09a2c71771cdf2c7cab7",
        25,
        175,
        "2020-11-20 11:13:28.262 +00:00",
        "2020-11-20 11:13:28.262 +00:00"
      ]
    },
    "sql": "INSERT INTO \"videoFile\" (\"id\",\"resolution\",\"size\",\"extname\",\"infoHash\",\"fps\",\"videoId\",\"createdAt\",\"updatedAt\") VALUES (DEFAULT,$1,$2,$3,$4,$5,$6,$7,$8) RETURNING *;"
  }

}

Il semble en fait que les fichiers soient bien générés malgré l’erreur dans les logs et l’absence de job dans l’interface d’administration.

Il y a peut-être un délai nécessaire entre la suppression des fichiers et leur demande de régénération ?

Bonjour,

C’est un bug connu qui sera corrigé dans la prochaine version : https://github.com/Chocobozzz/PeerTube/commit/fb0f7f82e59c7138b5fa9d801296609b1c0cd971#diff-294b406b37c9ceaceca54e008aed860a6c8b89fe529142795feff74ad3c36565