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]"$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 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,然后将需要转换的ass/ssa字幕拖动到ass2srt.vbs脚本上即可。如果需要批量转换的ass/ssa字幕比较多,可以先把它们放到同一个文件夹里,然后直接双击运行ass2srt.vbs,选择字幕所在的文件夹即可。
原文:http://demon.tw/my-work/ass2srt.html
ass,ssa,批量转换,srt
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]