Feilsøking
Hvis du opplever et problem med OpenShot, som at programmet fryser, krasjer eller viser en feilmelding, finnes det mange forskjellige teknikker som kan være nyttige for å feilsøke problemet.
Bruke logger for å feilsøke et problem
En logg er en tekstfil som registrerer hva OpenShot gjør, sammen med advarsler og feil. Disse filene kan hjelpe supportteamet med å forstå et problem, selv når du ikke ser en feilmelding på skjermen.
OpenShot lagrer to loggfiler i .openshot_qt-mappen inne i hjemmemappen din. På Linux og macOS er denne plasseringen skrevet som ~/.openshot_qt/. Mappen kan være skjult i filbehandleren din.
Fil |
Hva den registrerer |
|---|---|
|
Aktivitet i redigeringsprogrammet: starte OpenShot, laste prosjekter, endre innstillinger og bruke grensesnittet. Dette er vanligvis det beste stedet å starte når man undersøker et problem. |
|
Aktivitet i OpenShots video- og lydmotor, delen som leser medier og bygger bildene og lyden som brukes i forhåndsvisninger og eksporterte videoer. Detaljert motorlogging kan hjelpe med å undersøke avspillings- og eksportproblemer. |
Disse filene registrerer forskjellige deler av samme program. Når du rapporterer et problem, inkluder begge filene hvis de er tilgjengelige. Du trenger ikke å forstå hver linje selv.
Velg hvilken del av OpenShot som skal logges
Åpne Rediger → Innstillinger → Avansert for å finne disse to innstillingene:
Innstilling |
Tilsvarende argument |
Loggfil |
|---|---|---|
Feilsøkingslogging for brukergrensesnittet |
|
|
Feilsøkingslogging for video- og lydmotoren |
|
|
Begge innstillingene er som standard av, noe som beholder de vanlige sammendragsmeldingene. Å aktivere en av dem legger umiddelbart til detaljer i den tilhørende loggfilen. Det endrer ikke den andre loggen eller legger til meldinger i terminalen. Innstillingene forblir aktivert mellom oppstarter til du slår dem av.
Feilsøkingslogging for brukergrensesnittet er et godt utgangspunkt for problemer med oppstart, lasting av prosjekter, innstillinger eller grensesnittet. Feilsøkingslogging for video- og lydmotoren legger til detaljer om video- og lydbehandling, noe som kan hjelpe med å undersøke avspillings- og eksportproblemer. Motordata kan vokse veldig raskt og kan gjøre OpenShot tregere. Slå på denne innstillingen kort tid før du gjentar problemet, og slå den deretter av.
Motorinnstillingen het tidligere Debug Mode (Verbose). Den lagrede på/av-innstillingen overføres til det nye navnet.
Bruk en terminal for én oppstart
En terminal er et vindu hvor du skriver kommandoer. De tilsvarende argumentene aktiverer samme ekstra detaljer som innstillingene, og viser det også i terminalen:
openshot-qt --debug-ui
Dette registrerer grensesnittdetaljer for én oppstart. De kjente alternativene --debug og kortere -d betyr akkurat det samme som --debug-ui. For detaljer om video- og lydmotoren, bruk:
openshot-qt --debug-engine
For å samle begge typer detaljer sammen:
openshot-qt --debug-ui --debug-engine
Gjenta trinnene som forårsaker problemet, lukk deretter OpenShot og samle inn loggene. Disse argumentene endrer ikke dine lagrede innstillinger. Å starte OpenShot normalt går tilbake til dine vanlige logginnstillinger.
openshot-qt.log starter en ny fil når den når omtrent 25 MB og beholder tre eldre kopier. libopenshot.log vokser kontinuerlig etter hvert som meldinger legges til. Etter å ha lagret nødvendige logger, kan du fjerne gamle loggfiler mens OpenShot er lukket.
Andre kommandolinjealternativer
De fleste brukere trenger bare de to kontrollene ovenfor. Følgende alternativer lar deg velge hvor mye detaljer som går inn i filene eller vises i terminalen. Her betyr console terminalutgangen.
Alternativ |
Hva det gjør |
|---|---|
|
Aktiverer feilsøkingslogging for brukergrensesnittet i filen og terminalen. |
|
Aktiverer feilsøkingslogging for video- og lydmotoren i filen og terminalen. |
|
Legger til redigeringsdetaljer i |
|
Legger til redigeringsdetaljer i terminalen uten å legge til filinformasjon. |
|
Setter detaljnivået for begge logger og deres terminalutgang. |
|
Setter detaljnivået for begge loggfilene, uten å endre terminalinnstillingene. |
|
Setter detaljnivået i terminalen for både redigeringsprogrammet og motoren, uten å endre filinnstillingene. |
Erstatt LEVEL med debug for detaljerte meldinger eller info for vanlig sammendrag. warning viser advarsler og feil; error viser feil og kritiske feil; critical viser kun kritiske feil. off stopper vanlige loggmeldinger, men eksisterende krasjdiagnostikk kan fortsatt skrives. Store bokstaver som DEBUG fungerer også.
For eksempel, for å samle detaljerte meldinger i begge filene samtidig som terminalen holdes på vanlig nivå:
openshot-qt --log-file-level debug
Dette aktiverer også den store motorloggen, så bruk den kortvarig. De eldre alternativene --debug-file og --debug-console fungerer fortsatt selv om de ikke er oppført i --help.
Miljøvariabler
En miljøvariabel er en navngitt innstilling som sendes til et program når det starter. Disse er nyttige når du starter OpenShot fra et skript eller når en supportperson ber deg prøve en bestemt innstilling. Du trenger ikke å sette dem for vanlig bruk.
Variabel |
Hva den styrer |
|---|---|
|
Detaljnivå i både filer og terminal. |
|
Detaljnivå kun i begge filer. |
|
Detaljnivå kun i terminalen, for begge deler av OpenShot. |
|
Detaljnivå for video- og lydmotoren, i filen og terminalen. |
|
Detaljnivå kun i |
|
Motordetaljer kun i terminalen. |
For eksempel, denne Linux/macOS-terminalkommandoen ber om detaljert motorlogging i filen for én oppstart:
LIBOPENSHOT_LOG_FILE_LEVEL=debug openshot-qt
Hvis innstillinger overlapper, har kommandolinjealternativer prioritet, etterfulgt av miljøvariabler, deretter Preferanser, og til slutt de vanlige standardene. Hver kontroll påvirker kun den utgangen den beskriver: --debug overstyrer ikke motorpreferansen. Midlertidige overstyringer endrer ikke dine lagrede preferanser. Hold musepekeren over en av avmerkingsboksene for å se om en annen innstilling styrer den loggfilen.
Innenfor miljøinnstillingene har LIBOPENSHOT_-verdier prioritet over OPENSHOT_-verdier for motoren. Innenfor hver gruppe har fil- eller konsollnivå prioritet over det generelle nivået. Kommandolinjealternativer følger samme fil/konsoll-regel. Motstridende kommandolinjenivåer for samme utgang avvises; ugyldige miljønivåer rapporteres og ignoreres.
For eldre skript aktiverer LIBOPENSHOT_DEBUG fortsatt detaljerte motormeldinger i terminalen når den er til stede, selv om verdien er 0. De nyere nivåinnstillingene har prioritet over denne. LIBOPENSHOT_LOG_FILE er ment for programmer som bruker motoren separat; OpenShot selv bruker loggmappen ovenfor. Endring av logginnstillinger endrer ikke din preferanse for feilmelding.
Windows 11 svarer ikke
Hvis du opplever at programmet fryser på Windows 11, er dette et kjent problem med PyQt5 og Windows 11, relatert til tilgjengelighetsfunksjonene i Qt. Dette utløses ved å trykke Ctrl+C i OpenShot (kun på Windows 11). OpenShot vil slutte å svare, og det oppstår også en minnelekkasje (dvs. jo lenger OpenShot ikke svarer, desto større blir minnelekkasjen inntil OpenShot til slutt krasjer eller brukeren avslutter prosessen).
En enkel løsning er å unngå Ctrl+C på Windows 11, og i stedet bruke høyreklikkmenyene for Kopier/Lim inn. En annen løsning er å endre hurtigtasten for «Kopier» fra Ctrl+C til noe annet, for eksempel Alt+C. Du kan endre tastaturoppsettet i OpenShot-innstillingene. Se Tastatur.
Feilsøking i Windows med GDB
Hvis du opplever krasj eller frysing med OpenShot i Windows 10/11, vil følgende trinnvise instruksjoner hjelpe deg med å finne årsaken til krasjet. Disse instruksjonene viser en stakksporing av OpenShots kildekode, på stedet der krasjet skjedde. Denne informasjonen kan være svært nyttig for utviklingsteamet vårt, og veldig nyttig å legge ved feilrapporter (for raskere løsning).
Installer den nyeste daglige versjonen
Før du kobler til en debugger, vennligst last ned nyeste versjon av OpenShot: https://www.openshot.org/download#daily. Installer denne versjonen av OpenShot på standardplasseringen: C:\Program Files\OpenShot Video Editor\. For detaljerte instruksjoner om feilsøking av OpenShot på Windows, se denne wikien.
Installer MSYS2
Windows-versjonen av OpenShot er kompilert med et miljø kalt MSYS2. For å kunne koble GDB-debuggeren til kjørbar fil, openshot-qt.exe, må du først installere MSYS2. Dette trinnet kreves bare én gang.
Last ned og installer MSYS2: http://www.msys2.org/
Kjør kommandoprompten
MSYS2 MinGW x64(for eksempel:C:\msys64\msys2_shell.cmd -mingw64)Oppdater alle pakker (kopier/lim inn følgende kommando):
pacman -SyuInstaller GDB-debuggeren (kopier/lim inn følgende kommando):
pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
Start OpenShot med GDB-debugger
Kjør kommandoprompten MSYS2 MinGW x64 (for eksempel: C:\msys64\msys2_shell.cmd -mingw64)
Oppdater PATH (kopier/lim inn følgende kommandoer):
export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"
Last inn OpenShot i GDB-debuggeren (kopier/lim inn følgende kommandoer):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
Start OpenShot fra GDB-prompten (kopier/lim inn følgende kommando):
run --debug
Skriv ut feilsøkingsinformasjon
Når OpenShot har startet med GDB tilkoblet, trenger du bare å utløse et krasj eller en frysing i OpenShot. Når et krasj skjer, bytt tilbake til MSYS2 MinGW64-terminalen og kjør en av følgende kommandoer (skriv den inn og trykk ENTER). Vanligvis er den første kommandoen bt, som står for backtrace. Flere kommandoer er listet nedenfor.
(gdb) run (launch openshot-qt.exe)
(gdb) CTRL + C (to manually break out OR wait for a crash / segmentation fault)
(gdb) bt (Print stack trace for the current thread #)
(gdb) info threads (to view all threads, and what they are doing. Look for `__lll_lock_wait` for Mutex/deadlocks)
(gdb) thread 35 (Switch to thread number, for example thread 35)
Høy DPI / 4K-skjermer
OpenShot Video Editor tilbyr solid støtte for skjermer med høy DPI (Dots Per Inch), noe som sikrer at grensesnittet ser skarpt ut og er lett å lese på skjermer med ulike DPI-innstillinger. Denne støtten er spesielt nyttig på 4K-skjermer og andre skjermer med høy oppløsning.
DPI-bevissthet per skjerm
OpenShot er DPI-bevisst for hver enkelt skjerm, noe som betyr at den kan justere skaleringen dynamisk basert på DPI-innstillingene til hver tilkoblede skjerm. Dette bidrar til en konsistent opplevelse på tvers av ulike skjermer.
DPI-skalering på Windows
På Windows avrunder OpenShot skalafaktoren til nærmeste hele verdi for å opprettholde visuell integritet. Dette bidrar til å unngå visuelle artefakter i brukergrensesnittet og holder grensesnittselementene skarpe og godt justerte. På grunn av denne avrundingen kan noen skaleringsvalg føre til større skrifttyper og UI-elementer enn forventet.
125 % skalering avrundes til 100 %
150 % skalering avrundes til 200 %
Løsninger for finjustering
Selv om avrunding hjelper med å opprettholde et rent grensesnitt, finnes det løsninger for brukere som trenger mer presis kontroll over skaleringen. Disse metodene er ikke anbefalt på grunn av potensielle visuelle artefakter:
QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
Å sette denne miljøvariabelen kan deaktivere avrunding og tillate mer presis skalering.
Merk: Dette kan forårsake visuelle artefakter, spesielt i tidslinjen, og anbefales ikke.
QT_SCALE_FACTOR=1.25 (eller lignende verdi)
Manuell innstilling av skalafaktoren kan gi finere justeringer av skrift og UI-skalering.
Dette kan også settes via Innstillinger (Brukergrensesnittskala), men forvent problemer med kanter/linjer på Windows ved brøkdelsskalaer.
Merk: Denne metoden kan også føre til visuelle artefakter og gjøre OpenShot vanskeligere å bruke.
For mer informasjon om justering av disse miljøvariablene, vennligst besøk https://github.com/OpenShot/openshot-qt/wiki/OpenShot-UI-too-large.