IsaacZ 发表于 2020-5-31 16:30:49

Spp2Pgs 0.9.3.7-delta【ass转sup字幕工具】

个别帖子有引用这个工具,转贴一下:

来源:https://cnlang.org/bbs/thread-60521-1-1.html 有删改

【工具及简要说明】

Spp2Pgs 0.9.3.7
输入ass文件,bgra格式的avs,或者其他可播放的bgra源文件,或者来自stdin的bgra raw流
输出sup文件,或者输出到stdout
参数详见程序运行输出

运行时,%Temp%路径所在分区需要留出4G以上空间;可在执行前设置%Temp%路径,转移工作时临时文件的存储位置。
devel目录下为.net库及其它开发相关的内容;legacy目录下为基于3.0.0.306版本的xy-VSSppf

遵GPLv3许可协议发布,协议内容见源码,详见后文
耐得住一般特效;全屏动态黑板一般也能生成文件,但是为了兼容性会掉帧。
生成的sup文件严格遵照蓝光标准,因此大面积+动态的话会导致丢帧,严重程度主要与画面面积相关,请结合临床。

默认在起点处添加了“前黑”,避免字幕在大金中混流时需要手工指定起始偏移。
另可通过二次开发将多个ass文件连续合编入单一的sup文件中,参见示例代码。

如果ass字幕特效超标,用Spp2Pgs将ass字幕转换为pes的过程中会自动简化特效,可以顺利导入Scenarist UHD。


【项目概况】

目前项目维护地址(git):
https://github.com/subelf/Spp2Pgs
目前软件已经停更了,现在导出的字幕用在4k原盘字幕会过小,有源码,望高手接手更新下。

点击下载发布版:
Spp2Pgs 0.9.3.7-delta【ass转sup字幕工具】(访问密码:dianbo)


使用方法:

软件目录按住shift+右键选择powershell,输入命令(IsaacZ注:应该也可以在CMD命令提示符下使用)


.\spp2pgs -i "1.ass" -s -1080 -r 23 "output.sup"
参数解释:

      -i <filename>
               Input subtitle file name. Use '-' for a stdin raw input.
      -s <format>
               Frame format:
               480i   = 1/240/-480
               576i   = 2/288/-576
               480p   = 3/480
               1080i= 4/540/-1080
               720p   = 5/720
               1080p= 6/1080
               576p   = 7/576
      -r <rate>
               Frame rate:
               23.976 = 1/23
               24.0   = 2/24
               25.0   = 3/25
               29.97= 4/29
               30.0   = 5/30
               50.0   = 6/50
               59.94= 7/59
               60.0   = 8/60
      -b <frameid>
               Beginning index of valid frames.
      -e <count>
      -n <count>
               count of frames.
      -z
               Setting up an extra epoch at the very beginning or not.
               0      = No;
               1      = Yes;
               (blank)= Yes. (default)
      -x
               Using extremely strict mode or not.
               0      = No;
               1      = Yes;
               (blank)= Yes. (default)
      -v
               Output level.
               (blank)= All, verbose;
               63   = Errors only.
               127    = Errors and warnings.
               144    = Normal outputs. (default)
      <filename>
               Output file name. Use '-' for a stdout output.


nnezyj的方法:

@Echo OFF & CD/D "%~dp0"
:Enc1
IF "%~1"=="" GOTO :EOF


echo.
echo.开始生成sup!
"Spp2Pgs.exe" -i "%~1" -s 1080 -r 23 "%~1.sup"


echo.
echo.开始pes转换!
"Pgs2Pes.exe" -i "%~1.sup" "%~1.pes"


SHIFT /1
GOTO :Enc1
上面的内容复制到 txt 文本里,保存之后,将 txt 文本文件的扩展名 .txt 修改为 .bat

将此 .bat 文件复制到 Spp2Pgs 文件夹里,和 .exe 文件放在一起。

拖动 ass 文件到此 .bat 文件上,会自动生成 .pes 文件

懒人包:可直接下载下面现成的 .bat 批处理文件:

将以上 to.sup-pes-mui.rar里的 .bat 文件解压到 Spp2Pgs 文件夹根目录

或者直接拖动 sup 文件到 Pgs2Pes.exe 上就可以生成 .pes文件了


dahaonan 发表于 2022-4-11 09:51:54

谢谢分享!正在学习
页: [1]
查看完整版本: Spp2Pgs 0.9.3.7-delta【ass转sup字幕工具】