Lecture Video to PDF & Transcription Studio:把課程影片轉成講義 PDF,也能輸出逐字稿字幕
去年三月,我曾經寫過一篇文章,介紹自己改良過的一款小工具:《Video to PDF with Transcription:免網路、快速轉影片成投影片+語音轉文字的免費工具!》。
那時候的需求很單純。
我常常會看課程影片、線上教學、讀書會錄影或簡報型影片。這類影片如果只有影片檔,其實很不方便複習。你要一直拖時間軸,找到某一張投影片,再手動截圖,最後還要整理成 PDF。
所以當時我就做了一個小工具,希望可以把影片裡的投影片畫面擷取出來,整理成一份講義 PDF。對我自己來說,這個工具確實有解決一些真實需求。
不過老實說,當時的版本也有一些限制。
舊版能用,但還有幾個明顯問題
當時的版本比較像是早期自用工具。可以跑,也真的能產出 PDF,但遇到比較複雜的影片時,效果就不一定穩。
舉例來說:
- 如果投影片裡有很多動畫,可能會把同一頁重複擷取好幾次。
- 如果換頁很快,有些投影片可能會被漏掉。
- 如果影片畫面裡有講師視窗、Zoom 版面,或投影片區域一直改變,擷取判斷就容易受影響。
- 舊版啟動速度比較慢,介面也比較像測試工具。
- 語音轉文字功能當時沒有做得很穩,實際使用上比較難當成主功能。
這些問題其實不難理解。
那時候 AI agent 還沒有現在這麼成熟,我很多流程是靠自己在網頁版 ChatGPT 一來一往慢慢調。那個時代能把工具做出來已經算有趣,但如果要公開分享給更多人用,工程品質、介面、安裝方式和錯誤處理就還需要再整理。
所以這次我重新做了一版。
新版專案名稱叫做 Lecture Video to PDF & Transcription Studio。中文名稱我暫定為「課程影片轉講義 PDF 與逐字稿工具」。
新版主要想解決什麼
我這次的想法很明確:核心功能仍然是「把課程影片轉成講義 PDF」。
但我也發現,語音轉文字其實是另一個很實用的需求。很多時候我不一定需要 PDF,我只是想把一段課程錄音、會議錄音或影片轉成字幕檔和逐字稿。
所以新版把功能拆成兩個正式入口:
- 影片轉講義 PDF
- 語音轉文字
前者適合整理簡報型影片,後者可以單獨處理影片或音檔。
這樣使用情境會清楚很多。想要 PDF 的人,就專心用 PDF 流程。只想要字幕或逐字稿的人,也不用被投影片擷取功能綁住。
影片轉講義 PDF:多了審核與補救空間
新版在影片擷取 PDF 的流程上,重點不是盲目把影片每隔幾秒截一張圖。
它會先分析影片畫面變化,找出可能換頁的時間點,再擷取原始解析度畫面。接著會用相似度判斷,把很像的重複投影片合併掉。
不過我自己很清楚,這類工具不可能永遠百分之百判斷正確。影片來源太多了,有些是正式簡報錄影,有些是 Zoom,有些右下角有講師畫面,有些還會一直跳動畫。
所以新版多了一個我覺得很重要的功能:縮圖審核。
產生結果後,你可以在 Web UI 裡看到每一張擷取出的投影片縮圖。若有誤擷取,可以直接刪除;若順序不對,也可以調整順序,再重新產生 PDF。
換句話說,這次不是完全賭演算法,而是讓使用者可以在輸出前做最後整理。
如果影片的版面比較特殊,例如右下角有講師視窗,也可以手動輸入裁切範圍,讓工具只看主要投影片區域。這對課程錄影或線上簡報影片會很有幫助。
語音轉文字:可以獨立處理影片與音檔
這次另一個升級重點,是語音轉文字。
新版支援兩種主要路線:
- 本機
faster-whisper - OpenAI-compatible ASR endpoint
如果你想在本機跑,可以選 faster-whisper。第一次使用時,工具可以協助安裝相關依賴。模型不會包在程式裡,而是第一次使用時再依照模型設定下載。
如果你已經有本機或雲端 ASR 服務,也可以使用 OpenAI-compatible endpoint。這代表你可以串接像 Groq Whisper API、本機 QwenASR、faster-whisper server、whisper.cpp server 這類相容服務。
我自己在測試時,也有特別讓它可以搭配 QwenASRMiniTool 這種本機工具。QwenASRMiniTool 本身可以開 OpenAI 相容轉錄端點,新版工具只要填入 endpoint,就可以透過同一個介面使用。
有些服務會讓使用者選模型,有些本機服務其實是由服務端自己決定模型。新版在測試連線後,會盡量偵測端點狀態。如果端點是服務端固定模型,就不會硬讓使用者以為自己可以從前端切換模型。
字幕輸出也比較適合真的拿來播放
語音轉文字會輸出兩種常用檔案:
transcript.txttranscript.srt
transcript.txt 適合閱讀與整理筆記。
transcript.srt 則可以搭配 PotPlayer、VLC 或其他播放器,和原始影片一起播放。
舊版或一般 ASR 工具常見的問題,是 SRT 字幕一次塞太多文字。放到播放器裡時,字幕會蓋住整個畫面,看起來很亂。
新版的 SRT 會盡量切成較短的字幕段落,預設每段最多兩行。這樣搭配投影片影片播放時,畫面會比較容易看。
另外,中文輸出也做了調整。語言選單可以選「自動偵測」、「繁體中文」或「簡體中文」。如果選自動偵測,偵測到中文時會優先轉成繁體中文。這對台灣使用者會比較自然。
安裝方式一:直接下載 Release
如果你只是想使用工具,建議先從 GitHub release 下載打包版。
下載位置:
https://github.com/taoyutsun/lecture-video-to-pdf-transcription-studio/releases/tag/v0.1.0
下載 LectureVideo2PDF-v0.1.0-windows-x64.zip 後解壓縮。
在解壓縮後的資料夾中開啟 PowerShell,執行:
.\LectureVideo2PDF.exe run啟動後預設會開啟:
http://127.0.0.1:8787/如果你的電腦上剛好有其他程式也使用 8787,可以改用其他 port,例如:
.\LectureVideo2PDF.exe run --port 8788安裝方式二:從 GitHub source 執行
如果你比較熟悉 Python,也可以直接從 source 安裝。
git clone https://github.com/taoyutsun/lecture-video-to-pdf-transcription-studio.git
cd lecture-video-to-pdf-transcription-studio
py -3.10 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -U pip
.\.venv\Scripts\python.exe -m pip install -e .
.\.venv\Scripts\python.exe -m lecture_video_to_pdf run安裝後也可以使用 CLI:
lecture-video-to-pdf run
lecture-video-studio run這兩個命令是等效的,選一個使用即可。
如果你是從 release 版下載,不會看到 lecture-video-to-pdf.exe 這種檔案。release 版請用:
.\LectureVideo2PDF.exe run如何把影片轉成講義 PDF
進入 Web UI 後,先停在「影片轉講義 PDF」分頁。
基本流程如下:
- 選擇或拖曳影片檔。
- 設定輸出資料夾。
- 選擇處理模式。
- 若影片版面特殊,可以設定裁切範圍。
- 按下開始擷取 PDF。
- 等待投影片縮圖產生。
- 在縮圖審核區刪除不需要的頁面,必要時調整順序。
- 套用審核並重建 PDF。
如果只想要 PDF,就選「只擷取 PDF」。
如果想同時取得逐字稿與字幕,就選「PDF + 語音轉文字」。
輸出結果大致會長這樣:
output/
video_name_YYYYMMDD_HHMMSS/
result.pdf
metadata.json
slides/
thumbs/
transcript.txt
transcript.srt
slide_map.md其中 result.pdf 是整理好的講義 PDF。slides/ 會保留每張投影片圖片。metadata.json 會記錄每張投影片的時間點與相關資訊。
如果有啟用語音轉文字,會多出 transcript.txt、transcript.srt 與 slide_map.md。
如何只做語音轉文字
如果你只想把影片或音檔轉成逐字稿,可以切到「語音轉文字」分頁。
這個模式支援常見影片與音檔,例如:
.mp4.mkv.mov.mp3.wav.m4a.flac
操作方式也很簡單:
- 選擇或拖曳影片 / 音檔。
- 選擇 ASR 引擎。
- 選擇語言。
- 選擇輸出格式。
- 開始轉錄。
ASR-only 模式不會產生 PDF,也不會跑投影片偵測。
輸出結果會是:
output/
media_name_YYYYMMDD_HHMMSS/
transcript.txt
transcript.srt
metadata.json這對整理課程錄音、訪談錄音、會議錄音其實很方便。
本機模型和雲端模型怎麼選
如果內容比較敏感,或你希望盡量在本機處理,可以用 faster-whisper,或串接自己的本機 ASR endpoint。
如果你本機已經有 QwenASRMiniTool,也可以先啟動它的 OpenAI 相容端點,再回到這個工具填入 endpoint。
如果你想要速度,或想測試雲端模型的效果,也可以使用像 Groq 這類支援 Whisper API 的服務。
這裡要提醒一下:只要使用雲端 ASR endpoint,音訊內容就會送到該服務處理。是否適合使用,要看你的資料性質與該服務條款。
另外,工具本身不會把 API key 寫進輸出檔、metadata 或專案設定。API key 只會在目前頁面、HTTP request 與背景工作記憶體中短暫使用。
目前版本的限制
目前 release 是 v0.1.0。
雖然已經可以實際使用,但我還是會把它視為第一個公開版本。
幾點要先說清楚:
- 如果影片動畫非常多,仍建議轉完後做縮圖審核。
- 如果投影片區域很特殊,建議手動設定 crop。
- 目前沒有做 OCR PDF,也就是 PDF 裡面的投影片文字還不是可選取文字。
- 目前沒有做 speaker diarization,也就是不會自動分辨不同講者。
- 外部 ASR endpoint 的品質與限制,會依你使用的服務而不同。
我自己的判斷是,第一版先把「課程影片轉講義 PDF」與「語音轉文字」這兩條路做穩,比一開始就塞太多功能更重要。
GitHub 專案與下載位置
專案已經放到 GitHub:
https://github.com/taoyutsun/lecture-video-to-pdf-transcription-studio
v0.1.0 release:
https://github.com/taoyutsun/lecture-video-to-pdf-transcription-studio/releases/tag/v0.1.0
如果你只是想試用,建議先下載 release zip。
如果你想看程式碼、自己修改或回報 issue,就可以從 GitHub repo 開始。
這次對我來說,比較像是把去年那個「能用的小工具」整理成一個比較完整、也比較能分享給別人的版本。
做工具最有趣的地方,大概就是這樣。
一開始只是自己遇到一個麻煩,想辦法解掉。後來技術變成熟,工具也可以再往前走一步。最後如果剛好也能幫到其他有類似需求的人,這個小工具就能從我自己的資料夾,變成一個可以被更多人拿去使用的開源專案。




留言
張貼留言