Hochladen der Videodatei schlägt aufgrund eines JS-Fehlers fehl

Ich weiß, dass Discourse im Allgemeinen nicht für den Video-Upload gedacht ist. Nichtsdestotrotz bin ich auf ein Problem gestoßen, bei dem ich hoffe, dass mir jemand in die richtige Richtung weisen kann.\n\nEinige hochgeladene Videodateien bleiben unbegrenzt bei „Uploading 100%“ hängen. Die einzige verbleibende Option für einen Benutzer ist, die Seite zu aktualisieren oder den Beitrag zu schließen. Unabhängig davon, wie lange man wartet oder wie klein die Datei ist.\n\nEs ist klar, dass Code eine Art Validierung oder Prüfung durchführt, bei der die Datei stecken bleibt. Ich bin ziemlich neu in der Ruby On Rails / Discourse-Entwicklung und habe noch nicht herausgefunden, wo im Pfad die Datei stecken bleibt. Ich habe jedoch einen Weg gefunden, das Problem zu umgehen und die Datei ohne Probleme hochzuladen, wenn auch auf eine nicht sehr benutzerfreundliche Weise.\n\nWenn ich genau dieselbe Datei nehme und die Dateinamenerweiterung von .mp4 in .pdf ändere, wird die Datei ohne Probleme hochgeladen und sogar mit der richtigen Erweiterung hinzugefügt.\n\nZ.B.\nWenn ich PXL_12234563421LS.mp4 hochlade, bleibt die Datei unbegrenzt hängen. Wenn ich sie als PXL_12234563421LS.pdf hochlade, ist der Upload abgeschlossen und es wird sogar der richtige Video-Markdown im Beitrag eingefügt:\n\n![PXL_20200811_12234563421LS|video](upload://sxVpgLrc3L2MukaD5eS5QOgPY7j.mp4)\n\n\nIst jemand mit diesem Pfad vertraut genug, um zu erklären, was vor sich geht, und gibt es eine Möglichkeit, dies irgendwo zu deaktivieren? Ich bin auch gerne bereit, genau herauszufinden, wo das Problem liegt und vielleicht mit etwas Anleitung einen Fehler zu melden.\n\nDanke.

4 „Gefällt mir“

Vielleicht ist das ein Internetproblem.
Aber normalerweise behebt ein Neuladen der Seite das Problem und das Video kann hochgeladen werden?

Ich schätze die Antwort, aber das ist kein Internetproblem. Es tritt auf jedem Computer und browserübergreifend auf. Ich lade dies über dasselbe Netzwerk hoch, über das die Discourse-Instanz läuft, sodass es nicht ins Internet geht.

Das Ändern der Erweiterung, das zu einem erfolgreichen Upload führt, selbst in demselben Beitrag, in dem die Originaldatei immer noch “hochgeladen” wird, deutet definitiv auf einen Code in Discourse hin, der für Videodateien ausgeführt wird und bei bestimmten Dateien unbegrenzt hängen bleibt.

1 „Gefällt mir“

Gibt es einen Fehler, der in der Konsole angezeigt wird?

Können Sie das Video auf try.discourse.org hochladen?

1 „Gefällt mir“

Wie groß ist die Datei? Ich glaube, die maximale Dateigröße beträgt 30 MB.

Ich hätte auch gefragt, ob dies über Mobiltelefon oder PC erfolgt, aber Sie erwähnen unten einen Computer.

Ich habe versucht, dies auf try.discourse.org zu tun, aber .mp4-Dateien sind dort nicht erlaubt. Entschuldigung, das hätte ich in meinem ursprünglichen Beitrag erwähnen sollen.

Außerdem ist dies eine kleine Datei, sie ist nur 8 MB groß. Ich habe festgestellt, dass die Dateigröße keine Rolle spielt.

Wenn Sie sagen, ob Fehler in der Konsole auftreten oder nicht, schaue ich mir die Protokolle an und sehe, dass der Upload beginnt und dann nichts weiter für dieses Ereignis angezeigt wird. Gibt es irgendwo anders, auf das Sie sich als Konsole beziehen, das ich mir ansehen sollte?

Sowohl auf Mobilgeräten als auch auf PCs wird dasselbe Problem angezeigt. Es ist definitiv spezifisch für die erzeugten Dateien. Wenn ich die Datei mit ffmpeg neu kodieren, verschwindet das Problem ebenfalls. Außerdem habe ich Chrome und Firefox ausprobiert und beide zeigen dasselbe Problem an.

Nur um das klarzustellen: Alles, was ich tue, ist, den Dateinamen von „movie.mp4“ in „movie.pdf“ zu ändern, und dann wird er plötzlich hochgeladen, ohne bei „Hochladen 100 %“ stecken zu bleiben.

Die Dateigröße beträgt 8 MB. Jede der Filmdateien, die dieses Problem aufweisen, kann jede Größe haben. Wenn ich den Pfad bestimmen und verfolgen könnte, den dies während des Hochladens durchläuft, könnte ich wahrscheinlich eingrenzen, wo es stecken bleibt.

Versuch es jetzt, ich habe es gerade hinzugefügt.

Ich meine die Browser-Konsole – wird dort oder in den Serverprotokollen (/logs) etwas angezeigt?

Okay, ich kann es dort reproduzieren. Ich musste ein etwas kleineres Beispiel finden, aber ich habe reichlich davon :slight_smile:

Das erste Bild zeigt, wie ich die Datei mit der Erweiterung .mp4 hochlade und bei „Hochladen 100 %“ hängen bleibe, egal wie lange ich warte. Ich habe 5 Minuten gewartet, bevor ich den Screenshot gemacht habe.

Ich habe den Beitrag offen und im Zustand „Hochladen 100 %“ auf try.discourse.org gelassen, Benutzer: testdub. Wenn das auf Ihrer Seite hilft. Ich lasse ihn offen, bis ich eine Rückmeldung erhalte.

Sie erlauben keine PDFs, aber TXT, also habe ich die Datei einfach in .txt umbenannt und der Upload war abgeschlossen.

Wenn ich dieselbe Datei mit der Erweiterung .txt hochlade, ist sie in Sekundenschnelle abgeschlossen und erscheint als Video-Markdown.

Nur zur Vollständigkeit, hier sind die md5s der Dateien, die ich hochgeladen habe:

62b865b29c47acbce859c27246c0d7c3  PXL_20240812_174504425.LS.mp4
62b865b29c47acbce859c27246c0d7c3  PXL_20240812_174504425.LS.txt

Hier ist der Fehler, den ich in der Browserkonsole sehe, wenn ich versuche, diese Datei hochzuladen:

image

Uncaught IndexSizeError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source width is 0.
    at composer-video-thumbnail-uppy.js:80:31

8998f3f964284f7e0ab4007836dbddd736757617.mp4.gz (3,3 MB)

Das ist etwas auf der Clientseite, das wir beheben müssen.

2 „Gefällt mir“

Ja, super, danke Michael!

Ich war gerade dabei, etwas Ähnliches zu antworten:


Wenn ich mir die Konsole für Firefox ansehe, sehe ich etwas wie das hier:

Media-Ressource blob:devsite.net konnte nicht dekodiert werden, Fehler: Fehlercode: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006)

Auf Chrome erhalte ich einen anderen und vielleicht besseren Fehler, der darauf hindeutet, was hier vor sich gehen könnte:

Uncaught DOMException: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source width is 0.
    at https://devsite.net/assets/chunk.d340137c92abde91812c.d41d8cd9.js:74:3649
3 „Gefällt mir“

Ich hatte ein ähnliches Problem, unter WordPress. Und dann war die MP4-Datei defekt. Ich habe gerade eine kurze MP4-Datei ohne Probleme hochgeladen, und wenn sie funktioniert, sollte vielleicht die MP4-Datei selbst oder der Prozess, der sie erstellt hat, überprüft werden?

Haben Sie es schon lösen können?

Wir haben jemanden, der sich um eine Lösung kümmert, ja.

3 „Gefällt mir“

Die Lösung für dieses Problem ist jetzt verfügbar:

3 „Gefällt mir“

Hallo Blake, vielen Dank für die schnelle Bearbeitung! Ich habe dies getestet und es funktioniert hervorragend in Chrome, aber nicht in Firefox. Ich bleibe immer noch bei „Hochladen 100 %“ hängen und erhalte folgende Fehlermeldung in der Konsole:

Media resource blob:https://devsite.net/a2deff66-3376-4c6e-9cca-f18275c312ce konnte nicht dekodiert werden.
Media resource blob:https://devsite.net/a2deff66-3376-4c6e-9cca-f18275c312ce konnte nicht dekodiert werden, Fehler: Fehlercode: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006)

Ich habe dies mit Firefox 129.0.2 getestet.

Lassen Sie mich wissen, ob ich weitere Informationen bereitstellen kann.

1 „Gefällt mir“

Diese Korrektur sollte das Problem beheben. In diesem Fall wird kein Video-Thumbnail für das Video erstellt, aber es wird diesmal nicht verhindert, dass es tatsächlich hochgeladen wird.

3 „Gefällt mir“

Vielen Dank, ich konnte erfolgreich mit Firefox hochladen. Ich schätze die schnelle Antwort und die Nachverfolgung sehr!

2 „Gefällt mir“

Dieses Thema wurde 3 Tage nach der letzten Antwort automatisch geschlossen. Neue Antworten sind nicht mehr möglich.