重写了一遍两年前初学蛇语时写的字幕转换工具(ASS 字幕批量转 SRT)。
当时因常用某三星电视看动画,有这个需求。此外还想学下 Python,于是挖了这个坑..
自从最近把 VPS 邮件转发至 Gmail 后,不断被此坑在线版的错误报告骚扰,一翻代码,太羞耻了简直丑陋,决定换掉…
原有的功能都还在:批量、繁简转换、删特效字幕、仅保留首行、重排序、识别/指定编码。字幕重排序由可选改为强制启用。默认输出编码由 UTF-16 改为与源文件相同。兼容 Python 2.7 / 3.x。
不自带chardet
和langconv
这两个可选依赖了。后者为繁简转换所需,不在 PyPI 上,可在此处下载。
非发烧用户请直接戳 在线版 就好了。
虽然网页还是旧的,内部已经换上了全新的 asstosrt。
Python 用户请直接:
pip install chardet pip install asstosrt asstosrt --help |
好方便,一堆字幕一条命令搞定。
请问langconv如何使用,我放在C:\Python27\Lib\site-packages下,并建立了pth文件,却不能转换简繁
AC)>asstosrt -t “zh-hans” “Mrs.Junkie 1.ssa”
Found 1 file(s), converting…
(01/01) is converting… Traceback (most recent call last):
File “C:\Python27\Scripts\asstosrt-script.py”, line 9, in
load_entry_point(‘asstosrt==0.1.2’, ‘console_scripts’, ‘asstosrt’)()
File “build\bdist.win-amd64\egg\_shell_helper.py”, line 186, in main
File “build\bdist.win-amd64\egg\_shell_helper.py”, line 145, in _convert_files
File “build\bdist.win-amd64\egg\asstosrt.py”, line 115, in convert
AttributeError: ‘module’ object has no attribute ‘Converter’
抱歉 langconv 的链接贴错了,已更正。
我去看一下 OpenCC
开源简繁转换有opencc ,已经有python绑定,能否集成一下
好了支持了,用的 pyopencc。
asstosrt -c zht2zhs.ini xx.ssa 这样。
呃.. 不过我不清楚在 Windows 下怎么编译它..
(直接用 OpenCC 转 SRT 文件应该也没有问题
opencc只支持utf-8,如果要用opencc还得先转编码
win版本下的pyopencc无法编译,一大堆错误
我最终编译出来了,但是转换的时候崩溃了.. orz
http://ge.tt/5aiZf2T1/v/0?c
http://code.google.com/p/opencc/downloads/detail?name=opencc-0.4.2-win32.zip
为什么我pip install chardet会报错
Exception:
Traceback (most recent call last):
File “f:\python27\lib\site-packages\pip\basecommand.py”, line 215, in main
status = self.run(options, args)
File “f:\python27\lib\site-packages\pip\commands\install.py”, line 324, in ru
requirement_set.prepare_files(finder)
File “f:\python27\lib\site-packages\pip\req\req_set.py”, line 380, in prepare
files
ignore_dependencies=self.ignore_dependencies))
File “f:\python27\lib\site-packages\pip\req\req_set.py”, line 620, in _prepar
_file
session=self.session, hashes=hashes)
File “f:\python27\lib\site-packages\pip\download.py”, line 821, in unpack_url
hashes=hashes
File “f:\python27\lib\site-packages\pip\download.py”, line 659, in unpack_htt
_url
hashes)
File “f:\python27\lib\site-packages\pip\download.py”, line 880, in _download_
ttp_url
file_path = os.path.join(temp_dir, filename)
File “f:\python27\lib\ntpath.py”, line 85, in join
result_path = result_path + p_path
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xbb in position 7: ordinal
not in range(128)