FFmpeg 工具箱是一個使用 Python 和 Gradio 開發的網頁應用程式,提供常見的 FFmpeg 影音操作功能。透過統一的網頁介面,輕鬆完成影片轉檔、截圖、剪輯、字幕燒錄等多種任務。
本工具箱提供 7 大功能,以分頁方式呈現:
| 分頁 | 功能 | 說明 |
|---|---|---|
| ℹ️ 媒體資訊 | 檢視媒體檔案詳細資訊 | 使用 ffprobe 讀取格式、串流、時長、位元率等 |
| 🔄 影片轉檔 | 影片格式與編碼轉換 | 支援多種格式(MP4, MKV, AVI, MOV, WebM),可選擇硬體加速(NVENC/QSV)與畫質 |
| ✂️ 影片剪輯 | 依時間裁剪影片片段 | 支援快速複製模式與重新編碼模式 |
| 📸 影片截圖 | 單張與批次擷取影片畫面 | 指定時間點截圖或每 N 秒自動擷取,支援 PNG/JPG |
| 📐 解析度/旋轉 | 調整影片尺寸與旋轉角度 | 支援縮放與旋轉(90°/180°/270°) |
| 🔊 音訊擷取 | 從影片中提取音訊 | 支援 MP3、AAC、FLAC、WAV 格式 |
| 📝 字幕燒錄 | 將字幕檔燒錄至影片中 | 支援 SRT/ASS/SSA 格式,豐富的字幕樣式自訂 |
- 簡潔直觀的網頁介面(自動開啟瀏覽器)
- 智慧型程式生命週期管理(關閉瀏覽器後自動退出,或透過全域關閉按鈕退出)
- GPU 硬體加速編碼(NVIDIA NVENC / Intel QSV),啟動時自動偵測可用硬體,失敗自動回退 CPU
- 全域輸出目錄設定,所有功能統一管理輸出路徑
- 電影級深色主題介面(毛玻璃效果、漸層動畫)
- 完整的即時日誌輸出,方便排查問題
- Python 3.10 或更高版本(推薦使用 uv 管理)
- FFmpeg / ffprobe(需預先安裝並設置到系統環境變數)
- 現代網頁瀏覽器(Chrome、Firefox、Safari、Edge 等)
- Windows, macOS 或 Linux 系統
在使用本工具前,請先安裝 FFmpeg 並確保它可以從命令列呼叫。
Windows:
推薦使用以下方式安裝:
-
使用 Chocolatey:
choco install ffmpeg -
使用 Scoop:
scoop install ffmpeg -
使用 winget:
winget install ffmpeg -
手動安裝:
macOS:
brew install ffmpegDebian/Ubuntu:
sudo apt update
sudo apt install ffmpeg本專案使用 uv 進行依賴管理。請先安裝 uv:
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh安裝並執行專案:
# 同步依賴並安裝專案
uv sync
# 執行應用程式(會自動開啟瀏覽器)
uv run ffsubtool-
執行程式:
uv run ffsubtool
程式會自動開啟瀏覽器並連接到 http://127.0.0.1:7860
-
在網頁介面中選擇對應功能的分頁
-
上傳檔案、調整參數,點擊處理按鈕即可
-
完成後可直接關閉瀏覽器視窗,程式會自動退出
- FFmpeg 未找到錯誤:請確認 FFmpeg 已正確安裝並新增到系統環境變數中
- GPU 加速不可用:如果 GPU 不支援 NVENC 或 QSV,程式會自動切換到 CPU 編碼。可在影片轉換分頁的「硬體加速」選項手動選擇
- 查看記錄:處理日誌會即時顯示在網頁介面中
專案採用模組化三層架構設計:
ffmpeg_toolkit/
├── core/ # 核心層:FFmpeg 執行器、編碼策略、路徑驗證
├── features/ # 功能層:每個功能一個模組(Config + Worker 模式)
├── ui/ # UI 層:Gradio 網頁介面(可替換)
└── main.py # 進入點
- Core 層:FFmpeg 執行器(subprocess 管理、逾時保護)、編碼策略(NVENC/QSV → CPU 回退、品質參數自動映射)、路徑驗證
- Features 層:7 個獨立功能模組,各自包含設定資料類別與處理類別
- UI 層:7 分頁 Gradio 網頁介面,每個分頁對應一項功能
所有核心功能皆有完整的單元測試覆蓋(114 項測試)。
# 安裝開發依賴
uv sync --group dev
# 執行測試
uv run pytest
# 程式碼檢查與格式化
uv run ruff check ffmpeg_toolkit/
uv run ruff format ffmpeg_toolkit/本項目採用 MIT 授權協議。
如有問題或建議,歡迎提交 issue 或聯絡開發者。