故障排除
如果您在使用 OpenShot 時遇到凍結、當機或錯誤訊息等問題,有許多不同的方法可以協助您排除故障。
使用日誌來排解問題
日誌是一種文字檔,記錄 OpenShot 的操作內容,以及警告和錯誤。這些檔案可以幫助支援團隊了解問題,即使您沒有在螢幕上看到錯誤訊息。
OpenShot 會在您的主目錄內的 .openshot_qt 資料夾中保留兩個日誌檔。在 Linux 和 macOS 上,此位置表示為 ~/.openshot_qt/。該資料夾可能在您的檔案管理器中是隱藏的。
檔案 |
記錄內容 |
|---|---|
|
編輯器中的活動:啟動 OpenShot、載入專案、變更設定及使用介面。這通常是調查問題時最好的起點。 |
|
OpenShot 影片與音訊引擎中的活動,該部分負責讀取媒體並建立用於預覽和匯出影片的影像與聲音。詳細的引擎日誌有助於調查播放和匯出問題。 |
這些檔案記錄同一應用程式的不同部分。報告問題時,若有可能請一併提供兩個檔案。您不需要自己理解每一行內容。
選擇要記錄 OpenShot 的哪個部分
開啟 編輯 → 偏好設定 → 進階 以找到這兩個設定:
偏好設定 |
相對應參數 |
日誌檔 |
|---|---|---|
使用者介面除錯日誌 |
|
|
影片與音訊引擎除錯日誌 |
|
|
這兩個偏好設定預設皆為關閉,保持一般摘要訊息。啟用其中一項會立即在其日誌檔中加入詳細內容,不會改變另一個日誌或在終端機中新增訊息。偏好設定會在啟動間保持啟用狀態,直到您將其關閉。
使用者介面除錯日誌 是針對啟動、專案載入、設定或介面問題的良好起點。影片與音訊引擎除錯日誌 則會加入影片與音訊處理的詳細資訊,有助於調查播放和匯出問題。引擎日誌可能迅速增大並使 OpenShot 變慢。請在重現問題前短暫啟用此設定,之後再將其關閉。
引擎偏好設定先前稱為 除錯模式(詳細)。其已儲存的開啟/關閉設定會沿用至新名稱。
使用終端機執行一次啟動
終端機是您輸入指令的視窗。相對應的參數會啟用與偏好設定相同的詳細資訊,並在終端機中顯示:
openshot-qt --debug-ui
這會記錄一次啟動的介面詳細資訊。熟悉的 --debug 和較短的 -d 選項與 --debug-ui 意義相同。若要記錄影片與音訊引擎詳細資訊,請使用:
openshot-qt --debug-engine
要同時收集兩種詳細資訊:
openshot-qt --debug-ui --debug-engine
重複導致問題的步驟,然後關閉 OpenShot 並收集日誌。這些參數不會更改您已儲存的偏好設定。正常啟動 OpenShot 會回復您平常的日誌設定。
openshot-qt.log 在達到約 25 MB 時會開始新檔,並保留三個舊檔副本。libopenshot.log 則會隨訊息增加持續成長。儲存所需日誌後,您可以在關閉 OpenShot 時刪除舊的日誌檔。
其他命令列選項
大多數使用者只需要上述兩個控制項。以下選項讓您選擇要在檔案或終端機中顯示多少詳細資訊。此處,console 指的是終端機輸出。
選項 |
功能說明 |
|---|---|
|
啟用使用者介面除錯日誌,並在檔案及終端機中記錄。 |
|
啟用影片與音訊引擎除錯日誌,並在檔案及終端機中記錄。 |
|
將編輯器詳細資訊加入 |
|
在終端機中加入編輯器詳細資訊,但不寫入檔案。 |
|
設定兩個日誌檔及其終端機輸出的詳細程度。 |
|
設定兩個日誌檔的詳細程度,不影響終端機設定。 |
|
設定終端機中編輯器和引擎的詳細程度,檔案設定保持不變。 |
將 LEVEL 替換為 debug 以顯示詳細訊息,或 info 以顯示一般摘要。warning 顯示警告和錯誤;error 顯示錯誤和嚴重故障;critical 僅顯示嚴重故障。off 停止一般日誌訊息,但現有的崩潰診斷仍可能被寫入。大寫名稱如 DEBUG 也可使用。
例如,要在保持終端機於正常等級的同時,收集**兩個檔案**中的詳細訊息:
openshot-qt --log-file-level debug
這也會啟用大型引擎日誌,因此請短暫使用。舊的 --debug-file 和 --debug-console 選項仍然有效,儘管它們未列在 --help 中。
環境變數
環境變數是在程式啟動時傳遞給它的命名設定。當從腳本啟動 OpenShot 或支援人員要求您嘗試特定設定時,這些變數很有用。一般使用時不需要設定它們。
變數 |
控制內容 |
|---|---|
|
檔案和終端機中的詳細程度。 |
|
僅檔案中的詳細程度。 |
|
僅終端機中的詳細程度,適用於 OpenShot 兩個部分。 |
|
影片和音訊引擎的詳細程度,包含其檔案和終端機。 |
|
僅 |
|
引擎在終端機中的詳細程度。 |
例如,這個 Linux/macOS 終端機指令會在檔案中請求一次啟動的詳細引擎日誌:
LIBOPENSHOT_LOG_FILE_LEVEL=debug openshot-qt
若設定重疊,命令列選項優先,其次是環境變數,再來是偏好設定,最後是一般預設。每個控制項只影響其描述的輸出:--debug 不會覆蓋引擎偏好設定。臨時覆蓋不會改變您已儲存的偏好。將滑鼠懸停在任一核取方塊上可查看是否有其他設定控制該日誌檔。
在環境設定中,對於引擎而言,LIBOPENSHOT_ 的值優先於 OPENSHOT_。在任一群組中,僅檔案或僅終端機的等級優先於一般等級。命令列選項遵循相同的檔案/終端機規則。相同輸出衝突的命令列等級會被拒絕;無效的環境等級會被報告並忽略。
對於舊腳本,無論值是否為 0,只要存在 LIBOPENSHOT_DEBUG,仍會在終端機啟用詳細引擎訊息。較新的等級設定優先於它。LIBOPENSHOT_LOG_FILE 是為分開使用引擎的程式設計;OpenShot 本身使用上述的日誌資料夾。更改日誌設定不會改變您的錯誤回報偏好。
Windows 11 無回應
如果您在 Windows 11 上遇到凍結,這是 PyQt5 與 Windows 11 之間已知的問題,與 Qt 的輔助功能有關。此問題會在 OpenShot 中按下 Ctrl+C 時觸發(僅限 Windows 11 )。OpenShot 將變得無回應,且會發生記憶體洩漏(即 OpenShot 無回應的時間越長,記憶體洩漏越嚴重,直到 OpenShot 最終當機或使用者終止程序)。
簡單的解決方法是在 Windows 11 上避免使用 Ctrl+C ,改用滑鼠右鍵的複製/貼上選單。另一種方法是將「複製」的快捷鍵從 Ctrl+C 重新映射到其他按鍵,例如 Alt+C 。您可以在 OpenShot 偏好設定中更改鍵盤映射。請參閱 鍵盤 。
Windows 上使用 GDB 除錯
如果您在 Windows 10/11 上使用 OpenShot 時遇到當機或凍結,以下逐步說明將協助您找出當機原因。這些指示會顯示 OpenShot 原始碼中當機位置的堆疊追蹤。此資訊對我們的開發團隊非常有用,也適合附加於錯誤回報中(以加快問題解決速度)。
安裝最新的每日版本
在附加除錯器之前,請下載 OpenShot 的**最新版本** : https://www.openshot.org/download#daily。將此版本安裝到預設位置:C:\Program Files\OpenShot Video Editor\ 。有關在 Windows 上除錯 OpenShot 的詳細說明,請參閱 ` 此維基 <https://github.com/OpenShot/openshot-qt/wiki/Windows-Debugging-with-GDB>`_ 。 this wiki
安裝 MSYS2
Windows 版本的 OpenShot 是使用名為 MSYS2 的環境編譯。要將 GDB 除錯器附加到執行檔 openshot-qt.exe ,您必須先安裝 MSYS2。此步驟只需執行一次。
下載並安裝 MSYS2:http://www.msys2.org/
執行
MSYS2 MinGW x64命令提示字元(例如:C:\msys64\msys2_shell.cmd -mingw64)更新所有套件(複製/貼上以下指令 ):
pacman -Syu安裝 GDB 除錯器(複製/貼上以下指令 ):
pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
使用 GDB 除錯器啟動 OpenShot
執行 MSYS2 MinGW x64 命令提示字元(例如:C:\msys64\msys2_shell.cmd -mingw64 )
更新 PATH(複製/貼上以下指令 ):
export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"
將 OpenShot 載入 GDB 除錯器(複製/貼上以下指令 ):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
從 GDB 提示字元啟動 OpenShot(複製/貼上以下指令 ):
run --debug
列印除錯資訊
當 OpenShot 成功啟動並附加 GDB 後,您只需在 OpenShot 中觸發當機或凍結。當發生當機時,切換回 MSYS2 MinGW64 終端機,執行以下其中一個指令(輸入後按 ENTER)。通常第一個輸入的指令是 bt ,代表 backtrace 。更多指令列於下方。
(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)
高 DPI / 4K 螢幕
OpenShot Video Editor 提供對高 DPI(每英吋點數)螢幕的強大支援,確保介面在不同 DPI 設定的顯示器上清晰銳利且易於閱讀。此支援對 4K 螢幕及其他高解析度顯示器特別有幫助。
每螢幕 DPI 感知
OpenShot 具備每螢幕 DPI 感知能力,能根據每個連接螢幕的 DPI 設定動態調整縮放比例,有助於在不同顯示器間提供一致的使用體驗。
Windows 上的 DPI 縮放
在 Windows 上,OpenShot 會將縮放比例四捨五入至最接近的整數,以維持視覺完整性。這有助於避免介面出現視覺異常,並保持介面元素清晰且排列整齊。由於此四捨五入,某些縮放選項可能導致字型和介面元素比預期更大。
125% 縮放 會四捨五入為 100%
150% 縮放 會四捨五入為 200%
細緻調整的解決方法
雖然四捨五入有助於維持介面整潔,但對於需要更精確縮放控制的使用者,有一些解決方法。由於可能產生視覺異常,這些方法 不建議 使用:
QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
設定此環境變數可停用四捨五入,允許更精確的縮放。
注意: 這可能會導致視覺異常,尤其是在時間軸中,且不建議使用。
QT_SCALE_FACTOR=1.25 (或類似數值)
手動設定縮放比例可提供字型和介面縮放的更細緻調整。
此設定也可透過偏好設定(使用者介面縮放)調整,但在 Windows 上使用小數縮放比例時,可能會出現邊框或線條問題。
注意: 此方法也可能導致視覺異常,並使 OpenShot 更難使用。
欲了解更多關於調整這些環境變數的資訊,請造訪 https://github.com/OpenShot/openshot-qt/wiki/OpenShot-UI-too-large。