逐字稿文字預覽
這個視頻就給大家展示一下我自己開發的本地視頻一體化工具。 它目前主要包含三個部分。 在線視頻下載、視頻字幕處理和圖片格式轉換。 首先來看一下這個工具的啟動方式。 目前有兩種方式可以打開網頁。 第一種是直接運行Python文件。 比較適合使用VS Code等開發工具的用戶。 第二種是直接運行Bat腳本。 適合不熟悉Python的普通用戶。 不過兩種方式都有一個共同的前提。 就是需要先將Python3. 10添加到系統環境變量中。 系統環境變量中。 這裡我就以Bet腳本為例進行演示。 雙擊Bet文件後會彈出CMD窗口。 程序會自動進行環境配置。 第一次運行需要等待一段時間,大概10到20分鐘。 具體時間取決於電腦和網絡情況。 環境配置完成之後程序就會自動打開網頁。 之後再運行。 就不需要重新配置環境了。 這裡需要注意的是, 第一次運行過程中生成的文件不要隨意刪除。 否則會影響後續的啟動。 首先來看在線視頻下載功能。 這裡我以我自己發布的B站視頻為例。 將視頻鏈接複製到輸入框中。 點擊下載。 就可以將視頻保存到本地。 下載位置可以通過上方的選擇文件加按鈕自行設置。 目前支持B站抖音、小紅書、微博視頻等平台的視頻下載。 其中抖音的下載方式比較特殊。 下載時會彈出一個窗口自動獲取實時的。 Cookie信息,一般等待幾秒後窗口會自動關閉。 這個過程中不要手動關閉窗口。 從視頻中我們可以看到,視頻成功下載了。 接下來是視頻處理功能。 點擊Upload,選擇需要處理的視頻。 然後點擊開始提取字幕。 就可以得到視頻對應的字幕內容。 這裡需要特別說明一下。 因為這個項目主要考慮本地運行。 所以目前的視頻字幕提取採用CPU進行提取。 因此速度會比較慢。 比如我現在演示的這個視頻大約18分鐘。 字幕提取大概需要10分鐘左右。 另外,由於我目前使用的是相對較小的Whisper模型。 所以識別結果中會出現一些錯別字, 音對、字不對。 不過整體內容基本能夠識別出來。 字幕也可以進一步交給目前成熟的AI工具來進行分析。 如視頻所示,其生成的字幕還是有一點瑕疵的。 但是總體來說還是能夠理解。 完全能夠得到視頻大致的意思。 然後可以下載字幕TXT文檔。 導入到目前市面上成熟的AI來進行二次處理。 字幕提取完成後,就可以使用自動章節功能。 這個功能會根據剛才提取出來的字幕, 對視頻內容進行分析, 並自動生成對應的章節和時間範圍。 我這個視頻劃分章節大概用15分鐘左右。 然後是關鍵詞定位功能。 輸入一個關鍵詞後, 程序會自動搜索相關字幕, 並顯示對應的時間點。 這樣如果我們想快速找到視頻中的某一個知識點, 就不需要一直拖動進度條。 可以直接根據關鍵詞定位到相關位置。 最後是AI問答功能。 這個功能基於本地Ollama大模型, 可以結合視頻字幕內容回答一些和視頻內容相關的問題。 和視頻內容相關的問題。 但是同樣由於目前使用CPU進行推理, 所以速度會比較慢。 另外,本地模型的知識覆蓋和回答效果 也會受到模型本身以及電腦硬件的影響。 不過它的一個優勢是可以完全在本地運行, 不需要調用在線API, 在沒有網絡時可以救急。 我這個問題大概耗時9分鐘左右。 最後來看一下圖片格式轉換功能。 目前支持JPG、PNG、BMP和WebP格式的圖片。 選擇需要轉換的圖片, 然後在下拉框中選擇目標格式。 點擊圖片格式轉換, 就可以得到轉換後的圖片。 從這裡可以看到, 轉換後的圖片都是可以正常顯示並使用的。 最後這裡是我的圖片格式檢測程序。 從輸出結果可以看到, 輸出的圖片都是沒有損壞且格式成功轉換的, 能夠正常使用。 以上就是這個項目目前的全部功能。 項目現在已經開源到Github。 完整源碼、Bat啟動腳本以及安裝部署說明都放在倉庫中。 如果你對這個項目感興趣, 可以查看評論區置頂的Github網址。 如果這個項目對你有幫助, 也歡迎點一個STAR支持一下。 具體的安裝和配置方法我都寫在了Readme裡面。 只需要按照說明配置Python 3. 10, 就可以使用在線視頻下載和圖片格式轉換功能。 如果需要使用視頻字幕提取功能, 還需要配置Ollama。 如果需要使用自動章節劃分和本地AI問答功能, 則需要額外安裝並配置Olama。 最後感謝大家的觀看。
本次執行流程與問題處理
下達指令
預期流程
- 自動字幕優先,Whisper 作為備援
- 來源選擇與品質檢查
- 文字校正與句子單元
- 筆記與發布
- 公開網頁發布
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(來源選擇報告)
耗時:24.8 秒
關係:依序執行
結果:完成
2. 全文快速校讀
工具:videonote_rapid_transcript_review.py
處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目
產出:rapid_transcript_review_report.json(產出檔案)
耗時:22.9 秒
關係:依序執行
結果:完成
3. 建立句子單元
工具:videonote-build-sentence-units
處理:將逐字稿切成帶時間軸的句子單元
產出:sentence_units.json(句子單元)
耗時:1.0 秒
關係:依序執行
結果:完成
4. 句子密度平衡
工具:videonote_balance_sentence_units.py
處理:平衡句子長度與密度
產出:sentence_units.json(句子單元)
耗時:1.0 秒
關係:依序執行
結果:完成
5. 時間軸稽核
工具:videonote_timeline_audit.py
處理:檢查時間軸與音訊對齊
產出:timeline_audit_report.json(時間軸稽核)
耗時:0.0 秒
關係:依序執行
結果:完成
6. 品質檢查
工具:videonote_controlled_quality.py(檢查時間軸與品質)
處理:檢查語言、時間軸與可讀性品質
產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)
耗時:0.1 秒
關係:依序執行
結果:完成
7. 播放時間軸回填
工具:videonote_rebase_display_timeline.py
處理:將網頁播放時間軸回填為校正字幕時間
產出:display_timeline_rebase_report.json(時間軸回填報告)
耗時:0.1 秒
關係:依序執行
結果:完成
8. 逐字稿交叉檢查
工具:videonote_cross_check_transcript.py
處理:交叉檢查逐字稿與來源字幕
產出:transcript_crosscheck_report.json(交叉檢查)
耗時:0.1 秒
關係:依序執行
結果:完成
9. 來源句整理
工具:videonote_prepare_source_entries.py
處理:整理來源句子供時間軸與頁面使用
產出:sentence_units.json(句子單元)
耗時:0.2 秒
關係:依序執行
結果:完成
10. 生成筆記摘要
工具:videonote-generate-note(生成筆記摘要)
處理:生成筆記摘要與重點
產出:note.md(筆記 Markdown)、note.html(筆記 HTML)
耗時:75.4 秒
關係:依序執行
結果:完成
11. 建立筆記頁面
工具:videonote-render-html(產生筆記 HTML)
處理:產生可閱讀的筆記 HTML 頁面
產出:note.html(筆記 HTML)
耗時:0.5 秒
關係:依序執行
結果:完成
12. 發布公開頁面
工具:videonote-publish(發布公開頁面)
處理:發布到公開網站與每日列表
產出:公開筆記網址、result.json(管線結果)
耗時:0.6 秒
關係:依序執行
結果:完成
手動來源字幕
- 尚未產生
自動來源字幕
Whisper 字幕
Qwen 字幕
- 尚未產生
Parakeet 字幕
- 尚未產生
MOSS 字幕
- 尚未產生
聲學時間證據(PyAnnote / WhisperX)
- 尚未產生
校正前後逐字稿
目前待解決問題與初步改善方向
- ⚠️ 全文快速校讀:已套用暫定修正,請確認
segment=7 已先套用暫定修正:第二種是直接運行Bet腳本。 → 第二種是直接運行Bat腳本。;segment=10 已先套用暫定修正:就是需要先將Python3.10添加到。 → 就是需要先將Python3.10添加到系統環境變量中。;segment=47 已先套用暫定修正:因對、字不對。 → 音對、字不對。;segment=68 已先套用暫定修正:這個功能基於本地歐拉馬大模型, → 這個功能基於本地Ollama大模型,;segment=47 待確認:原句「因對、字不對」語意不通。結合上下文討論Whisper模型識別錯誤,推測為「音對(音節正確)但字(漢字)不對」或「音不對、字不對」,但「因」與「音」同音,且「音對字不對」是ASR常見誤區描述,故暫定修正為「音對、字不對」。;暫定:音對、字不對。;segment=102 待確認:原句「FMPAD」語意不明。結合第104句提到的「Olama」(Ollama)以及字幕提取通常依賴Whisper/Ollama本地推理的技術背景,推測「FMPAD」為「Ollama」或相關依賴庫的識別錯誤。考慮到第104句已出現Olama,此處極可能也是指Ollama或Whisper環境,暫定修正為Ollama以保持一致性,但需確認是否特指其他庫。;暫定:還需要配置Ollama。
- 逐字稿可先使用,但有待校正清單
segment=47 rapid_semantic_review: 全文速讀上下文判斷;尚未回聽或交叉比對;segment=102 rapid_semantic_review: 全文速讀上下文判斷;尚未回聽或交叉比對
- Qwen3-ASR 未完成,需確認 qwen_asr_lab 環境與音訊後重試精進模式。