L'intégration des vidéos YouTube Onebox a cessé de fonctionner

Comment savoir si nous sommes réellement bannis par IP ou non ?

J’ai fait ceci :

Mais la vidéo a été téléchargée sans aucun problème.

root@ubuntu-8gb-hel1-4:~# youtube-dl https://www.youtube.com/watch?v=Xl-PTTeRsik
[youtube] Xl-PTTeRsik: Téléchargement de la page web
[youtube] Xl-PTTeRsik: Téléchargement du manifeste MPD
[download] Destination: Loading cargo into HTV-9 Konutori-Xl-PTTeRsik.mp4
[download] 100 % de 11,41 Mo en 00:01

Peut-être que mon problème vient d’ailleurs alors ? :confused:

J’obtiens une erreur 404 lorsque Discourse essaie de créer une onebox pour un lien YouTube.

Je n’ai pas beaucoup de temps pour répondre pour le moment, mais voici quelques remarques.

  1. Tous les travaux de re-cuisson ont-ils été traités par Sidekiq pour le moment ? L’URL https://yourforum/sidekiq affiche-t-elle de nombreux travaux ? Si oui, cela pourrait simplement être dû au fait que le Onebox prend du temps.

  2. Examinez ce diagnostic que j’ai réalisé, essayez de reproduire le processus et faites-moi un retour.

  1. Si YouTube vous a banni en plein milieu d’une re-cuisson, vous devrez refaire une re-cuisson complète, car vous ne saurez pas quels messages avec des liens intégrés ont été traités ou non. J’ai d’ailleurs écrit un utilitaire pour reformater les messages YouTube et re-cuire par lots.

  2. Malheureusement, le Oneboxer semble échouer sans afficher de message, ce qui rend difficile la détermination de la cause. J’ai dû créer un fork et modifier le plugin de @merefield pour journaliser les messages d’erreur et découvrir que je recevais des erreurs 429. Vous êtes libre d’utiliser mon fork, mais c’est un peu un bricolage et (je viens de remarquer) il est en retard de quelques commits par rapport à celui de Roberts.

  1. Si vous êtes limité en débit (vous voyez des erreurs 429 de la part de YouTube), j’ai réussi à installer l’assistant Onebox de @merefield et à l’activer sans modifier aucun paramètre, c’est-à-dire en laissant tous les paramètres vides. AVERTISSEMENT : C’est étrange et cela ne devrait pas fonctionner, mais ça fonctionne.

Voyez mes messages ici

https://meta.discourse.org/t/onebox-assistant-crawl-for-those-previews-reliably/107405/35?u=bletch

et ici

https://meta.discourse.org/t/onebox-assistant-crawl-for-those-previews-reliably/107405/36?u=bletch

  1. Enfin, pour répondre à vos questions sur embed.rocks, je me suis inscrit sur embed.rocks, l’ai testé avec l’assistant Onebox et cela a fonctionné parfaitement lors d’une re-cuisson partielle. Cependant, je l’ai depuis désactivé car il fonctionne avec le comportement étrange décrit au point 5.

Dans un forum existant depuis un certain temps, il est courant que des liens YouTube autrefois valides deviennent obsolètes. Les vidéos sont supprimées pour des raisons de droits d’auteur ou parce que les comptes sont fermés, ce qui rend ces liens inopérants. Est-il possible que vous soyez confronté à ce problème ?

Bonjour,

Non, les vidéos fonctionnent :frowning:

Il reste encore 900 000 des 1,3 million de publications à rebaker (cela prendra au moins une semaine), mais la génération des onebox fonctionnait parfaitement sur les nouvelles publications il y a un ou deux jours.

Maintenant, si je crée une nouvelle publication avec un lien YouTube, ou si je reconstruis le HTML d’une publication contenant déjà un lien YouTube, c’est l’erreur 404 que j’obtiens :

Les autres onebox fonctionnent bien (j’ai testé Vimeo, Twitter…).

edit : j’ai relu les messages ici, et il semble que je rencontre les mêmes problèmes que vous.

Quand vous dites qu’ils ont levé votre interdiction dans votre message, je comprends que vous ne les ayez pas contactés, l’interdiction a été levée sans aucune action de votre part ?

Je ne me soucie pas vraiment que mes anciennes publications n’aient pas de vidéos intégrées, mais je tiens à ce que les nouvelles publications fonctionnent.
Mon forum n’est pas encore ouvert, et j’aimerais offrir à mes utilisateurs une bonne expérience. :slight_smile:

edit : désolé pour les multiples modifications, les amis.
J’ai essayé la solution de contournement étrange décrite ici : "Onebox Assistant", crawl for those previews reliably! - #35
Et cela fonctionne. Je suppose que je vais laisser le processus de « rebaker tout » se terminer, et comme il semble que YouTube lève automatiquement les interdictions d’adresse IP, je vais simplement attendre quelques jours/semaines.

Bonjour,
Mon forum bloque l’encadrement (oneboxing) des vidéos YouTube.
Nous avons lancé un sujet avec de nombreuses vidéos musicales il y a une semaine et il semble que nous rencontrions le même problème que @marcozambi : l’encadrement (oneboxing) renvoie une erreur 404.
Alors, que dois-je faire ?

Bonjour, je rencontre le même problème, cependant :

  • Mon serveur ne semble pas être banni par IP : la requête curl fonctionne sans problème (je peux aussi naviguer sur YouTube depuis mon serveur).

  • Dans la console de mon navigateur, je n’ai pas d’erreur 404 mais une erreur 504 Gateway Timeout.

  • De plus, aucune version de l’URL ne fonctionne pour moi.

Cependant, j’ai cette erreur SSL dans le fichier production.log de Discourse :

Failed to onebox https://www.youtube.com/post/***** hostname "www.youtube.com" does not match the server certificate (OpenSSL::SSL::SSLError) ["/usr/local/lib/ruby/2.7.0/openssl/ssl.rb:395:in 'post_connection_check'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/ssl_socket.rb:146:in 'initialize'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:471:in 'new'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:471:in 'socket'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:118:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/mock.rb:57:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/instrumentor.rb:34:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/idempotent.rb:19:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/base.rb:22:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/base.rb:22:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:283:in 'request'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon.rb:250:in 'head'", "/var/www/discourse/lib/final_destination.rb:186:in 'public_send'", "/var/www/discourse/lib/final_destination.rb:186:in 'resolve'", "/var/www/discourse/lib/oneboxer.rb:365:in 'block in external_onebox'", "/var/www/discourse/lib/cache.rb:94:in 'fetch'", "/var/www/discourse/lib/oneboxer.rb:358:in 'external_onebox'", "/var/www/discourse/lib/oneboxer.rb:199:in 'onebox_raw'", "/var/www/discourse/lib/oneboxer.rb:44:in 'preview'", "/var/www/discourse/app/controllers/onebox_controller.rb:27:in 'block in show'", "/var/www/discourse/lib/hijack.rb:56:in 'instance_eval'", "/var/www/discourse/lib/hijack.rb:56:in 'block in hijack'", "/var/www/discourse/lib/scheduler/defer.rb:94:in 'block in do_work'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-2.5.0/lib/rails_multisite/connection_management.rb:76:in 'with_connection'", "/var/www/discourse/lib/scheduler/defer.rb:89:in 'do_work'", "/var/www/discourse/lib/scheduler/defer.rb:79:in 'block (2 levels) in start_thread'"]

Je ne comprends pas pourquoi mon serveur penserait soudainement que le certificat de youtube.com ne correspond pas à l’URL :face_with_raised_eyebrow:

@legrit peux-tu partager l’URL que tu essaies d’intégrer ? Essaie également d’exécuter ceci sur ton serveur :

cd /var/discourse
./launcher enter app
curl -vI https://www.youtube.com

et colle le résultat ici.

J’ai résolu le problème.

Dans le fichier /etc/resolv.conf du conteneur Docker, j’avais l’adresse IP de mon serveur en première position et Google 8.8.8.8 en deuxième. J’ai supprimé la première adresse et cela a fonctionné.

Je ne suis pas tout à fait certain de ce qui se passait, mais YouTube était le seul site inaccessible depuis le conteneur.

Mes intégrations YouTube échouent ..

Il semble qu’il y ait une redirection vers la page « consentement ». Cela fonctionne bien sur Meta.

Quelque chose a-t-il changé récemment ?

@Overgrow veuillez consulter : Youtube embeddings have stopped working for servers in Europe