Home - Hentioe/sorry-generator GitHub Wiki

预览

在前端的所有的输入框输入对应字幕以后,点击“预览”按钮会生成视频资源并自动更新网页中的视频内容。如果你想下载这个视频,请直接点击视频播放器(鼠标悬浮显示控件)的下载图标。

下载

前端上的“下载”和“预览”的区别在于,预览会生成视频资源,并更新到播放器内容中直接提供用户在网页上预览效果。“下载”的意图为认同了这个效果,生成并下载对应的 GIF 图片。

制作资源包

  1. 准备好视频资源,重命名为 template.mp4
  2. 做好对应的默认字幕,重命名为 template.ass

template.ass 需要满足以下条件:

  • 存在 Title 属性
  • 字幕的样式统一命名为 sorry

例子:

假设你准备好的资源目录结构是这样的:

.
└── template
    └── sorry
        ├── template.ass
        └── template.mp4

template.ass 内容为:

[Script Info]
; Script generated by Aegisub 3.2.2
; http://www.aegisub.org/
Title: 为所欲为
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: TV.601
PlayResX: 300
PlayResY: 168

[Aegisub Project Garbage]
Audio File: template.mp4
Video File: template.mp4
Video AR Mode: 4
Video AR Value: 1.781250
Video Zoom Percent: 2.000000
Active Line: 8
Video Position: 25

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: sorry,WenQuanYi Micro Hei,23,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1.1,0.5,2,5,5,5,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.18,0:00:01.56,sorry,,0,0,0,,好啊
Dialogue: 0,0:00:03.18,0:00:04.43,sorry,,0,0,0,,就算你是一流程序员
Dialogue: 0,0:00:05.31,0:00:07.43,sorry,,0,0,0,,写出来的代码再完美
Dialogue: 0,0:00:07.56,0:00:09.93,sorry,,0,0,0,,我说这是 BUG 它就是 BUG
Dialogue: 0,0:00:10.06,0:00:11.56,sorry,,0,0,0,,毕竟我是用户
Dialogue: 0,0:00:11.93,0:00:13.06,sorry,,0,0,0,,你害我加班啊
Dialogue: 0,0:00:13.81,0:00:16.31,sorry,,0,0,0,,sorry 我就喜欢看程序猿加班
Dialogue: 0,0:00:18.06,0:00:19.56,sorry,,0,0,0,,以后天天找他 BUG
Dialogue: 0,0:00:19.60,0:00:21.60,sorry,,0,0,0,,天天找 天天找

其中,可以发现 template 是资源的根目录,子目录为模板的 KEY(例如本例中的 sorry),然后在子目录中存放需要的文件。如果你将字幕样式重命名为 sorry 以后,[Events] 下面的 Dialogue 必定以 Dialogue: [时间区间],sorry,,0,0,0,,[字幕内容]为一行,这样的格式就是正确的。

将 template 目录压缩为 zip 文件,然后这个 zip 即是一个可被安装的模板资源包了。

安装资源包

有两种方式安装资源包,本地安装和远程安装。

  1. 本地安装

    ./sorry-gen -i res.zip

  2. 远程安装

    curl -X POST http://your.api.server/upload/res \
    -F "file=@./res.zip" \
    -H "Content-Type: multipart/form-data"
    

可以发现,本地安装也就是在运行 sorry-generator 的机器上直接执行 sorry-generarot 并附带上 -i 参数。而远程安装即通过后端 API 上传文件,对于正常操作而言就是在网页上直接上传资源包。