搜尋

我修復了FFmpeg的字幕轉換(2014年以來的錯誤)

FFmpeg能轉換一切,唯獨跨格式邊界的字幕不行。SRT轉藍光PGS?「字幕編碼目前僅能從文字到文字或點陣圖到點陣圖。」工單#3819,2014年提交。我花了幾週時間用Claude Code建構這個功能。Claude編寫了大部分編碼器,發現了解碼器緩衝區追蹤中的整數溢位,並從五個角度進行了審查。我閱讀了Panasonic和Sony的專利,做出架構決策,並在它對規格理解錯誤時予以糾正。我們爭論過DTS計算是否應歸屬於混流器。(確實應該,同時也屬於fftools。我們兩者都做了。)動畫是個有趣的問題。Advanced SubStation Alpha的淡入淡出效果必須在轉換為藍光PGS格式時保留下來。編碼器監控影格間的像素變化並分類:調色盤偏移或完整重繪。淡出效果變成僅調色盤更新,無需點陣圖重傳。結束時間不同的重疊字幕經過四次重寫和事件預覽視窗才解決。我希望妥善維護此功能,最終將修補程式提交上游。若遇到錯誤或字幕工作流程無法運作,請提交問題。我極好奇大家會用這功能做什麼,但我已有一些基於OCR工作的翻譯相關外掛計畫。六次迭代。23個修補程式。libass和Tesseract原本已在FFmpeg的濾鏡庫中。我以類似sub2video的方式將它們接入主流程。文字轉點陣圖,點陣圖轉文字,114種OCR語言,RGBA轉GIF。開發頁面有完整歷史記錄。預建置版本支援6種平台,無需依賴:https://connollydavid.github.io/pgs-release/

  • AI 助理
  • 多語言支援
  • 大型語言模型
Mar 17, 2026造訪官網

AI 摘要

此專案解決了FFmpeg長期存在的錯誤(Ticket #3819,2014年提交),該錯誤阻礙了不同字幕格式間的轉換,例如SRT轉為藍光PGS。它引入了增強的字幕編碼功能,包括支援複雜動畫與疊加字幕,並提供多平台預建置的執行檔。

適合誰

影片編輯者, 媒體檔案管理員, 藍光光碟製作人員

為何值得關注

在FFmpeg中實現各種字幕格式的可靠轉換,克服了十年來的限制。

核心功能

  • 將SRT字幕轉換為藍光PGS格式。
  • 透過偵測調色盤變化來處理Advanced SubStation Alpha淡入淡出效果。
  • 透過追蹤影格間的像素變化來最佳化字幕點陣圖更新。
  • 使用事件預覽視窗管理不同結束時間的重疊字幕。

使用場景

  • 一位影片編輯師正在進行藍光光碟製作專案,需要將SRT字幕轉換為PGS格式以確保相容性。此工具能讓他們無縫整合文字型字幕到高畫質光碟格式中,同時保持視覺保真度。
  • 一位媒體檔案管理員正在數位化舊電影收藏,需要將傳統字幕檔案(如Advanced SubStation Alpha)轉換為現代且廣泛支援的格式,以便納入數位檔案庫。此工具處理複雜動畫和淡入淡出效果的能力,確保字幕保持準確且視覺上吸引人。
  • 一位製作多語言影片的內容創作者,希望為不同地區發行版本添加各種點陣圖格式字幕(如PGS)。此解決方案能讓他們將原始SRT檔案轉換為這些格式,支援多種OCR語言以應對未來可能的翻譯工作流程。