ass – 折腾(存档) https://blog.sorz.org 已停止更新和维护。该页面为2018年3月创建的存档,其内容可能已过于陈旧、与现状不符,仅作为历史存档用作参考。 Sun, 14 Jan 2018 11:08:20 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.9.4 [Python] ASS 字幕批量转 SRT – asstosrt2.py /p/py-ass2srt/ /p/py-ass2srt/#comments Tue, 19 Jul 2011 17:01:33 +0000 http://xierch.tk/?p=347213 #UPDATE120423: 查看新版。本文所述版本已不再更新。
#UPDATA111218:
不想看以下大堆文字说明,请直接猛戳此处使用在线版本直接批量转换

电视、手机 都不支持 ASS 字幕 ,之前用 SrtEdit 转。
但后来遇到个字幕组,把 OP&ED 的字幕放在最前面,字幕顺序颠倒了,手机就不认了…
于是写了这个 Python 脚本

为了使用方便,只需要将ass文件全部选中,拖到 asstosrt2.py 上就好了
#UPDATE110903: 如果无法拖拽,可直接运行,将自动转换同目录下所有.ass文件。
再没有其他操作了…
如果没有错误,转换完窗口会直接关闭,在ass文件同目录下会生成srt文件

当然你需要先安装 Python 2.x 才行

下载 asstosrt2.py:
最新: GitHub | 历史:  SkyDrive | Google Docs

下载 Python 2.7:
Python.org


#UPDATA110903: 请确保 atslib.zip 与 asstosrt2.py 在同一目录下。

功能特点:

× 默认输出srt文件编码为 UTF-16 (Unicode / UCS-2 Little Endian)
    我电视手机刚好都支持这个编码
× 自动删除 {} 内的特效代码
    srt 不支持嘛
× 默认对字幕按时间进行重新排序
    我手机只要顺序一乱就罢工了,电视还没试过
× 默认删除带过渡特效的字幕
    例如顶部滚动显示“仅供研究,请在24小时内删除……”等,容易覆盖对白字幕
× 繁简体转换(默认禁用)
调用了部分维基百科的翻译规则,使用了部分 pyswim 项目代码
× 只显示第一行字幕(默认禁用)
    一些双语字幕将中文放置在第一行,启用后可简单删除 \N  后的内容

由于比较懒 🙂 ,如需修改默认设置,请直接编辑代码 48~52 行。

程序很简单,或者说很简陋,本来就是自己方便着用的东西嘛…200行..
Python 2.7, Windows 7 下调试无误,GPLv3
初学 Python 没几天,糟糕的代码,见笑了
P.s 不要吐槽排序部分代码  -_-||

#UPDATE 120306:
(Ver 0.4.6) 支持换行显示

#UPDATE 110923:
(Ver 0.4.5) 解决某些设备(如某些三星电视)完全无法识别字幕的问题。

#UPDATE 110903:
(Ver 0.4.4) 忽略文件编码错误,解决少量字幕转换失败的问题。
(Ver 0.4.3) 非拖拽模式增加转换.ssa文件。
(Ver 0.4.2) 增加繁简体转换功能;
直接运行将转换通目录下所有.ass文件。

#UPDATE 110723:
(Ver 0.3.2) 自动识别ASS文件编码,解决无法转换非 UTF-8 / ASCII 文件的问题;
增加了一点转换失败判断;加了个简短的说明文件并打包。

]]>
/p/py-ass2srt/feed/ 24