Problème d'import Youtube avec instance sous Docker


#1

Bonjour,
Ce weekend, j’ai déployé https://peertube.normandie-libre.fr grâce à docker-compose en suivant cette documentation. J’avais fait un déploiement pour faire des tests et m’approprier l’outil. Notamment j’avais importé une vidéo Youtube sans problèmes.

Or, j’ai du détruire mes conteneurs pour les reconfigurer et, depuis, l’import de vidéos Youtube ne fonctionne pas , ni le système de notifications :frowning: (voir captures ci-dessous). Pourtant avec Vimeo ça passe sans problèmes :confused:

Une idée d’où ça pourrait venir ?

J’ai beau monter et remonter les conteneurs à partir de zéro, rien n’y fait… J’ai même créé un compte sur https://dissidents.tv/ pour tester l’upload youtube et ça a fonctionné donc ce n’est pas lié à la version 1.2.0

PS : j’utilise Apache comme reverse-proxy avec cette configuration : https://gist.github.com/rigelk/07a0b8963fa4fc1ad756374c28479bc7


#2

Alors je suis rentré dans le conteneur :

sudo docker exec -it peertube_peertube_1 /bin/sh

Puis j’ai lancé le REPL :

node ./dist/server/tools/peertube-repl.js

Pour y tester cet exemple fourni dans la doc Peertube :

YoutubeDL.getInfo('https://www.youtube.com/watch?v=I5ZN289jjDo', function(err, data) {console.log(err, data)})

Et j’ai obtenu une erreur :

Error: Command failed: /app/node_modules/youtube-dl/bin/youtube-dl --dump-json -f best http://www.youtube.com/watch?v=U1qbHaLCQNU
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.
ERROR: U1qbHaLCQNU: "token" parameter not in video info for unknown reason; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

    at ChildProcess.exithandler (child_process.js:281:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:915:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
  killed: false,
  code: 1,
  signal: null,
  cmd: '/app/node_modules/youtube-dl/bin/youtube-dl --dump-json -f best http://www.youtube.com/watch?v=U1qbHaLCQNU'

Du coup c’est bizarre mais j’ai l’impression qu’il y’a un pb avec la librairie youtube-dl. Après recherche, j’ai l’impression que ça a été réglé dans un commit sur le dépôt de youtube-dl il y a 13 jours.

Quelqu’un pourrait me confirmer mon analyse ?


#3

Encore une fois, je m’en suis sorti. Cette fois-ci en reconstruisant l’image docker directement à partir des sources du dépôt GIT (oulah ça a pris du temps). Du coup, j’ai la version 1.2.1 et tout refonctionne. Je vois aussi qu’il y a une nouvelle feature pour les playlists par ex. Par contre, certains items ne sont plus traduits en français. On fera avec pour l’instant :slight_smile:


#4

Je pense qu’il s’agit d’une version de youtube-dl qui est trop vieille. PeerTube la met à jour mais seulement au bout de 24h (donc il faut laisser le container tourner pendant au moins un jour). Je pense que c’est un comportement qu’on peut améliorer, je l’ajoute à ma TODO :slight_smile: