Rozwiązywanie problemów
Jeśli masz problem z OpenShot, taki jak zawieszenie, awaria lub komunikat o błędzie, istnieje wiele różnych technik, które mogą pomóc w rozwiązaniu problemu.
Duże lub wolne pliki projektów z falami dźwiękowymi
Starsze projekty z wieloma falami dźwiękowymi mogą mieć niezwykle duże pliki .osp i zajmować więcej czasu na otwarcie lub zapis. Starsze wersje przechowywały pomiary fal dźwiękowych wewnątrz pliku projektu, czasem powtarzając je dla klipów i historii cofania.
Najnowsza wersja przechowuje te pomiary w oddzielnych skompresowanych plikach fal dźwiękowych. Projekt zachowuje małe odniesienia do tych plików, zmniejszając ilość danych kopiowanych podczas edycji i zapisywanych w pliku .osp. Te pliki opisują poziomy dźwięku do wyświetlania, a nie kopie samego dźwięku; twoje media i eksportowany dźwięk pozostają niezmienione.
Aby zaktualizować starszy projekt:
Otwórz go w najnowszej wersji. OpenShot automatycznie przenosi osadzone dane fal dźwiękowych do swojej pamięci podręcznej fal, zachowując istniejący wygląd fali.
Wybierz Plik → Zapisz projekt jako, aby zachować oryginalny projekt jako kopię zapasową, lub zapisz normalnie, aby zaktualizować istniejący plik.
Zachowaj folder
_assetszapisanego projektu obok jego pliku.osppodczas kopiowania lub tworzenia kopii zapasowej projektu.
Na przykład, MyProject.osp przechowuje swoje skompresowane pliki fal dźwiękowych .wfc w MyProject_assets/waveforms/. Każdy plik zawiera zwarte, numeryczne pomiary skompresowane do przechowywania. Identyczne dane fal dźwiękowych mogą korzystać z tego samego pliku pamięci podręcznej. OpenShot używa również lokalnej pamięci podręcznej podczas pracy, także przed pierwszym zapisem.
Pierwsze otwarcie nadal wymaga odczytania starych osadzonych danych, więc może to zająć trochę czasu. Mniejszy plik projektu jest zapisywany podczas zapisu. Generowanie fali dla nowego, długiego pliku audio nadal wymaga analizy tego dźwięku. Jeśli pliki pamięci podręcznej fal są brakujące, OpenShot może odbudować widoczne fale z oryginalnych mediów. Zobacz Fala dźwiękowa dla opcji wyświetlania i regeneracji fal.
Używanie logów do rozwiązywania problemów
Log to plik tekstowy, który rejestruje działania OpenShot, wraz z ostrzeżeniami i błędami. Te pliki mogą pomóc zespołowi wsparcia zrozumieć problem, nawet jeśli nie widzisz komunikatu o błędzie na ekranie.
OpenShot przechowuje dwa pliki logów w folderze .openshot_qt w Twoim katalogu domowym. Na Linux i macOS lokalizacja ta zapisywana jest jako ~/.openshot_qt/. Folder może być ukryty w menedżerze plików.
Plik |
Co rejestruje |
|---|---|
|
Działania w edytorze: uruchamianie OpenShot, ładowanie projektów, zmiana ustawień i korzystanie z interfejsu. To zazwyczaj najlepsze miejsce, aby zacząć badanie problemu. |
|
Działania w silniku wideo i audio OpenShot, części, która odczytuje media i tworzy obrazy oraz dźwięk używany w podglądach i eksportowanych filmach. Szczegółowe logowanie silnika może pomóc w badaniu problemów z odtwarzaniem i eksportem. |
Te pliki rejestrują różne części tej samej aplikacji. Przy zgłaszaniu problemu dołącz oba pliki, jeśli są dostępne. Nie musisz sam rozumieć każdej linii.
Wybierz, którą część OpenShot logować
Otwórz Edycja → Preferencje → Zaawansowane, aby znaleźć te dwa ustawienia:
Preferencja |
Odpowiadający argument |
Plik logu |
|---|---|---|
Logowanie debugowania interfejsu użytkownika |
|
|
Logowanie debugowania silnika wideo i audio |
|
|
Obie preferencje są domyślnie wyłączone, co utrzymuje normalne komunikaty podsumowujące. Włączenie jednej z nich natychmiast dodaje szczegóły do jej pliku logu. Nie zmienia to drugiego logu ani nie dodaje komunikatów do terminala. Preferencje pozostają włączone między uruchomieniami, dopóki ich nie wyłączysz.
Logowanie debugowania interfejsu użytkownika to dobry punkt wyjścia przy problemach z uruchamianiem, ładowaniem projektów, ustawieniami lub interfejsem. Logowanie debugowania silnika wideo i audio dodaje szczegóły dotyczące przetwarzania wideo i audio, co może pomóc w badaniu problemów z odtwarzaniem i eksportem. Logi silnika mogą szybko rosnąć i spowalniać OpenShot. Włącz to ustawienie tuż przed powtórzeniem problemu, a potem wyłącz.
Preferencja silnika była wcześniej nazywana Tryb debugowania (szczegółowy). Zapisane ustawienie włącz/wyłącz przenosi się na nową nazwę.
Użyj terminala do jednorazowego uruchomienia
Terminal to okno, w którym wpisujesz polecenia. Odpowiadające argumenty włączają te same dodatkowe szczegóły co preferencje i wyświetlają je również w terminalu:
openshot-qt --debug-ui
To rejestruje szczegóły interfejsu dla jednego uruchomienia. Znane opcje --debug i krótsza -d oznaczają dokładnie to samo co --debug-ui. Aby uzyskać szczegóły silnika wideo i audio, użyj:
openshot-qt --debug-engine
Aby zebrać oba typy szczegółów razem:
openshot-qt --debug-ui --debug-engine
Powtórz kroki powodujące problem, następnie zamknij OpenShot i zbierz logi. Te argumenty nie zmieniają zapisanych preferencji. Normalne uruchomienie OpenShot przywraca zwykłe ustawienia logowania.
openshot-qt.log tworzy nowy plik po osiągnięciu około 25 MB i przechowuje trzy starsze kopie. libopenshot.log ciągle rośnie wraz z dodawaniem wiadomości. Po zapisaniu potrzebnych logów możesz usunąć stare pliki logów, gdy OpenShot jest zamknięty.
Inne opcje logowania
Większość użytkowników potrzebuje tylko dwóch powyższych kontrolerów. Następujące opcje pozwalają wybrać, ile szczegółów trafia do plików lub pojawia się w terminalu. Tutaj konsola oznacza wyjście terminala. Pełną listę opcji uruchamiania aplikacji znajdziesz w Opcje uruchamiania z linii poleceń. Aby edytować projekty lub automatyzować eksporty z terminala, zobacz Interfejs wiersza poleceń.
Opcja |
Co robi |
|---|---|
|
Włącza logowanie debugowania interfejsu użytkownika w pliku i terminalu. |
|
Włącza logowanie debugowania silnika wideo i audio w pliku i terminalu. |
|
Dodaje szczegóły edytora do |
|
Dodaje szczegóły edytora w terminalu bez dodawania szczegółów do pliku. |
|
Ustawia poziom szczegółowości dla obu logów i ich wyjścia w terminalu. |
|
Ustawia poziom szczegółowości dla obu plików logów, pozostawiając ustawienia terminala bez zmian. |
|
Ustawia szczegółowość w terminalu zarówno dla edytora, jak i silnika, pozostawiając ustawienia plików bez zmian. |
Zamień LEVEL na debug dla szczegółowych komunikatów lub info dla normalnego podsumowania. warning pokazuje ostrzeżenia i błędy; error pokazuje błędy i krytyczne awarie; critical pokazuje tylko krytyczne awarie. off zatrzymuje zwykłe komunikaty logów, ale istniejące diagnostyki awarii mogą być nadal zapisywane. Działają też nazwy wielkimi literami, takie jak DEBUG.
Na przykład, aby zbierać szczegółowe komunikaty w obu plikach, zachowując terminal na zwykłym poziomie:
openshot-qt --log-file-level debug
To także włącza obszerny log silnika, więc używaj tego krótko. Starsze opcje --debug-file i --debug-console nadal działają, mimo że nie są wymienione w --help.
Zmienne środowiskowe
Zmienne środowiskowe to nazwane ustawienia przekazywane do programu podczas jego uruchamiania. Są przydatne przy uruchamianiu OpenShot ze skryptu lub gdy osoba wsparcia prosi o wypróbowanie konkretnego ustawienia. Nie musisz ich ustawiać do normalnego użytku.
Zmienna |
Co kontroluje |
|---|---|
|
Szczegóły w obu plikach i terminalu. |
|
Szczegóły tylko w obu plikach. |
|
Szczegóły tylko w terminalu, dla obu części OpenShot. |
|
Szczegóły dla silnika wideo i audio, w jego pliku i terminalu. |
|
Szczegóły tylko w |
|
Szczegóły silnika tylko w terminalu. |
Na przykład, to polecenie terminala Linux/macOS prosi o szczegółowe logowanie silnika w jego pliku dla jednego uruchomienia:
LIBOPENSHOT_LOG_FILE_LEVEL=debug openshot-qt
Jeśli ustawienia się nakładają, priorytet mają opcje wiersza poleceń, następnie zmienne środowiskowe, potem Preferencje, a na końcu domyślne ustawienia. Każde ustawienie wpływa tylko na opisany przez siebie wynik: --debug nie nadpisuje preferencji silnika. Tymczasowe nadpisania nie zmieniają zapisanych preferencji. Najedź kursorem na dowolne pole wyboru, aby zobaczyć, czy inne ustawienie kontroluje ten plik logu.
W ustawieniach środowiskowych wartości LIBOPENSHOT_ mają priorytet nad wartościami OPENSHOT_ dla silnika. W każdej grupie poziom tylko dla pliku lub tylko dla konsoli ma priorytet nad ogólnym poziomem. Opcje wiersza poleceń stosują tę samą zasadę plik/konsola. Sprzeczne poziomy wiersza poleceń dla tego samego wyjścia są odrzucane; nieprawidłowe poziomy środowiskowe są zgłaszane i ignorowane.
Dla starszych skryptów, LIBOPENSHOT_DEBUG nadal włącza szczegółowe komunikaty silnika w terminalu, gdy jest obecny, nawet jeśli jego wartość to 0. Nowsze ustawienia poziomu mają nad nim priorytet. LIBOPENSHOT_LOG_FILE jest przeznaczony dla programów używających silnika osobno; sam OpenShot używa powyższego folderu logów. Zmiana ustawień logowania nie zmienia twoich preferencji raportowania błędów.
Brak reakcji Windows 11
Jeśli doświadczasz zawieszenia na Windows 11, jest to znany problem z PyQt5 i Windows 11, związany z funkcjami dostępności w Qt. Problem wywołuje naciśnięcie Ctrl+C w OpenShot (tylko na Windows 11). OpenShot przestaje reagować, a także występuje wyciek pamięci (im dłużej OpenShot nie reaguje, tym większy jest wyciek pamięci, aż do momentu awarii programu lub zakończenia procesu przez użytkownika).
Prostym obejściem jest unikanie używania Ctrl+C na Windows 11 i zamiast tego korzystanie z menu kopiowania/wklejania dostępnego po kliknięciu prawym przyciskiem myszy. Innym rozwiązaniem jest zmiana przypisania skrótu „Kopiuj” z Ctrl+C na inny, na przykład Alt+C. Możesz zmienić przypisania klawiszy w Preferencjach OpenShot. Zobacz Klawiatura.
Debugowanie Windows za pomocą GDB
Jeśli doświadczasz awarii lub zawieszenia OpenShot na Windows 10/11, poniższe instrukcje krok po kroku pomogą Ci ustalić przyczynę awarii. Instrukcje te wyświetlą ślad stosu kodu źródłowego OpenShot w miejscu awarii. Informacje te są niezwykle przydatne dla naszego zespołu deweloperskiego i warto dołączyć je do zgłoszeń błędów (dla szybszego rozwiązania).
Zainstaluj najnowszą wersję dzienną
Przed dołączeniem debugera, pobierz najnowszą wersję OpenShot: https://www.openshot.org/download#daily. Zainstaluj tę wersję OpenShot w domyślnej lokalizacji: C:\Program Files\OpenShot Video Editor\. Szczegółowe instrukcje dotyczące debugowania OpenShot na Windows znajdziesz w tej wiki.
Zainstaluj MSYS2
Wersja OpenShot na Windows jest kompilowana przy użyciu środowiska o nazwie MSYS2. Aby dołączyć debuger GDB do naszego pliku wykonywalnego openshot-qt.exe, musisz najpierw zainstalować MSYS2. Ten krok jest wymagany tylko raz.
Pobierz i zainstaluj MSYS2: http://www.msys2.org/
Uruchom wiersz poleceń
MSYS2 MinGW x64(na przykład:C:\msys64\msys2_shell.cmd -mingw64)Zaktualizuj wszystkie pakiety (skopiuj/wklej następujące polecenie):
pacman -SyuZainstaluj debuger GDB (skopiuj/wklej następujące polecenie):
pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
Uruchom OpenShot z debugerem GDB
Uruchom wiersz poleceń MSYS2 MinGW x64 (na przykład: C:\msys64\msys2_shell.cmd -mingw64)
Zaktualizuj zmienną PATH (skopiuj/wklej następujące polecenia):
export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"
Załaduj OpenShot do debugera GDB (skopiuj/wklej następujące polecenia):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
Uruchom OpenShot z poziomu konsoli GDB (skopiuj/wklej następujące polecenie):
run --debug
Wyświetl informacje debugowania
Gdy OpenShot zostanie pomyślnie uruchomiony z dołączonym GDB, wystarczy wywołać awarię lub zawieszenie w OpenShot. Po wystąpieniu awarii wróć do terminala MSYS2 MinGW64 i uruchom jedno z poniższych poleceń (wpisując je i naciskając ENTER). Zazwyczaj pierwszym poleceniem jest bt, co oznacza backtrace. Więcej poleceń znajduje się poniżej.
(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)
Wysokie DPI / Monitory 4K
OpenShot Video Editor oferuje solidne wsparcie dla monitorów o wysokim DPI (punktów na cal), zapewniając, że interfejs jest ostry i łatwy do odczytania na wyświetlaczach z różnymi ustawieniami DPI. To wsparcie jest szczególnie przydatne na monitorach 4K i innych wyświetlaczach o wysokiej rozdzielczości.
Świadomość DPI dla każdego monitora
OpenShot rozpoznaje DPI indywidualnie dla każdego monitora, co oznacza, że może dynamicznie dostosowywać skalowanie w zależności od ustawień DPI każdego podłączonego monitora. Pomaga to zapewnić spójne doświadczenie na różnych wyświetlaczach.
Skalowanie DPI w systemie Windows
W systemie Windows OpenShot zaokrągla współczynnik skalowania do najbliższej wartości całkowitej, aby zachować integralność wizualną. Pomaga to uniknąć artefaktów wizualnych w interfejsie i utrzymuje elementy interfejsu ostre i dobrze wyrównane. Z powodu tego zaokrąglenia niektóre opcje skalowania mogą powodować większe czcionki i elementy interfejsu niż oczekiwano.
Skalowanie 125% jest zaokrąglane do 100%
Skalowanie 150% jest zaokrąglane do 200%
Obejścia dla precyzyjnej regulacji
Chociaż zaokrąglanie pomaga utrzymać czysty interfejs, istnieją obejścia dla użytkowników, którzy potrzebują bardziej precyzyjnej kontroli nad skalowaniem. Te metody nie są zalecane ze względu na potencjalne artefakty wizualne:
QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
Ustawienie tej zmiennej środowiskowej może wyłączyć zaokrąglanie i umożliwić dokładniejsze skalowanie.
Uwaga: Może to powodować artefakty wizualne, szczególnie na osi czasu, i nie jest zalecane.
QT_SCALE_FACTOR=1.25 (lub podobna wartość)
Ręczne ustawienie współczynnika skalowania może zapewnić dokładniejsze dostosowanie czcionek i skalowania interfejsu.
Można to również ustawić w Preferencjach (Skalowanie interfejsu użytkownika), ale należy spodziewać się problemów z obramowaniami/linie na Windows przy ułamkowych skalach.
Uwaga: Ta metoda może również prowadzić do artefaktów wizualnych i utrudniać korzystanie z OpenShot.
Aby uzyskać więcej informacji na temat dostosowywania tych zmiennych środowiskowych, odwiedź https://github.com/OpenShot/openshot-qt/wiki/OpenShot-UI-too-large.