【輕鬆工作家】一行指令自動產生 YouTube 繁體中文字幕:yt-whisper-srt 免費開源工具
只要貼上 YouTube 網址、執行一行指令,就能自動產生繁體中文 .srt 字幕檔,而且完全免費、在自己電腦上執行。
為什麼要自己產生字幕?
拍影片的人都知道,上字幕是最花時間的工作。YouTube 雖然有自動字幕,但用起來常遇到幾個問題:
- 中文辨識錯字多,專有名詞幾乎都會聽錯
- 自動字幕常常是簡體字,或根本沒有產生
- 別人的影片無法直接下載字幕檔
- 想把字幕拿去剪輯軟體或做成文字稿,沒有方便的方法
為了解決這些問題,我寫了一個小工具 yt-whisper-srt,用 OpenAI 的 Whisper 語音辨識模型自動聽打,並轉成台灣慣用的繁體中文,已經在 GitHub 免費公開。
yt-whisper-srt 能做什麼
它把「下載音訊 → 語音辨識 → 簡轉繁 → 輸出字幕」全部自動完成。
- 貼網址就好:支援單支影片、多支影片,也支援整個播放清單
- 本機影片也能用:還沒上傳的
.mp4、錄音檔都可以直接辨識 - 自動轉繁體:簡體轉繁體,並換成台灣用語(例如「視頻」→「影片」)
- 只下載音訊:不下載整支影片,辨識完自動刪除,不佔硬碟空間
- 不用裝 ffmpeg:省去 Windows 上最麻煩的一步
- 自動選模型:有 NVIDIA 顯示卡就用 GPU 跑最準的
large-v3,沒有就用 CPU 跑medium - 多語言:英文、日文影片也能辨識,還可以直接翻成英文字幕
所有辨識都在你自己的電腦上完成,影片內容不會上傳到任何伺服器,也沒有使用次數限制。
安裝步驟(Windows)
只需要安裝 Python 和三個套件,大約 5 分鐘就能完成。
- 安裝 Python:到 python.org 下載 3.10 以上版本,安裝時勾選「Add Python to PATH」。
- 下載程式:打開 GitHub 儲存庫,按綠色的 Code → Download ZIP,解壓縮到任一資料夾,例如
C:\Projects\youtube 字幕。 - 開啟命令列:在檔案總管打開該資料夾,點上方網址列輸入
cmd按 Enter,就會在這個資料夾開啟命令列。 - 安裝套件:
pip install -r requirements.txt
第一次執行時會自動下載辨識模型(medium 約 1.5 GB),請耐心等候,之後就不用再下載。
使用方式
最基本的用法只有一行,字幕會存到 subtitles 資料夾,檔名就是影片標題:
python yt_whisper_srt.py "https://youtu.be/影片ID"
其他常用情境:
# 多支影片一次處理
python yt_whisper_srt.py 網址1 網址2 網址3
# 整個播放清單
python yt_whisper_srt.py "https://www.youtube.com/playlist?list=xxxx"
# 本機影片
python yt_whisper_srt.py 影片.mp4
# 英文影片
python yt_whisper_srt.py 網址 --lang en
# 外語影片直接產生英文字幕
python yt_whisper_srt.py 網址 --translate
# 另外輸出純文字稿
python yt_whisper_srt.py 網址 --txt
| 參數 | 用途 | 預設值 |
|---|---|---|
--model | 模型大小:tiny / base / small / medium / large-v3,越大越準也越慢 | 有 GPU:large-v3;無:medium |
--lang | 語言代碼:zh、en、ja,或 auto 自動偵測 | zh |
--out | 輸出資料夾 | subtitles |
--translate | 翻譯成英文字幕 | 關閉 |
--txt | 另存純文字 .txt | 關閉 |
--keep-audio | 保留下載的音訊檔 | 關閉 |
速度參考:用 CPU 跑 medium 模型,大約需要接近影片長度的時間;覺得太慢可以加 --model small,快 2–3 倍但準確度稍低。
實際示範:青鱂魚採卵影片
以我自己的影片「【輕鬆工作家】青鱂魚採卵 甲基藍 防黴菌」為例,執行:
python yt_whisper_srt.py "https://youtu.be/mkEqgQYrJ-g"
程式會依序顯示這些訊息:
載入模型 medium(cpu)…
下載音訊:https://youtu.be/mkEqgQYrJ-g
[download] 100% of 5.20MiB in 00:00:03
辨識中:【輕鬆工作家】 青鱂魚採卵 甲基藍 防 黴菌 [mkEqgQYrJ-g].webm
偵測語言:zh
進度 100.0%
✔ 字幕:subtitles\【輕鬆工作家】 青鱂魚採卵 甲基藍 防 黴菌 [mkEqgQYrJ-g].srt
音訊只有 5 MB,幾秒就下載完。產生的 .srt 是標準字幕格式,用記事本就能打開修改:
1
00:00:01,200 --> 00:00:04,560
(第一句字幕內容)
2
00:00:04,560 --> 00:00:08,100
(第二句字幕內容)
把字幕上傳回 YouTube
字幕產生後,建議先用記事本掃過一遍修正專有名詞,再上傳:
- 進入 YouTube Studio,點左側「字幕」
- 選擇要加字幕的影片,按「新增語言」選「中文(台灣)」
- 在字幕欄點「新增」→「上傳檔案」
- 選「含時間碼」,挑選剛剛產生的
.srt - 按「發布」
影片有了正確的字幕,聽障觀眾、在外面靜音觀看的人都能看懂,字幕文字也有助於 YouTube 理解影片內容。同一份 .srt 也能匯入剪映、Premiere 等剪輯軟體使用。
常見問題
下面是我實際使用時遇到的狀況和解法。
| 訊息或狀況 | 原因 | 解法 |
|---|---|---|
can't open file ... No such file or directory | 命令列不在程式所在資料夾 | 先 cd 到程式資料夾,或在資料夾網址列輸入 cmd |
huggingface_hub ... symlinks 警告 | Windows 預設不支援符號連結 | 只是警告,可忽略;新版程式已隱藏 |
No supported JavaScript runtime 警告 | yt-dlp 新版需要 JS 執行環境 | 不影響就先不理;下載失敗時執行 winget install DenoLand.Deno |
unexpected keyword argument 'metadata_errors' | PyAV 15 版與 faster-whisper 不相容 | 更新到 GitHub 上的最新版程式,已內建修正 |
| 辨識太慢 | CPU 跑大模型 | 加 --model small |
| 專有名詞聽錯 | 模型不認識該詞 | 改用 --model large-v3,或直接編輯 .srt |
結語
以前一支 10 分鐘的影片,手打字幕要花上一兩個小時;現在讓電腦先聽打,我只要做校對就好。如果你也有在經營 YouTube 頻道,歡迎拿去用。
- 程式下載:github.com/cphsia/yt-whisper-srt
- 授權:MIT,可自由使用、修改
使用上有問題或建議,歡迎在下方留言,或到 GitHub 提 Issue。


留言
張貼留言
請多指教