故障排除

如果您在使用 OpenShot 時遇到凍結、當機或錯誤訊息等問題,有許多不同的方法可以協助您排除故障。

使用日誌來排解問題

日誌是一種文字檔,記錄 OpenShot 的操作內容,以及警告和錯誤。這些檔案可以幫助支援團隊了解問題,即使您沒有在螢幕上看到錯誤訊息。

OpenShot 會在您的主目錄內的 .openshot_qt 資料夾中保留兩個日誌檔。在 Linux 和 macOS 上,此位置表示為 ~/.openshot_qt/。該資料夾可能在您的檔案管理器中是隱藏的。

這兩個日誌檔

檔案

記錄內容

openshot-qt.log

編輯器中的活動:啟動 OpenShot、載入專案、變更設定及使用介面。這通常是調查問題時最好的起點。

libopenshot.log

OpenShot 影片與音訊引擎中的活動,該部分負責讀取媒體並建立用於預覽和匯出影片的影像與聲音。詳細的引擎日誌有助於調查播放和匯出問題。

這些檔案記錄同一應用程式的不同部分。報告問題時,若有可能請一併提供兩個檔案。您不需要自己理解每一行內容。

選擇要記錄 OpenShot 的哪個部分

開啟 編輯 → 偏好設定 → 進階 以找到這兩個設定:

偏好設定與相對應的終端機選項

偏好設定

相對應參數

日誌檔

使用者介面除錯日誌

--debug-ui

openshot-qt.log

影片與音訊引擎除錯日誌

--debug-engine

libopenshot.log

這兩個偏好設定預設皆為關閉,保持一般摘要訊息。啟用其中一項會立即在其日誌檔中加入詳細內容,不會改變另一個日誌或在終端機中新增訊息。偏好設定會在啟動間保持啟用狀態,直到您將其關閉。

使用者介面除錯日誌 是針對啟動、專案載入、設定或介面問題的良好起點。影片與音訊引擎除錯日誌 則會加入影片與音訊處理的詳細資訊,有助於調查播放和匯出問題。引擎日誌可能迅速增大並使 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 指的是終端機輸出。

日誌選項

選項

功能說明

--debug-ui、--debug 或 -d

啟用使用者介面除錯日誌,並在檔案及終端機中記錄。

--debug-engine

啟用影片與音訊引擎除錯日誌,並在檔案及終端機中記錄。

--debug-file

將編輯器詳細資訊加入 openshot-qt.log,但不在終端機中顯示。

--debug-console

在終端機中加入編輯器詳細資訊,但不寫入檔案。

--log-level LEVEL

設定兩個日誌檔及其終端機輸出的詳細程度。

--log-file-level LEVEL

設定兩個日誌檔的詳細程度,不影響終端機設定。

--log-console-level LEVEL

設定終端機中編輯器和引擎的詳細程度,檔案設定保持不變。

將 LEVEL 替換為 debug 以顯示詳細訊息,或 info 以顯示一般摘要。warning 顯示警告和錯誤;error 顯示錯誤和嚴重故障;critical 僅顯示嚴重故障。off 停止一般日誌訊息,但現有的崩潰診斷仍可能被寫入。大寫名稱如 DEBUG 也可使用。

例如,要在保持終端機於正常等級的同時,收集**兩個檔案**中的詳細訊息:

openshot-qt --log-file-level debug

這也會啟用大型引擎日誌,因此請短暫使用。舊的 --debug-file 和 --debug-console 選項仍然有效,儘管它們未列在 --help 中。

環境變數

環境變數是在程式啟動時傳遞給它的命名設定。當從腳本啟動 OpenShot 或支援人員要求您嘗試特定設定時,這些變數很有用。一般使用時不需要設定它們。

可選的環境設定

變數

控制內容

OPENSHOT_LOG_LEVEL

檔案和終端機中的詳細程度。

OPENSHOT_LOG_FILE_LEVEL

僅檔案中的詳細程度。

OPENSHOT_LOG_CONSOLE_LEVEL

僅終端機中的詳細程度,適用於 OpenShot 兩個部分。

LIBOPENSHOT_LOG_LEVEL

影片和音訊引擎的詳細程度,包含其檔案和終端機。

LIBOPENSHOT_LOG_FILE_LEVEL

僅 libopenshot.log 中的詳細程度。

LIBOPENSHOT_LOG_CONSOLE_LEVEL

引擎在終端機中的詳細程度。

例如,這個 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。此步驟只需執行一次。

  1. 下載並安裝 MSYS2:http://www.msys2.org/

  2. 執行 MSYS2 MinGW x64 命令提示字元(例如:C:\msys64\msys2_shell.cmd -mingw64 )

  3. 更新所有套件(複製/貼上以下指令 ):

    pacman -Syu
    
  4. 安裝 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

高 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。