Fehlerbehebung

Wenn Sie ein Problem mit OpenShot haben, wie z. B. Einfrieren, Absturz oder Fehlermeldung, gibt es verschiedene Techniken, die bei der Fehlerbehebung hilfreich sein können.

Verwendung von Protokollen zur Fehlerbehebung

Ein Protokoll ist eine Textdatei, die aufzeichnet, was OpenShot tut, einschließlich Warnungen und Fehlern. Diese Dateien können dem Support-Team helfen, ein Problem zu verstehen, auch wenn Sie keine Fehlermeldung auf dem Bildschirm sehen.

OpenShot speichert zwei Protokolldateien im Ordner .openshot_qt in Ihrem Home-Verzeichnis. Unter Linux und macOS wird dieser Pfad als ~/.openshot_qt/ angegeben. Der Ordner kann in Ihrem Dateimanager versteckt sein.

Die zwei Protokolldateien

Datei

Was sie aufzeichnet

openshot-qt.log

Aktivitäten im Editor: Starten von OpenShot, Laden von Projekten, Ändern von Einstellungen und Nutzung der Benutzeroberfläche. Dies ist normalerweise der beste Ausgangspunkt zur Problemuntersuchung.

libopenshot.log

Aktivitäten in OpenShots Video- und Audio-Engine, dem Teil, der Medien liest und die Bilder sowie den Ton für Vorschauen und exportierte Videos erzeugt. Detaillierte Engine-Protokolle können bei der Untersuchung von Wiedergabe- und Exportproblemen helfen.

Diese Dateien zeichnen verschiedene Teile derselben Anwendung auf. Wenn Sie ein Problem melden, fügen Sie beide Dateien bei, falls verfügbar. Sie müssen nicht jede Zeile selbst verstehen.

Wählen Sie aus, welchen Teil von OpenShot Sie protokollieren möchten

Öffnen Sie Bearbeiten → Einstellungen → Erweitert, um diese zwei Einstellungen zu finden:

Einstellungen und passende Terminal-Optionen

Einstellung

Passendes Argument

Protokolldatei

Debug-Protokollierung der Benutzeroberfläche

--debug-ui

openshot-qt.log

Debug-Protokollierung der Video- und Audio-Engine

--debug-engine

libopenshot.log

Beide Einstellungen sind standardmäßig deaktiviert, wodurch die normalen Zusammenfassungsnachrichten erhalten bleiben. Das Aktivieren einer Einstellung fügt sofort Details zu ihrer Protokolldatei hinzu. Es ändert nicht das andere Protokoll und fügt keine Nachrichten im Terminal hinzu. Die Einstellungen bleiben zwischen den Starts aktiviert, bis Sie sie ausschalten.

Debug-Protokollierung der Benutzeroberfläche ist ein guter Ausgangspunkt bei Problemen mit dem Start, dem Laden von Projekten, Einstellungen oder der Benutzeroberfläche. Debug-Protokollierung der Video- und Audio-Engine fügt Details zur Video- und Audiobearbeitung hinzu, was bei der Untersuchung von Wiedergabe- und Exportproblemen helfen kann. Engine-Protokolle können sehr schnell wachsen und OpenShot verlangsamen. Aktivieren Sie diese Einstellung kurz bevor Sie das Problem reproduzieren, und schalten Sie sie danach wieder aus.

Die Engine-Einstellung hieß zuvor Debug-Modus (ausführlich). Die gespeicherte Ein-/Aus-Einstellung wird auf den neuen Namen übertragen.

Verwenden Sie ein Terminal für einen Start

Ein Terminal ist ein Fenster, in dem Sie Befehle eingeben. Die passenden Argumente aktivieren dieselben zusätzlichen Details wie die Einstellungen und zeigen sie auch im Terminal an:

openshot-qt --debug-ui

Dies zeichnet Schnittstellendetails für einen Start auf. Die bekannten Optionen --debug und die kürzere -d bedeuten genau dasselbe wie --debug-ui. Für Details zur Video- und Audio-Engine verwenden Sie:

openshot-qt --debug-engine

Um beide Detailarten zusammen zu erfassen:

openshot-qt --debug-ui --debug-engine

Wiederholen Sie die Schritte, die das Problem verursachen, schließen Sie dann OpenShot und sammeln Sie die Protokolle. Diese Argumente ändern Ihre gespeicherten Einstellungen nicht. Ein normaler Start von OpenShot kehrt zu Ihren üblichen Protokollierungseinstellungen zurück.

openshot-qt.log beginnt eine neue Datei, wenn sie etwa 25 MB erreicht, und behält drei ältere Kopien. libopenshot.log wächst weiter, während Nachrichten hinzugefügt werden. Nachdem Sie benötigte Protokolle gespeichert haben, können Sie alte Protokolldateien löschen, während OpenShot geschlossen ist.

Weitere Befehlszeilenoptionen

Die meisten Benutzer benötigen nur die beiden oben genannten Steuerungen. Die folgenden Optionen ermöglichen es Ihnen, zu wählen, wie viele Details in die Dateien oder im Terminal angezeigt werden. Hier bedeutet Konsole die Terminalausgabe.

Protokollierungsoptionen

Option

Was sie bewirkt

--debug-ui, --debug oder -d

Aktiviert die Debug-Protokollierung der Benutzeroberfläche in der Datei und im Terminal.

--debug-engine

Aktiviert die Debug-Protokollierung der Video- und Audio-Engine in der Datei und im Terminal.

--debug-file

Fügt dem openshot-qt.log Editor-Details hinzu, ohne Terminaldetails hinzuzufügen.

--debug-console

Fügt Editor-Details im Terminal hinzu, ohne Dateidetails hinzuzufügen.

--log-level LEVEL

Legt die Detailstufe für beide Protokolle und deren Terminalausgabe fest.

--log-file-level LEVEL

Legt die Detailstufe für beide Protokolldateien fest, ohne die Terminaleinstellungen zu ändern.

--log-console-level LEVEL

Legt die Detailgenauigkeit im Terminal für sowohl den Editor als auch die Engine fest, ohne die Dateieinstellungen zu verändern.

Ersetzen Sie LEVEL durch debug für detaillierte Meldungen oder info für die normale Zusammenfassung. warning zeigt Warnungen und Fehler; error zeigt Fehler und kritische Ausfälle; critical zeigt nur kritische Ausfälle. off stoppt gewöhnliche Log-Meldungen, aber vorhandene Absturzdiagnosen können weiterhin geschrieben werden. Großgeschriebene Namen wie DEBUG funktionieren ebenfalls.

Zum Beispiel, um detaillierte Meldungen in beiden Dateien zu sammeln und gleichzeitig das Terminal auf dem üblichen Niveau zu belassen:

openshot-qt --log-file-level debug

Dies aktiviert auch das umfangreiche Engine-Log, daher sollte es nur kurzzeitig verwendet werden. Die älteren Optionen --debug-file und --debug-console funktionieren weiterhin, obwohl sie nicht in --help aufgeführt sind.

Umgebungsvariablen

Eine Umgebungsvariable ist eine benannte Einstellung, die einem Programm beim Start übergeben wird. Diese sind nützlich, wenn OpenShot aus einem Skript gestartet wird oder wenn ein Support-Mitarbeiter Sie bittet, eine bestimmte Einstellung auszuprobieren. Für den normalen Gebrauch müssen sie nicht gesetzt werden.

Optionale Umgebungs-Einstellungen

Variable

Was sie steuert

OPENSHOT_LOG_LEVEL

Detailgenauigkeit in beiden Dateien und im Terminal.

OPENSHOT_LOG_FILE_LEVEL

Detailgenauigkeit nur in beiden Dateien.

OPENSHOT_LOG_CONSOLE_LEVEL

Detailgenauigkeit nur im Terminal, für beide Teile von OpenShot.

LIBOPENSHOT_LOG_LEVEL

Detailgenauigkeit für die Video- und Audio-Engine, in ihrer Datei und im Terminal.

LIBOPENSHOT_LOG_FILE_LEVEL

Detailgenauigkeit nur in libopenshot.log.

LIBOPENSHOT_LOG_CONSOLE_LEVEL

Engine-Detailgenauigkeit nur im Terminal.

Zum Beispiel fordert dieser Linux/macOS-Terminalbefehl detailliertes Engine-Logging in seiner Datei für einen Start an:

LIBOPENSHOT_LOG_FILE_LEVEL=debug openshot-qt

Wenn Einstellungen sich überschneiden, haben Befehlszeilenoptionen Vorrang, gefolgt von Umgebungsvariablen, dann den Einstellungen und schließlich den normalen Standardwerten. Jede Steuerung beeinflusst nur die Ausgabe, die sie beschreibt: --debug überschreibt nicht die Engine-Einstellung. Temporäre Überschreibungen ändern nicht Ihre gespeicherten Einstellungen. Fahren Sie mit der Maus über eine der Kontrollkästchen, um zu sehen, ob eine andere Einstellung diese Logdatei steuert.

Innerhalb der Umgebungsvariablen haben LIBOPENSHOT_-Werte für die Engine Vorrang vor OPENSHOT_-Werten. Innerhalb jeder Gruppe hat ein nur für Dateien oder nur für die Konsole festgelegtes Level Vorrang vor dem allgemeinen Level. Befehlszeilenoptionen folgen derselben Datei/Konsole-Regel. Konfliktierende Befehlszeilen-Level für dieselbe Ausgabe werden abgelehnt; ungültige Umgebungs-Level werden gemeldet und ignoriert.

Für ältere Skripte aktiviert LIBOPENSHOT_DEBUG weiterhin detaillierte Engine-Meldungen im Terminal, sobald es vorhanden ist, auch wenn sein Wert 0 ist. Die neueren Level-Einstellungen haben Vorrang. LIBOPENSHOT_LOG_FILE ist für Programme gedacht, die die Engine separat verwenden; OpenShot selbst nutzt den oben genannten Log-Ordner. Das Ändern der Protokollierungseinstellungen ändert nicht Ihre Fehlerberichts-Einstellungen.

Windows 11 reagiert nicht

Wenn Sie unter Windows 11 ein Einfrieren erleben, handelt es sich um ein bekanntes Problem mit PyQt5 und Windows 11, das mit den Bedienungshilfen in Qt zusammenhängt. Dies wird durch Drücken von Ctrl+C in OpenShot ausgelöst (nur unter Windows 11). OpenShot reagiert nicht mehr und es tritt ein Speicherleck auf (d. h. je länger OpenShot nicht reagiert, desto größer wird das Speicherleck, bis OpenShot schließlich abstürzt oder der Benutzer den Prozess beendet).

Eine einfache Lösung besteht darin, Ctrl+C unter Windows 11 zu vermeiden und stattdessen die Rechtsklick-Menüs für Kopieren/Einfügen zu verwenden. Eine weitere Möglichkeit ist, die Tastenkombination für „Kopieren“ von Ctrl+C auf eine andere, z. B. Alt+C, umzubelegen. Sie können Ihre Tastaturbelegungen in den OpenShot-Einstellungen ändern. Siehe Tastatur.

Windows-Debugging mit GDB

Wenn OpenShot unter Windows 10/11 abstürzt oder einfriert, helfen Ihnen die folgenden Schritt-für-Schritt-Anleitungen, die Ursache des Absturzes zu ermitteln. Diese Anleitungen zeigen einen Stack-Trace des OpenShot-Quellcodes an der Absturzstelle. Diese Informationen sind für unser Entwicklerteam äußerst nützlich und sollten an Fehlerberichte angehängt werden (für eine schnellere Lösung).

Installieren Sie die neueste Daily-Build-Version

Bevor Sie einen Debugger anhängen, laden Sie bitte die neueste Version von OpenShot herunter: https://www.openshot.org/download#daily. Installieren Sie diese Version von OpenShot am Standardort: C:\Program Files\OpenShot Video Editor\. Für detaillierte Anweisungen zum Debuggen von OpenShot unter Windows siehe diese Wiki-Seite.

Installieren Sie MSYS2

Die Windows-Version von OpenShot wird in einer Umgebung namens MSYS2 kompiliert. Um den GDB-Debugger an unsere ausführbare Datei openshot-qt.exe anzuhängen, müssen Sie zuerst MSYS2 installieren. Dieser Schritt ist nur einmal erforderlich.

  1. Laden Sie MSYS2 herunter und installieren Sie es: http://www.msys2.org/

  2. Starten Sie die Eingabeaufforderung MSYS2 MinGW x64 (zum Beispiel: C:\msys64\msys2_shell.cmd -mingw64)

  3. Aktualisieren Sie alle Pakete (Kopieren/Einfügen des folgenden Befehls):

    pacman -Syu
    
  4. Installieren Sie den GDB-Debugger (Kopieren/Einfügen des folgenden Befehls):

    pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
    

Starten Sie OpenShot mit dem GDB-Debugger

Starten Sie die Eingabeaufforderung MSYS2 MinGW x64 (zum Beispiel: C:\msys64\msys2_shell.cmd -mingw64)

Aktualisieren Sie den PATH (Kopieren/Einfügen der folgenden Befehle):

export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"

Laden Sie OpenShot in den GDB-Debugger (Kopieren/Einfügen der folgenden Befehle):

cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe

Starten Sie OpenShot aus der GDB-Eingabeaufforderung (Kopieren/Einfügen des folgenden Befehls):

run --debug

Hohe DPI / 4K-Monitore

OpenShot Video Editor bietet umfassende Unterstützung für High-DPI (Dots Per Inch)-Monitore, sodass die Benutzeroberfläche auf Displays mit unterschiedlichen DPI-Einstellungen scharf aussieht und gut lesbar ist. Diese Unterstützung ist besonders hilfreich bei 4K-Monitoren und anderen hochauflösenden Displays.

DPI-Erkennung pro Monitor

OpenShot erkennt die DPI-Einstellungen für jeden einzelnen Monitor und passt die Skalierung dynamisch an die DPI-Einstellungen jedes angeschlossenen Monitors an. Dies sorgt für ein konsistentes Erlebnis auf verschiedenen Displays.

DPI-Skalierung unter Windows

Unter Windows rundet OpenShot den Skalierungsfaktor auf den nächstgelegenen Ganzzahlwert, um die visuelle Integrität zu wahren. Dies hilft, visuelle Artefakte in der Benutzeroberfläche zu vermeiden und hält die Interface-Elemente scharf und gut ausgerichtet. Aufgrund dieser Rundung können einige Skalierungsoptionen zu größeren Schriftarten und UI-Elementen als erwartet führen.

  • 125 % Skalierung wird auf 100 % gerundet

  • 150 % Skalierung wird auf 200 % gerundet

Lösungen für feinere Anpassungen

Obwohl die Rundung hilft, eine saubere Benutzeroberfläche zu erhalten, gibt es Lösungen für Benutzer, die eine genauere Kontrolle über die Skalierung benötigen. Diese Methoden werden aufgrund möglicher visueller Artefakte nicht empfohlen:

  • QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough

    • Das Setzen dieser Umgebungsvariable kann die Rundung deaktivieren und eine genauere Skalierung ermöglichen.

    • Hinweis: Dies kann visuelle Artefakte verursachen, insbesondere in der Zeitleiste, und wird nicht empfohlen.

  • QT_SCALE_FACTOR=1.25 (oder ein ähnlicher Wert)

    • Das manuelle Festlegen des Skalierungsfaktors ermöglicht feinere Anpassungen der Schrift- und UI-Skalierung.

    • Dies kann auch über die Einstellungen (Benutzeroberflächen-Skalierung) festgelegt werden, aber bei Windows mit gebrochenen Skalierungen sind Rand- und Linienprobleme zu erwarten.

    • Hinweis: Diese Methode kann ebenfalls zu visuellen Artefakten führen und OpenShot schwerer bedienbar machen.

Für weitere Informationen zur Anpassung dieser Umgebungsvariablen besuchen Sie bitte https://github.com/OpenShot/openshot-qt/wiki/OpenShot-UI-too-large.