YouTube-Videos Onebox-Einbettung funktioniert nicht mehr

Wie kann man herausfinden, ob man tatsächlich wegen IP-Sperre blockiert wurde?

Ich habe Folgendes versucht:

Das Video wurde jedoch problemlos heruntergeladen.

root@ubuntu-8gb-hel1-4:~# youtube-dl https://www.youtube.com/watch?v=Xl-PTTeRsik
[youtube] Xl-PTTeRsik: Downloading webpage
[youtube] Xl-PTTeRsik: Downloading MPD manifest
[download] Destination: Loading cargo into HTV-9 Konutori-Xl-PTTeRsik.mp4
[download] 100% of 11.41MiB in 00:01

Vielleicht liegt mein Problem also woanders? :confused:

Ich erhalte einen 404-Fehler, wenn Discourse versucht, einen YouTube-Link in eine Onebox umzuwandeln.

Ich habe im Moment nicht viel Zeit zu antworten, aber ein paar Anmerkungen.

  1. Haben alle Re-Bake-Jobs derzeit ihren Weg durch Sidekiq gefunden? Zeigt https://yourforum/sidekiq viele Jobs an? Wenn ja, könnte es einfach sein, dass das Oneboxing Zeit braucht.

  2. Schauen Sie sich diese Diagnose an, die ich durchgeführt habe, versuchen Sie, den Prozess nachzuvollziehen, und berichten Sie zurück.

  1. Wenn YouTube Sie mitten in einem Re-Bake gesperrt hat, müssen Sie erneut ein Re-Bake durchführen, da Sie nicht wissen, welche Beiträge mit eingebetteten Links bereits verarbeitet wurden und welche nicht. Ich habe tatsächlich ein Hilfsprogramm geschrieben, um YouTube-Beiträge neu zu formatieren und in Schritten ein Re-Bake durchzuführen.

  2. Leider scheint der Oneboxer ohne Fehlermeldung zu versagen, sodass es schwierig ist, die Ursache zu ermitteln. Ich musste den Plugin von @merefield forken und modifizieren, um die Fehlermeldungen zu protokollieren, und habe dabei festgestellt, dass ich 429-Fehler erhielt. Sie können gerne meine Fork-Version verwenden, aber sie ist etwas ein Hack und (wie ich gerade bemerkt habe) ein paar Commits hinter Roberts zurück.

  1. Wenn Sie tatsächlich einer Ratenbegrenzung unterliegen (Sie sehen 429-Fehler von YouTube), dann hatte ich Erfolg damit, @merefields Onebox Assistant zu installieren und zu aktivieren, ohne jedoch Einstellungen zu ändern. Also: alle Einstellungen leer lassen. WARNUNG: Das ist seltsam und sollte nicht funktionieren, aber es funktioniert.

Siehe meine Beiträge hier:

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

und hier:

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

  1. Schließlich, um Ihre Fragen zu embed.rocks zu beantworten: Ich habe mich bei embed.rocks registriert, es mit dem Onebox Assistant getestet, und es funktionierte während eines teilweisen Re-Bake perfekt. Ich habe es jedoch seitdem wieder deaktiviert, da es mit dem in Punkt 5 beschriebenen seltsamen Verhalten funktioniert.

In einem Forum, das schon eine Weile besteht, kommt es häufig vor, dass ehemals gültige YouTube-Links veralten. Videos werden wegen Urheberrechtsverletzungen entfernt oder Konten geschlossen, sodass diese Links nicht mehr funktionieren. Könnte es sein, dass Sie genau das sehen?

Hallo,

Nein, die Videos funktionieren :frowning:

Noch müssen 900.000 der 1,3 Millionen Beiträge neu bearbeitet werden (das wird mindestens eine Woche dauern), aber vor ein oder zwei Tagen funktionierte das Oneboxing bei neuen Beiträgen einwandfrei.

Wenn ich jetzt einen neuen Beitrag mit einem YouTube-Link erstelle oder den HTML-Code eines Beitrags, der bereits einen YouTube-Link enthält, neu aufbaue, erhalte ich diesen 404-Fehler:

Andere Oneboxes funktionieren einwandfrei (habe Vimeo, Twitter usw. getestet).

edit: Ich habe die Beiträge hier noch einmal gelesen und es scheint, als hätte ich dasselbe Problem wie ihr.

Wenn du sagst, sie hätten deinen Bann aufgehoben, verstehe ich das so, dass du sie nicht kontaktiert hast und der Bann ohne dein Zutun aufgehoben wurde?

Es ist mir nicht so wichtig, ob meine alten Beiträge keine eingebetteten Videos haben, aber ich lege Wert auf neue Beiträge.
Mein Forum ist noch nicht öffentlich, und ich möchte meinen Nutzern ein gutes Erlebnis bieten. :slight_smile:

edit: Entschuldigung für die mehreren Bearbeitungen, Leute.
Ich habe den seltsamen Workaround ausprobiert, der hier beschrieben wird: "Onebox Assistant", crawl for those previews reliably! - #35
Und er funktioniert. Ich denke, ich lasse das „Alle neu berechnen

Hallo,
mein Forum blockiert das Einbetten von YouTube-Videos.
Wir haben vor einer Woche ein Thema mit vielen Musikvideos erstellt, und es scheint, dass wir dasselbe Problem wie @marcozambi haben: Beim Einbetten von Videos tritt ein 404-Fehler auf.
Was soll ich also tun?

Hallo, ich habe das gleiche Problem, jedoch:

  • Mein Server scheint nicht IP-gesperrt zu sein: Die curl-Anfrage funktioniert problemlos (ich kann auch von meinem Server aus YouTube durchsuchen).

  • In meiner Browserkonsole erhalte ich keinen 404-Fehler, sondern einen 504-Gateway-Timeout.

  • Außerdem funktioniert keine Version der URL für mich.

Allerdings habe ich diesen SSL-Fehler in der 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-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'"]

Ich kann nicht verstehen, warum mein Server plötzlich annimmt, dass das Zertifikat von youtube.com nicht zur URL passt :face_with_raised_eyebrow:

@legrit, kannst du uns bitte mitteilen, welche URL du einzubetten versuchst? Versuche außerdem, dies auf deinem Server auszuführen:

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

Und füge die Ausgabe hier ein.

Ich habe das Problem gelöst.

In /etc/resolv.conf im Docker-Container stand die IP-Adresse meines Servers als erste Adresse und Google 8.8.8.8 als zweite Adresse.
Ich habe die erste Adresse entfernt und es hat funktioniert.

Ich bin mir nicht ganz sicher, was genau los war.
YouTube war die einzige Seite, die aus dem Container nicht erreichbar war.

Meine YouTube-Einbettungen schlagen fehl ..

Anscheinend gibt es eine Weiterleitung zur Seite „consent“. Bei Meta funktioniert das einwandfrei.

Hat sich in letzter Zeit etwas geändert?

@Overgrow bitte siehe: Youtube embeddings have stopped working for servers in Europe