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,我只是想把一段課程錄音、會議錄音或影片轉成字幕檔和逐字稿。

所以新版把功能拆成兩個正式入口:

  1. 影片轉講義 PDF
  2. 語音轉文字

前者適合整理簡報型影片,後者可以單獨處理影片或音檔。

這樣使用情境會清楚很多。想要 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.txt
  • transcript.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」分頁。

基本流程如下:

  1. 選擇或拖曳影片檔。
  2. 設定輸出資料夾。
  3. 選擇處理模式。
  4. 若影片版面特殊,可以設定裁切範圍。
  5. 按下開始擷取 PDF。
  6. 等待投影片縮圖產生。
  7. 在縮圖審核區刪除不需要的頁面,必要時調整順序。
  8. 套用審核並重建 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.txttranscript.srtslide_map.md


如何只做語音轉文字

如果你只想把影片或音檔轉成逐字稿,可以切到「語音轉文字」分頁。

這個模式支援常見影片與音檔,例如:

  • .mp4
  • .mkv
  • .mov
  • .mp3
  • .wav
  • .m4a
  • .flac

操作方式也很簡單:

  1. 選擇或拖曳影片 / 音檔。
  2. 選擇 ASR 引擎。
  3. 選擇語言。
  4. 選擇輸出格式。
  5. 開始轉錄。

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 開始。

這次對我來說,比較像是把去年那個「能用的小工具」整理成一個比較完整、也比較能分享給別人的版本。

做工具最有趣的地方,大概就是這樣。

一開始只是自己遇到一個麻煩,想辦法解掉。後來技術變成熟,工具也可以再往前走一步。最後如果剛好也能幫到其他有類似需求的人,這個小工具就能從我自己的資料夾,變成一個可以被更多人拿去使用的開源專案。


📌 您可能也會有興趣的其他文章:

留言

熱門文章

Gemini Voyager 教學:資料夾管理、引用回覆、去浮水印一次搞定

用AI一鍵生成簡報PPT投影片真的有那麼神?全網最詳細AI簡報工具彙整與實測心得

為什麼 Nystatin(制黴菌素)要「漱口或塗抹」,不是直接吞?完整解析與用法指南

Google AI Pro 隱藏福利!每月 10 美元額度怎麼領?完整設定步驟 + 安全防護

Windows 桌面圖示每次重新開機或外接螢幕就跑位亂移?從設定排除到 DesktopOK 一鍵還原完整攻略

快速又免費的語音轉文字神器『Faster Whisper』,一鍵解決影音內容爆量時代的痛點!

微軟 Copilot 全新語音功能重磅來襲!免費無限暢聊,直球對決 ChatGPT 進階語音模式!

AI 語音助理新革命:Copilot Vision 無限免費、視覺功能全開,完整評比 ChatGPT 進階模式

G6PD 缺乏者的抗生素選擇指南|社區診所常見處方與藥師建議一次搞懂

打字太慢?試試 Wispr Flow:神速 AI 即時語音輸入讓你效率翻 4 倍