好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > ass2srt.vbs(ass/ssa批量轉(zhuǎn)換srt的腳本)

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

熱門標(biāo)簽:如何用機器人進行電銷 東營快遞外呼系統(tǒng) 佛山真人電銷機器人廠家 地圖標(biāo)注政府哪個部門管 齊齊哈爾高德地圖標(biāo)注店 除了地圖標(biāo)注還有這種生意嗎 神行者美術(shù)館地圖標(biāo)注 哪里有便宜的地圖標(biāo)注公司 百度地圖標(biāo)注點距離代碼

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

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

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) 文件是一個包含可擴展標(biāo)記語言(XML)代碼的文本文檔,它結(jié)合了若干功能,提高了腳本編程的靈活性。由于 Windows 腳本文件并不局限于特定的引擎,它們能夠包含所有遵循 ActiveX(R)規(guī)范的腳本引擎的腳本。

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

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

Option Explicit
Const Encoding = "unicode" 'assume unicode

'Author: Demon
'Website: http://demon.tw
'Date: 2012/6/16

Dim shell, folder, fso, ext, i, args
Set shell = CreateObject("Shell.Application")
Set fso = CreateObject("scripting.filesystemobject")
Set args = WScript.Arguments

If 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
  Next
Else
  For i = 0 To args.Count - 1
    ASS2SRT args(i), Encoding
  Next
End If

MsgBox CInt(i)  " file(s) Converted!", vbInformation

Function 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, adSaveCreateOverWrite
End Function

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

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

標(biāo)簽:四平 海口 銅川 鶴壁 西安 文山 邢臺 湖州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ass2srt.vbs(ass/ssa批量轉(zhuǎn)換srt的腳本)》,本文關(guān)鍵詞  ass2srt.vbs,ass,ssa,批量,轉(zhuǎn)換,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ass2srt.vbs(ass/ssa批量轉(zhuǎn)換srt的腳本)》相關(guān)的同類信息!
  • 本頁收集關(guān)于ass2srt.vbs(ass/ssa批量轉(zhuǎn)換srt的腳本)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美一级Av无码毛片久久精品 | 韩剧免费| 影音先锋AV啪啪资源| 成人国产精品999视频| 岛国一级毛片| 91久久精品人妻中文字幕| AA爱做片免费| 露胸照女主播| 地下室肉按摩椅| 打扑克又疼又叫视频软件下载大全 | 最原始的欲望燃文| 一边接吻一边摸下面视频| 18禁裸体爆乳羞羞?网站| 男男被扒开屁股狠狠惩罚| 国产真人真事一级A片| 超碰国产精品久久人人在人人| 新婚大ying乱小说| 黄色一级网站| 天天摸天天碰天天爽天天弄| 国产精品久久久久久无码不卡| 殴美熟妇XXOO高潮痉挛| 国产高清对白在线观看免费91| 白洁赵敏的婬乱生活| 国产精品无码秘?入口| 女教师媚药中出在线观看| 97涩涩涩| 精品国产二区| 92看片婬黄大片欧美高清3G | 无码人妻av久久久一区二区三区 | 男女啪啪摸下面喷水动态图 | 黄色影片免费在线观看| 女的张开腿让男生桶出水| 波多野结衣一二区| 伊人久久精品一区二区三区| 色妞无码视频在线观看| 娇妻满足绿帽瘾| 女同肉瓣摩擦gl视频免费观看| 公车上拨开丁字裤进入电| 免费?无码?国产在线电影| 成全电影免费观看完整版的方法 | 看一级黄色电影|