亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

ass2srt.vbs(ass/ssa批量轉換srt的腳本)

2020-07-26 11:45:46
字體:
來源:轉載
供稿:網友

iPad中的OPlayer只支持srt格式的字幕,而動畫一般使用的是ass/ssa格式的字幕,所以需要將ass/ssa批量轉換srt。

Google了一下,在《ass2srt[ass/ssa批量轉換srt]》中找到一個ass2srt.wsf腳本,內容如下:

<job id="ass2srt">  <script language="JScript">  cInput="unicode";  // You can find them from:  cOutput="utf-8";  // HKEY_CLASSES_ROOT/MIME/Database/Charset  function rrr(){    re = /Dialogue: [^,.]*[0-9]*,([1-9]?[0-9]*:[0-9]*:[0-9]*.[0-9]*),([1-9]?[0-9]*:[0-9]*:[0-9]*.[0-9]*),[^,.]*,[^,.]*,[0-9]*,[0-9]*,[0-9]*,[^,.]*,(.*)/gi;    rv = ss.match(re);    t1 = RegExp.$1;    t2 = RegExp.$2;    t3 = RegExp.$3;    rg = //{[^}.]*(//pos/([0-9]*,[0-9]*/))[^}.]*}/gi;    t3 = t3.replace(rg,"$1" + "}");     rg =//{[^}.]*}/gi;    t3 = t3.replace(rg,"");    rg =/(//pos/([0-9]*,[0-9]*/)})/gi;    t3 = t3.replace(rg,"{" + "$1");     }  </Script>  <script language="VBScript">  set ad=CreateObject("adodb.stream")  set af=CreateObject("adodb.stream")  set ass=CreateObject("adodb.stream")  ad.open  af.open  ass.open  ad.Charset=cInput  af.Charset=cOutput  ass.Charset=cOutput  Set objArgs = WScript.Arguments  For I = 0 to objArgs.Count - 1    ad.LoadFromFile(objArgs(I))    z=0    gg=left(objArgs(I),len(objArgs(I))-3)&"srt"    Do While ad.eos <> True      ss =ad.ReadText(-2)      if left(ss,8)="Dialogue" then         ss=replace(ss,",,",",d,")        rrr        t3=replace(t3,"/n",vbcrlf)        t3=replace(t3,"/N",vbcrlf)        z=z+1        af.writetext z,1        af.writetext t1 & " --> " & t2,1        af.writetext t3 & vbcrlf & vbcrlf      else         ass.writetext ss,1      end if    Loop    af.savetofile gg,2    ass.savetofile gg&".style",2  Next  if i=0 then     msgbox "Please drag files to me!",,"Error!"  else    msgbox "Converted "&i&" file(s).",,"All Over!"  end if  </Script></job>

Windows 腳本 (.wsf) 文件是一個包含可擴展標記語言(XML)代碼的文本文檔,它結合了若干功能,提高了腳本編程的靈活性。由于 Windows 腳本文件并不局限于特定的引擎,它們能夠包含所有遵循 ActiveX(R)規范的腳本引擎的腳本。

上面的腳本文件同時包含了JScript和VBScript的代碼。問題在于,有這個必要么?單純用JScript或者VBScript都可以實現,為什么要混用不同的語言呢?JScript在代碼中的作用僅僅是正則表達式而已,一個合理的推斷是作者不會VBScript的正則表達式,或者嫌VBScript的正則表達式太麻煩。就算撇開語言混雜不說,上面代碼的風格實在是不敢恭維。

下面是我寫的ass2srt.vbs,也許比上面的代碼好一點點罷。

Option ExplicitConst Encoding = "unicode" 'assume unicode'Author: Demon'Website: http://demon.tw'Date: 2012/6/16Dim shell, folder, fso, ext, i, argsSet shell = CreateObject("Shell.Application")Set fso = CreateObject("scripting.filesystemobject")Set args = WScript.ArgumentsIf args.Count = 0 Then  Set folder = shell.BrowseForFolder(0, "請選擇ASS字幕所在的文件夾", 1)  If folder Is Nothing Then WScript.Quit  For Each i In fso.GetFolder(folder.Self.Path).Files    ext = LCase(fso.GetExtensionName(i.Path))    If ext = "ass" Or ext = "ssa" Then      ASS2SRT i.Path, Encoding    End If  NextElse  For i = 0 To args.Count - 1    ASS2SRT args(i), Encoding  NextEnd IfMsgBox CInt(i) & " file(s) Converted!", vbInformationFunction ASS2SRT(path, charset)  Const adTypeText = 2  Const adReadLine = -2  Const adSaveCreateOverWrite = 2  Dim ass, srt, re, str, arr, s, e, t, i    Set ass = CreateObject("ADODB.Stream")  Set srt = CreateObject("ADODB.Stream")  Set re = New RegExp    re.Global = True  re.IgnoreCase = True  re.Pattern = "/{.*?/}"    ass.Type = adTypeText  ass.Charset = charset  ass.Open  ass.LoadFromFile path    srt.Type = adTypeText  srt.Charset = "utf-8"  srt.Open    i = 0    Do Until ass.EOS    str = ass.ReadText(adReadLine)    If Left(str, 8) = "Dialogue" Then      i = i + 1      arr = Split(str, ",", 10)      s = "0" & arr(1) & "0" 'Start time      e = "0" & arr(2) & "0" 'End time      t = arr(9) 'Text      s = Replace(s, ".", ",")      e = Replace(e, ".", ",")      t = re.Replace(t, "")      t = Replace(t, "/n", vbCrLf)      t = Replace(t, "/N", vbCrLf)      srt.WriteText i & vbCrLf      srt.WriteText s & " --> " & e & vbCrLf      srt.WriteText t & vbCrLf & vbCrLf    End If  Loop    path = Left(path, Len(path) - 3) & "srt"  srt.SaveToFile path, adSaveCreateOverWriteEnd Function

把上面代碼保存為ass2srt.vbs,然后將需要轉換的ass/ssa字幕拖動到ass2srt.vbs腳本上即可。如果需要批量轉換的ass/ssa字幕比較多,可以先把它們放到同一個文件夾里,然后直接雙擊運行ass2srt.vbs,選擇字幕所在的文件夾即可。

原文:http://demon.tw/my-work/ass2srt.html

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产自产在线观看永久| 国产精品国产三级国产专播精品人| 亚洲国产又黄又爽女人高潮的| 麻豆成人在线看| 日本一区二区不卡| 国内精品免费午夜毛片| 久久精品91久久香蕉加勒比| 欧美日韩综合视频网址| 欧美成人合集magnet| 亚洲最大激情中文字幕| 欧美日韩国产限制| 夜夜嗨av一区二区三区四区| 日韩中文在线中文网三级| 国产成人在线播放| 日韩av三级在线观看| 亚洲综合在线小说| 九九久久久久久久久激情| 亚洲激情在线观看视频免费| 51精品在线观看| 久久韩国免费视频| 91探花福利精品国产自产在线| 欧美乱人伦中文字幕在线| 国产精品www色诱视频| 2021久久精品国产99国产精品| 亚洲最新av网址| 一本久久综合亚洲鲁鲁| 欧美人与性动交| 中文字幕精品一区二区精品| 中文字幕一区电影| 亚洲图片制服诱惑| 欧美电影在线观看网站| 国产精品美女午夜av| 久久99精品国产99久久6尤物| 91福利视频网| 国产精品日韩欧美综合| 精品福利在线视频| 亚洲成人性视频| 一本色道久久综合狠狠躁篇的优点| 色综合天天狠天天透天天伊人| 国产日韩av在线播放| 韩国福利视频一区| 欧美性猛交xxxx黑人| 亚洲一区二区久久| 亚洲精品国产精品乱码不99按摩| 亚洲精品国产精品久久清纯直播| 成人免费xxxxx在线观看| 国产精品久久久久久久app| 久久久久久综合网天天| 欧美电影免费观看高清| 亚洲精品国产精品国自产观看浪潮| 日韩国产激情在线| 77777亚洲午夜久久多人| 在线日韩欧美视频| 91国内精品久久| 777777777亚洲妇女| 亚洲经典中文字幕| 国产精品白嫩初高中害羞小美女| 久久久极品av| 亚洲精品中文字幕有码专区| 欧美巨猛xxxx猛交黑人97人| 欧美在线不卡区| 欧美精品少妇videofree| 久久91超碰青草是什么| 久久精品国产2020观看福利| 久热精品视频在线观看| 中文字幕日韩精品在线| 欧美在线一级va免费观看| 国产精品偷伦免费视频观看的| 久久久久久成人精品| 日韩在线观看免费av| 色综合伊人色综合网站| 亚洲a级在线播放观看| 久久69精品久久久久久国产越南| 国产91露脸中文字幕在线| 在线成人一区二区| 久久国产精品网站| 在线播放国产一区二区三区| 国产亚洲福利一区| 欧美老少做受xxxx高潮| 亚洲精品美女在线观看播放| 欧美性猛交xxxx免费看久久久| 精品视频久久久| 韩日精品中文字幕| 国产精品一区二区三区毛片淫片| 538国产精品视频一区二区| 亚洲国产精品va在线看黑人动漫| 亚洲第一网站男人都懂| 亚洲精品国偷自产在线99热| 精品久久久久久亚洲精品| 日韩亚洲综合在线| 欧美影院成年免费版| www.亚洲人.com| 国产精品成人久久久久| 国产精品国产三级国产aⅴ浪潮| 国产精品成人国产乱一区| 国产成人精品亚洲精品| 92版电视剧仙鹤神针在线观看| 欧美视频专区一二在线观看| 日韩精品中文在线观看| 91福利视频网| 国产精品成久久久久三级| 欧美日韩高清在线观看| 欧美激情一区二区三区久久久| 大伊人狠狠躁夜夜躁av一区| 亚洲国产精品999| 隔壁老王国产在线精品| 国产精品精品久久久久久| 欧美一区二粉嫩精品国产一线天| 97色在线视频观看| 午夜精品久久久久久久久久久久| 啪一啪鲁一鲁2019在线视频| 亚洲91精品在线| 亚洲第一天堂av| 日韩中文视频免费在线观看| 国产成人拍精品视频午夜网站| 欧美一区三区三区高中清蜜桃| 欧美日韩色婷婷| 久久久久中文字幕2018| 中文字幕日韩电影| 97在线观看免费高清| 欧美在线性爱视频| 亚洲人成免费电影| 成人精品久久av网站| 国产视频999| 91地址最新发布| 性色av一区二区咪爱| 亚洲视频在线免费观看| 国产精品久久一| 欧美精品日韩www.p站| 欧美成人免费视频| 日韩av片电影专区| 日韩欧美在线视频日韩欧美在线视频| 国产精品福利久久久| 最近的2019中文字幕免费一页| 国产精品久久久久久久久久久久久| 国产成人精品日本亚洲| 一本色道久久综合狠狠躁篇的优点| 精品视频在线播放色网色视频| 精品中文字幕久久久久久| 亚洲2020天天堂在线观看| 91精品久久久久久久久久久久久| 中文字幕精品视频| 国产成人亚洲综合91精品| 久久欧美在线电影| 欧美一级淫片播放口| 日韩av在线免播放器| 欧美激情第三页| 97精品视频在线播放| 亚洲福利视频免费观看| 亚洲国产97在线精品一区| 亚洲综合日韩在线| 91精品视频网站| 精品国产依人香蕉在线精品| 91久久综合亚洲鲁鲁五月天| 欧美乱大交做爰xxxⅹ性3| 久久久久久久网站| 国产91精品久久久| 91美女高潮出水| 92国产精品视频| 国产成人在线亚洲欧美| 国产精品草莓在线免费观看| 精品magnet| 日韩av免费在线播放| 国内揄拍国内精品|