逐字稿文字預覽
200份PDF,以前要花一整天複製貼上,手動整理格式。 現在一行指令,10秒全部變markdown。 今天帶你從安裝到實戰,最後我會把它接進AI-agent,讓Claude自己去讀你硬碟上的任何檔案。 先讓你看看這東西有多快。 假設你手邊有個Excel,想丟給Claude分析,以前你要開檔案,複製貼上,格式全部跑掉。 那我在Terminal輸入這個指令,然後打開轉換成功的檔案看一下。 Excel的每個Sheet會變成一個Section,表格直接變markdown table。 你拿去丟RAG pipeline,就是讓AI能搜尋你文件的那種系統,格式不會跑掉。 再來是一個更猛的,直接丟網址也可以。 你看它,真的連網頁都能抓,所有的內容全部轉成了標準的markdown。 是不是超快? 一行就搞定。 裝這個30秒的事,你要Python3. 10以上,大部分人的Mac應該都有了。 但我建議你先開一個虛擬環境再裝。 因為,MarkItDown的安裝參數會拉進一大堆依賴。 你直接裝在系統Python裡面,很容易跟其他套件打架。 如果你不想全裝也行,只裝需要的格式,只要將pip install命令改成其他的檔案後綴名就好。 那這裡我還是選擇全部安裝。 可以裝的選項,我放在畫面上了。 你看你需要哪些,就裝哪些。 我建議裝完確認一下版本。 OK,搞定,可以開始玩了。 CLI適合一個一個轉。 但如果你有一百個文件要喂給AI呢? 你不會想一個一個手動打指令吧? Python API才是真正好用的地方。 那我先創建一個批量處理的腳本,然後把這段代碼複製進去。 跑一下看看效果。 這段在做的事就是,掃描Documents資料夾裡面所有檔案。 只要附檔名是Word、Excel、PPT其中一個,就自動轉成Markdown存到另一個資料夾。 你看,整個資料夾的文件幾秒鐘全部轉好。 假設你在做知識庫,200份合約文件,以前花一天手動處理,現在10秒跑完。 純文字轉換只是基本功。 你丟一張圖片給它,它不只讀圖片信息。 它還可以讓AI幫你描述圖片內容。 那,跑一下腳本,看看它描述的是否準確。 這AI的分析數據可以說正確率99. 99%。 現在的描述是英文的,你還可以自訂Prompt,讓它用繁體中文來描述。 這樣看起來就親切多了。 其實MarkItDown有一個mcp server,你可以把它想成幫AI裝一個外掛。 裝完之後,AI就能自己去讀Word、Excel、PPT,不用你手動轉。 我用Claude Desktop示範。 打開設定檔,添加下面的代碼,重啟Claude App。 那,我讓Claude來分析一下這個檔案。 你看,你什麼都沒做。 你看,你什麼都沒做。 Claude自己去呼叫MarkItDown,把Excel轉成MarkItDown,然後直接分析給你看。 以後,你跟Claude說,讀這個檔案,不管是Word、Excel、PPT,它都能自己處理。 剩最後一段了。 Marketdown除了內建支援的格式,它還有Plugin系統。 如果你有什麼冷門格式需要處理,可以自己寫一個Converter掛上去。 進階玩家有興趣的話,官方Github有一個Sample Plugin的範例,連結放在Description。 另外還有一個MarkItDown. ocr的Plugin,裝上去之後,它碰到Word裡面嵌入的圖片。 會自動用LLM做OCR,幫你把圖片裡的文字也抓出來。 如果你的文件有很多截圖,這個超好用。 好,快速總結一下。 MarkItDown是微軟開源的文件轉MarkItDown工具。 CLI一行指令轉單檔。 Python API可以批次處理整個資料夾。 加上LLM還能幫圖片做描述。 MCP Server讓AI Agent直接自己去讀檔案。 現在給你一個挑戰。 關掉影片,打開Terminal。 花三分鐘把你桌面上隨便一個Excel或Word轉成MarkItDown。 感受一下有多快。 我們下支影片見。
本次執行流程與問題處理
下達指令
預期流程
- 下載與語音辨識
- 來源選擇與品質檢查
- 文字校正與句子單元
- 筆記與發布
- 公開網頁發布
1. 下載與語音辨識
工具:videonote-transcribe-url(主辨識管線:下載、Whisper 辨識與選稿)
處理:下載音訊、以 Whisper 辨識並選出最佳逐字稿
產出:yt_dlp_meta.json(影片元資料)、audio_16k_mono.wav(16kHz 單聲道音訊)、transcript.whisper.json(Whisper 辨識結果)、transcript.json(正式逐字稿)、transcript_selection_report.json(來源選擇報告)
耗時:23.8 秒
關係:依序執行
結果:完成
2. 全文快速校讀
工具:videonote_rapid_transcript_review.py
處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目
產出:rapid_transcript_review_report.json(產出檔案)
耗時:30.8 秒
關係:依序執行
結果:完成
3. 建立句子單元
工具:videonote-build-sentence-units
處理:將逐字稿切成帶時間軸的句子單元
產出:sentence_units.json(句子單元)
耗時:0.8 秒
關係:依序執行
結果:完成
4. 句子密度平衡
工具:videonote_balance_sentence_units.py
處理:平衡句子長度與密度
產出:sentence_units.json(句子單元)
耗時:0.9 秒
關係:依序執行
結果:完成
5. 時間軸稽核
工具:videonote_timeline_audit.py
處理:檢查時間軸與音訊對齊
產出:timeline_audit_report.json(時間軸稽核)
耗時:0.9 秒
關係:依序執行
結果:完成
6. 品質檢查
工具:videonote_controlled_quality.py(檢查時間軸與品質)
處理:檢查語言、時間軸與可讀性品質
產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)
耗時:0.9 秒
關係:依序執行
結果:完成
7. 播放時間軸回填
工具:videonote_rebase_display_timeline.py
處理:將網頁播放時間軸回填為校正字幕時間
產出:display_timeline_rebase_report.json(時間軸回填報告)
耗時:1.0 秒
關係:依序執行
結果:完成
8. 逐字稿交叉檢查
工具:videonote_cross_check_transcript.py
處理:交叉檢查逐字稿與來源字幕
產出:transcript_crosscheck_report.json(交叉檢查)
耗時:1.0 秒
關係:依序執行
結果:完成
9. 來源句整理
工具:videonote_prepare_source_entries.py
處理:整理來源句子供時間軸與頁面使用
產出:sentence_units.json(句子單元)
耗時:1.0 秒
關係:依序執行
結果:完成
10. 生成筆記摘要
工具:videonote-generate-note(生成筆記摘要)
處理:生成筆記摘要與重點
產出:note.md(筆記 Markdown)、note.html(筆記 HTML)
耗時:73.2 秒
關係:依序執行
結果:完成
11. 建立筆記頁面
工具:videonote-render-html(產生筆記 HTML)
處理:產生可閱讀的筆記 HTML 頁面
產出:note.html(筆記 HTML)
耗時:0.3 秒
關係:依序執行
結果:完成
12. 發布公開頁面
工具:videonote-publish(發布公開頁面)
處理:發布到公開網站與每日列表
產出:公開筆記網址、result.json(管線結果)
耗時:0.3 秒
關係:依序執行
結果:完成
手動來源字幕
- 尚未產生
自動來源字幕
Whisper 字幕
Qwen 字幕
- 尚未產生
Parakeet 字幕
- 尚未產生
MOSS 字幕
- 尚未產生
聲學時間證據(PyAnnote / WhisperX)
- 尚未產生
校正前後逐字稿
目前待解決問題與初步改善方向
- ⚠️ 全文快速校讀:已套用暫定修正,請確認
segment=2 已先套用暫定修正:今天帶你從安裝到實戰,最後我會把它接進AI-agent,讓Cloud自己去讀你硬碟上的任何檔案。 → 今天帶你從安裝到實戰,最後我會把它接進AI-agent,讓Claude自己去讀你硬碟上的任何檔案。;segment=4 已先套用暫定修正:假設你手邊有個Excel,想為給Cloud分析,以前你要開檔案,複製貼上,格式全部跑掉。 → 假設你手邊有個Excel,想丟給Claude分析,以前你要開檔案,複製貼上,格式全部跑掉。;segment=7 已先套用暫定修正:你拿去丟rack pipeline,就是讓AI能搜尋你文件的那種系統,格式不會跑掉。 → 你拿去丟RAG pipeline,就是讓AI能搜尋你文件的那種系統,格式不會跑掉。;segment=9 已先套用暫定修正:你看它,真的連網頁都能抓,所有的內容全部轉成了前進的markdown。 → 你看它,真的連網頁都能抓,所有的內容全部轉成了標準的markdown。;segment=9 待確認:「前進的markdown」語意不明,推測為「標準的」或「完整的」,需確認原意。;暫定:你看它,真的連網頁都能抓,所有的內容全部轉成了標準的markdown。;segment=13 待確認:「Markdown的OL參數」語意不通,推測為「MarkItDown的安裝參數」或「pip install參數」。;暫定:因為,MarkItDown的安裝參數會拉進一大堆依賴。;segment=15 待確認:「將OL改成其他的檔案後綴名」語意不清,推測為修改pip install命令中的extras_require或類似參數。;暫定:如果你不想全裝也行,只裝需要的格式,只要將pip install命令改成其他的檔案後綴名就好。;segment=25 待確認:「粘貼」在程式碼情境下較少用,通常為「複製」或「貼上」,但「粘貼」亦可能為口語習慣,建議確認。;暫定:那我先創建一個批量處理的腳本,然後把這段代碼複製進去。
- 逐字稿可先使用,但有待校正清單
segment=41 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=42 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=64 adjacent_duplicate: 與前一段完全重複,可能是滾動字幕或 ASR 重複;segment=70 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=71 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=9 rapid_semantic_review: 全文速讀上下文判斷;尚未回聽或交叉比對;segment=13 rapid_semantic_review: 全文速讀上下文判斷;尚未回聽或交叉比對;segment=15 rapid_semantic_review: 全文速讀上下文判斷;尚未回聽或交叉比對;segment=25 rapid_semantic_review: 全文速讀上下文判斷;尚未回聽或交叉比對;segment=53 rapid_semantic_review: 全文速讀上下文判斷;尚未回聽或交叉比對;segment=57 rapid_semantic_review: 全文速讀上下文判斷;尚未回聽或交叉比對
- Qwen3-ASR 未完成,需確認 qwen_asr_lab 環境與音訊後重試精進模式。