本格堅守四不一沒有政治主張:不知道、不清楚、不瞭解、不明白、沒有我的事!
[ start | index | login or register ]

ASS2SRT 轉檔工具

Created by Ada. Last edited by Ada, 138 days ago. Viewed 7,342 times. #58
[diff] [history] [edit] [rdf]
labels
Parent:Perl
attachments
ass2srt-big5.pl (8525)
ass2srt.pl (9848)

ASS2SRT 轉檔工具

※ 2007-02-04 補充:Windows 平台下我不清楚,不過如果你是 Linux 平台的話,不必再特地將字幕檔轉碼了。mplayer 很早就支援指定字幕檔編碼的選擇,問一下 mplayer 的男人吧!

※※ 從 mplayer 1.0rc1 起已正式支援 ass 字幕(真的),其實已不用再特地搞 ass2srt 了。

最近取得的字幕檔都是 Advanced SubStation Alpha (.ass) 格式,雖然花俏的字幕表現是各字幕組看上這種格式的主因,但是對 Linux 上的 MPlayer 來講卻是一種負擔。其實 MPlayer 是可以支援 .ass 字幕檔的,只可惜 MPlayer 把 .ass 檔當成 .ssa 檔處理,因此遇到 .ass 中的字幕特效指令時便會認定該字幕檔含有不合法的字元而放棄載入字幕的情形,結果就是我鴨子聽雷,完全搞不懂劇情進度。

找了一陣子後發現 Linux 上似乎沒有比較完整的字幕檔轉檔工具可以將 .ass 檔弄成 .srt (SubViewer) 格式(其實有幾個工具待測啦,但 Gentoo 上都沒有正式收錄),於是自己利用 perl 來寫一個:>>ass2srt.pl

這個小工具的特色(算嗎?)有:

  1. 可以指定 ass 來源檔/ srt 目的檔使用的編碼,預設值使用 utf8
  2. 可以濾除 ass 的控制指令,避免 MPlayer 播放時出現亂碼(可設定為保留)
  3. 對於註解用途的字幕(針對漫遊的設定)加上小括號
  4. 會處理 ass 字幕中的換行指令
  5. 合併多個相同時間軸設定的字幕內容到單一時間軸之下 ( v.0.2.2 新增 )
  6. 可指定輸出檔使用的換行格式(預設為 Unix)( v.0.2.4 新增 )
測試結果:
  1. 果然不會出錯了!
  2. 奇怪的是之前在 Windows 中轉檔的部份有些還是有問題,大概要多測測吧?
使用方式範例:
  1. 將 UTF-16 LE 的 .ass 來源檔轉成 UTF-8 的 .srt 目的檔:
    perl ass2srt.pl -f utf16-le -t utf8 utf16-le.ass utf8.srt
  2. 將 UTF-8 的 .ass 來源檔轉成 Big5 的 .srt 目的檔:
    perl ass2srt.pl -f utf8 -t big5 utf8.ass big5.srt
  3. 將 UTF-8 的 .ass 來源檔轉成 UTF-8 的 .srt 目的檔:
    perl ass2srt.pl utf8.ass big5.srt
  4. 將 UCS-2 的 .ass 來源檔轉成 UCS-2 的 .srt 目的檔,且將同時間軸之字幕合併:
    perl ass2srt -f ucs-2le -t ucs-2le -c ucs-2.ass ucs-2.srt
參考文件:
  1. Wiki: >>SubStation Alpha
  2. Wiki: >>SubRip
  3. >>SubViewer
2006-09-03 補充:
  1. >>erspicu_brox 將 .pl 檔弄成 Windows 下的 .EXE 執行檔,如果有需要的人可以自行前往下載。
  2. 已知在 Windows 2000 下直接執行該 exe 檔時會出現亂碼,這是個我也無法解決的鳥問題!
2006-10-06 補充:
  1. 目前網路上查的到的 ass2srt 應該有三個版本,分別是:
    1. ass2srt.wtf:這是使用 Windows Script Host 的版本
    2. ass2srt.pl:這是使用 Perl 的版本,也就是這篇 snip 所介紹的內容
    3. ass2srt.awk:這是使用 awk 的版本,請參閱 >>将ass字幕转化为srt字幕的脚本
2008-08-23 補充:
  1. 除了前述三個版本的 ass2srt 外,現在又多出一個以 python (應該吧)所撰寫的轉換器:>>ass2srt.py

Change Log:

2006-08-01 更新:
  1. 加入 >>CC-GNU GPL 授權聲明
  2. 加入中文程式註解
2006-08-03 更新:
  1. 修正解出來的註解用字幕錯誤
  2. 增加讀取系統環境變數作為檔案編碼之依據
    1. ASS2SRT_FROM:指定 .ass 來源檔檔案編碼
    2. ASS2SRT_TO:指定 .srt 目的檔檔案編碼
  3. 將版號改成 0.2.1 版
2006-09-03 更新:
  1. 新增合併多個相同時間軸設定的字幕內容到單一時間軸之下 ( 採 workaround 方式處理 )
  2. 變更版號為 0.2.2 版
2006-09-06 更新:
  1. 增加對 Windows 平台下的檔案編碼特別處理,以便在 Windows 下輸出可用的 SubRip 字幕檔
  2. 另外提供一個以 Big5 碼存檔的版本 ( >>ass2srt-big5.pl ),可在 Windows 下輸出中文訊息
  3. 將版號更新為 0.2.3 版
2006-09-07 更新:
  1. 增加對輸出檔案格式的切換選項 ( -m/--mac 及 -o/--dos 兩種 ),這主要是處理各平台間對換行方式差異的問題
  2. 修正時間軸格式錯誤的問題
  3. 加入免責聲明
  4. 將版號更新為 0.2.4 版
2006-09-07 更新:
  1. Bug Fixed
  2. 將版號更新為 0.2.4.1 版
2008-03-11 更新:
  1. Bug Fixed: 修正 srt 時間軸格式錯誤問題 ( 見 >>newhren 的說明,同時也感謝 newhren 的 patch 檔
  2. 將版號更新為 0.2.4.2 版
待測字幕檔處理工具:
  1. >>Sabbu:無法識別字幕檔的格式或編碼,移除之!
  2. >>Gaupol Subtitle Editor
  3. >>Subtitle Editor:無法識別出字幕檔格式或編碼,移除之!

Icon-Comment newhren, 304 days ago. Icon-Permalink

Sorry, I don's speak japanese. Your script has a serious bug: the time format in the output is wrong. I din't figure out how to post attachemnts, so here is a link to the patch

>>http://rapidshare.com/files/98383365/ass2srt.pl.diff

Icon-Comment Ada, 303 days ago. Icon-Permalink

Hi, newhren:

Thanks for your patch, I had update the code and upload, Updated version is 0.2.4.2, No new features.

Thank You very much !

Please login to post a comment.


【求助】

  1. 如何指定格式化的文字
  2. 如果字太小
【SnipSnap 強化方案】
>>SnipIt 誕生
>>功能討論
>>功能確認

< January 2009 >
SunMonTueWedThuFriSat
123
45678910
11121314151617
18192021222324
25262728293031

【RSS 訂閱】




【雜想分類區】
美食小吃
生活雜想
職場遭遇戰
休閒娛樂
台北居、大不易
錯誤正在橫行中
廣告異聞錄
神秘事件簿
電影
健康管理
資訊電腦
科高地球
手機應用
新聞馬後炮
動漫世界
管理眾人之事
專案管理
歌曲歌詞
嘸爽啦!
部落格記錄
惡搞裝笨耍白爛
歧視非IE用戶之網頁
關於我
CSS
RSS

【與 Ada 聯絡】

【Windows 多媒體播放工具】
介紹:多功能免費媒體播放工具 MyMPC 2006 安裝介紹
下載(1):>>MyMPC 20060117 簡、繁、英三合一安裝版
下載(2):>>MyMPC 20060117 簡、繁、英三合一安裝版

【Firefox 擴充套件自動安裝服務】
>>建議擴充套件介紹
>>擴充套件分類介紹
※更新日期:2007-04-12

【有趣的 Blog】
>>什麼都破,什麼都爛,什麼都不奇怪
>>酪梨壽司的日記
>>去吧!錯誤特攻隊!
>>隨裕而安
>>荒謬大觀
>>網路黑貓
>>瑞克梅添涼 DALIREAL
>>鳥毅的blog
>>潛艦 - >>反垃圾信
>>窮留學生懶人食譜
>>約耳談軟體

【工具網站】
>>dns checker
>>美國街道電子地圖

【網路貼紙】
XHTML 1.0 validated CSS validated
RSS 2.0 validated Powered by SnipSnap
Powered by Gentoo Linux
網站使用 UTF-8 編碼 網站所在地-台灣
Onion Club 洋蔥酷樂部 Powered By PostgreSQL
我是台灣人

【網路同盟】
怠墮管理者同盟

【PCDVD 七八區 RSS】




【PCDVD 疑雜區 RSS】




【網路串連】









【參訪團】

snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt