Vídeos do YouTube com onebox embedding pararam de funcionar

Como saber se estamos realmente banidos por IP ou não?

Fiz o seguinte:

Mas o vídeo foi baixado sem nenhum problema.

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

Talvez meu problema venha de outro lugar então? :confused:

Estou recebendo um erro 404 quando o Discourse tenta criar uma onebox para um link do YouTube.

No tenho muito tempo para responder agora, mas algumas observações.

  1. Todos os trabalhos de re-bake já foram processados pelo Sidekiq? A página https://yourforum/sidekiq mostra muitos trabalhos? Se sim, pode ser apenas que o Onebox está levando tempo.

  2. Dê uma olhada neste diagnóstico que realizei e tente reproduzir o processo, depois me informe o resultado.

  1. Se o YouTube bloqueou você no meio de um re-bake, você terá que refazer o re-bake, pois não saberá quais posts com links incorporados foram processados ou não. Na verdade, escrevi um utilitário para reformatar posts do YouTube e refazer o re-bake em lotes.

  2. Infelizmente, o Oneboxer parece falhar sem exibir mensagens, o que torna difícil saber a causa do problema. Tive que fazer um fork e modificar o plugin de @merefield para registrar as mensagens de erro e descobri que estava recebendo erros 429. Você pode usar meu fork, mas é um pouco uma solução paliativa e (acabei de perceber) está alguns commits atrás da versão de Roberts.

  1. Se você está sendo limitado pela taxa de requisições (você vê erros 429 do YouTube), então tive sucesso instalando o Onebox Assistant de @merefield e ativando-o sem alterar nenhuma configuração. Ou seja, deixando todas as configurações em branco. AVISO: ISSO É ESTRANHO E NÃO DEVERIA FUNCIONAR, MAS FUNCIONA.

Veja minhas postagens aqui

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

e aqui

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

  1. Finalmente, para responder às suas perguntas sobre o embed.rocks, criei uma conta no embed.rocks, testei com o Onebox Assistant e funcionou perfeitamente durante um re-bake parcial. No entanto, desde então, desconfigurei-o porque ele funciona com o comportamento estranho descrito no item 5.

Em fóruns que existem há algum tempo, é comum que links do YouTube que antes eram válidos se tornem obsoletos. Vídeos são removidos devido a direitos autorais ou contas serem encerradas, fazendo com que esses links deixem de funcionar. É possível que você esteja enfrentando isso?

Olá,

Não, os vídeos funcionam :frowning:

Ainda restam 900.000 dos 1,3 milhão de posts para serem reprocessados (isso levará pelo menos uma semana), mas o oneboxing estava funcionando perfeitamente em posts novos há um ou dois dias.

Agora, se eu criar um novo post com um link do YouTube ou se eu reconstruir o HTML de um post que já contém um link do YouTube, é esse erro 404 que recebo:

Outros oneboxes funcionam bem (testei Vimeo, Twitter…).

edit: reli os posts aqui e parece que estou com o mesmo problema que vocês.

Quando você diz que eles removeram seu banimento na sua mensagem, entendo que você não entrou em contato com eles e o banimento foi levantado sem que nada fosse feito?

Eu não me importo muito se meus posts antigos não tiverem vídeos incorporados, mas me importo com os novos posts.
Meu fórum ainda não está aberto, e gostaria de oferecer uma boa experiência aos meus usuários. :slight_smile:

edit : desculpe pelas múltiplas edições, pessoal.
Tentei a solução alternativa estranha descrita aqui: "Onebox Assistant", crawl for those previews reliably! - #35
E ela funciona. Acho que vou deixar o “rebake all” terminar e, como parece que o YouTube levanta automaticamente os banimentos por IP, vou apenas esperar alguns dias/semanas.

Olá,
Meu fórum para de fazer oneboxing de vídeos do YouTube.
Começamos um tópico com muitos vídeos de música há uma semana e parece que temos o mesmo problema do @marcozambi: o oneboxing retorna erro 404.
Então, o que devo fazer?

Olá, estou com o mesmo problema, no entanto:

  • Meu servidor não parece estar banido por IP: a solicitação curl funciona sem problemas (e também consigo navegar no YouTube a partir do meu servidor)

  • No console do meu navegador, não tenho um erro 404, mas um timeout de gateway 504

  • Além disso, nenhuma versão da URL funciona para mim

No entanto, tenho este erro de SSL em discourse production.log

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/middlewares/mock.rb:57:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon/middlewares/instrumentor.rb:34:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon/middlewares/idempotent.rb:19:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon/middlewares/base.rb:22:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon/middlewares/base.rb:22:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon/connection.rb:283:in 'request'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/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'"]

Não consigo entender por que meu servidor de repente acharia que o certificado do youtube.com não corresponde à URL :face_with_raised_eyebrow:

@legrit você pode compartilhar qual é a URL que está tentando incorporar? Também tente executar o seguinte no seu servidor:

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

e cole a saída aqui.

Corrigi o problema.

Em /etc/resolv.conf no contêiner Docker, eu tinha o IP do meu servidor como primeiro endereço e o 8.8.8.8 do Google como segundo. Removi o primeiro endereço e funcionou.

Não tenho certeza total do que estava acontecendo. O YouTube era o único site inacessível a partir do contêiner.

Meus embeds do YouTube estão falhando..

Parece que há um redirecionamento para a página de “consentimento”. Isso está funcionando bem no Meta.

Algo mudou recentemente?

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