Skip to content
No description or website provided.
CSS JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
common
server
template
view
.gitignore
LICENSE
README.md
build.js
config.js
package-lock.json
package.json

README.md

node-sorry

最近很火的sorry在线制作gif的node版本,创意来自Xuty的ruby原版,本文档亦有参考原文档。

线上演示地址

有问题欢迎提issue,喜欢项目的请star,谢谢!

图片

项目说明

  • 服务端采用 koa + fluent-ffmpeg,生成字幕和gif存在cache目录
  • api用RESTful规范
  • 页面采用ejs渲染,构建脚本build.js,生成页面和资源在dist目录
  • 项目配置在config.js中(部署请删掉或替换统计代码)

源码结构

├── package
├── package.lock
├── common                  # 工具类
├── server                  # node源码
├── view                    # 页面源码
├── template                # gif模板
├── config.js               # 配置
├── build.js                # 页面构建脚本
├── README.md
└── cache                   # gif和字幕缓存

其他版本

API

制作GIF:

POST {host}/api/{template_name}/
{
    subtitle:['好啊',.....]
}

# 返回GIF的hash
-> 200 
{
  status: 200,
  data: 'c2f4069ed207dc38e0f2d9359a2fa6b7'
}

获取GIF:

GET {host}/api/{template_name}/{gif_hash}

目前支持的template_name有:

- sorry
- wangjingze
- guevara

部署指南

安装

npm i

@ffmpeg-installer/ffmpeg有可能装不上,多装npm i几次

构建页面

npm run build

部署

本地开发用npm run server

线上部署用推荐使用pm2管理,先安装npm i pm2 -g,再pm2 start server/index.js启动项目即可

制作字幕模板template.ass

首先使用aegisub为模板视频创建字幕,保存为template.ass(aegisub教程可以看这个 https://tieba.baidu.com/p/1360405931图片

然后把文本替换成模板字符串 <%= sentences[n] %> 图片

You can’t perform that action at this time.