Los videos de YouTube con incrustación onebox dejaron de funcionar

¿Cómo saber si realmente estamos baneados por IP o no?

Hice lo siguiente:

Pero descargó el video sin ningún problema.

root@ubuntu-8gb-hel1-4:~# youtube-dl https://www.youtube.com/watch?v=Xl-PTTeRsik
[youtube] Xl-PTTeRsik: Descargando página web
[youtube] Xl-PTTeRsik: Descargando manifiesto MPD
[download] Destino: Loading cargo into HTV-9 Konutori-Xl-PTTeRsik.mp4
[download] 100% de 11.41MiB en 00:01

¿Quizás mi problema viene de otro lado entonces? :confused:

Recibo un error 404 cuando Discourse intenta crear una onebox para un enlace de YouTube.

Por el momento no tengo mucho tiempo para responder, pero aquí van algunos comentarios.

  1. ¿Han completado todos los trabajos de re-cocción su recorrido por Sidekiq hasta ahora? ¿Muestra https://yourforum/sidekiq muchos trabajos? De ser así, podría ser simplemente que el proceso de Onebox está tomando tiempo.

  2. Revisa este diagnóstico que realicé e intenta reproducir el proceso y reportar los resultados.

  1. Si YouTube te bloqueó a mitad de una re-cocción, tendrás que volver a hacerla, ya que no sabrás qué publicaciones con enlaces incrustados se procesaron y cuáles no. De hecho, escribí una utilidad para reformatear publicaciones de YouTube y re-cocinarlas en lotes.

  2. Lamentablemente, el Oneboxer parece fallar sin mostrar ningún mensaje, por lo que es difícil saber cuál es la causa. Tuve que bifurcar y modificar el plugin de @merefield para registrar los mensajes de error y descubrir que estaba recibiendo errores 429. Eres bienvenido a usar mi bifurcación, aunque es un poco un parche y (acabo de notar) está un par de commits detrás de la versión de Robert.

  1. Si estás siendo limitado por tasa (ves errores 429 de YouTube), entonces tuve éxito instalando el Onebox Assistant de @merefield y activándolo sin cambiar ninguna configuración. Es decir, dejando todos los ajustes en blanco. ADVERTENCIA: ESTO ES RARO Y NO DEBERÍA FUNCIONAR, PERO FUNCIONA.

Consulta mis publicaciones aquí:

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

y aquí:

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

  1. Finalmente, para responder a tus preguntas sobre embed.rocks, me registré en una cuenta de embed.rocks, lo probé con el Onebox Assistant y funcionó perfectamente durante una re-cocción parcial. Sin embargo, desde entonces lo he desconfigurado porque funciona con el comportamiento extraño descrito en el punto 5.

En un foro que lleva un tiempo activo, es común que los enlaces de YouTube que antes eran válidos queden obsoletos. Los videos se eliminan por derechos de autor o porque las cuentas se cierran, por lo que esos enlaces ya no funcionan. ¿Es posible que estés viendo esto?

Hola,

No, los videos funcionan :frowning:

Aún quedan 900.000 de los 1,3 millones de publicaciones por regenerar (tomará al menos una semana), pero el oneboxing funcionaba perfectamente en publicaciones nuevas hace uno o dos días.

Ahora, si creo una nueva publicación con un enlace de YouTube, o si reconstruyo el HTML de una publicación que ya contiene un enlace de YouTube, obtengo este error 404:

Los otros oneboxes funcionan bien (probé Vimeo, Twitter…).

edit: volví a leer las publicaciones aquí y parece que tengo los mismos problemas que ustedes.

Cuando dices que levantaron tu prohibición en tu mensaje, entiendo que no los contactaste y la prohibición se levantó sin hacer nada.

No me importa mucho que mis publicaciones antiguas no tengan videos incrustados, pero sí me importan las nuevas publicaciones.
Mi foro aún no está abierto y me gustaría ofrecer una buena experiencia a mis usuarios. :slight_smile:

edit: perdón por las múltiples ediciones, chicos.
Probé la solución extraña descrita aquí: "Onebox Assistant", crawl for those previews reliably! - #35
Y funciona. Supongo que dejaré que termine el proceso de “regenerar todo”, y como parece que YouTube levanta las prohibiciones de IP automáticamente, solo esperaré unos días o semanas.

Hola,
Mi foro deja de incrustar videos de YouTube.
Hace una semana iniciamos un tema con muchos videos musicales y parece que tenemos el mismo problema que @marcozambi: al intentar incrustar un video, aparece un error 404.
Entonces, ¿qué debo hacer?

Hola, tengo el mismo problema, sin embargo:

  • Mi servidor no parece estar bloqueado por IP: la solicitud curl funciona sin problemas (también puedo navegar por YouTube desde mi servidor).

  • En la consola de mi navegador no tengo un error 404, sino un tiempo de espera de puerta de enlace 504.

  • Además, ninguna versión de la URL funciona para mí.

Sin embargo, tengo este error de SSL en 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'"]

No entiendo por qué mi servidor de repente pensaría que el certificado de youtube.com no coincide con la URL :face_with_raised_eyebrow:

@legrit ¿puedes compartir la URL que estás intentando incrustar? También intenta ejecutar esto en tu servidor:

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

y pega la salida aquí.

Solucioné el problema

En /etc/resolv.conf dentro del contenedor de Docker, tenía la IP de mi servidor como primera dirección y 8.8.8.8 de Google como segunda. Eliminé la primera dirección y funcionó.

No estoy totalmente seguro de qué estaba ocurriendo.
YouTube era el único sitio inaccesible desde el contenedor.

Mis incrustaciones de YouTube están fallando..

Parece que hay una redirección a la página de “consentimiento”. Esto funciona bien en Meta.

¿Ha cambiado algo recientemente?

@Overgrow por favor consulta: Youtube embeddings have stopped working for servers in Europe