重构 ASS to SRT 字幕转换工具

重写了一遍两年前初学蛇语时写的字幕转换工具(ASS 字幕批量转 SRT)。

当时因常用某三星电视看动画,有这个需求。此外还想学下 Python,于是挖了这个坑..
自从最近把 VPS 邮件转发至 Gmail 后,不断被此坑在线版的错误报告骚扰,一翻代码,太羞耻了简直丑陋,决定换掉…

原有的功能都还在:批量、繁简转换、删特效字幕、仅保留首行、重排序、识别/指定编码。字幕重排序由可选改为强制启用。默认输出编码由 UTF-16 改为与源文件相同。兼容 Python 2.7 / 3.x。
不自带chardetlangconv这两个可选依赖了。后者为繁简转换所需,不在 PyPI 上,可在此处下载

非发烧用户请直接戳 在线版 就好了。
虽然网页还是旧的,内部已经换上了全新的 asstosrt。

Python 用户请直接:

pip install chardet
pip install asstosrt
asstosrt --help

重构 ASS to SRT 字幕转换工具》上有9条评论

  1. mail

    请问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’

    回复
    1. Null 文章作者

      好了支持了,用的 pyopencc。
      asstosrt -c zht2zhs.ini xx.ssa 这样。
      呃.. 不过我不清楚在 Windows 下怎么编译它..

      (直接用 OpenCC 转 SRT 文件应该也没有问题

      回复
  2. 机兽咆哮

    为什么我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)

    回复

所有评论已归档,无法添加新的评论。请直接邮件与我联系,谢谢。