/liveSubtitle

基于 ASS 字幕的直播实时字幕工具|Live subtitles based on ASS subtitles

Primary LanguageJavaScriptMIT LicenseMIT

Live Subtitle

基于 ASS 字幕的直播实时字幕工具
适用于固定字幕内容的直播(例如演唱会)的实时字幕

Contributors Forks Stargazers Issues MIT License

目录
  1. 效果
  2. 技术栈
  3. 快速开始
  4. 待解决问题
  5. 贡献
  6. 许可证
  7. 联系
  8. 致谢

效果

UNIVERSE!!

UNIVERSE!!
直播录像(哔哩哔哩):BV1mp421R7cu

项目基于 ASS,支持特效字幕。

支持大多数 SSA/ASS 功能(libass 所支持的一切功能)

(回到顶端)

技术栈

(回到顶端)

快速开始

前置条件

  • node.js
  • npm

安装

# 克隆仓库
git clone https://github.com/koszzz/liveSubtitle.git

# 进入仓库
cd liveSubtitle

# 安装依赖
npm install

# 运行服务器
node app.js
# Server listening at http://localhost:3500

使用

渲染端

使用 OBS Studio 演示

OBS

  1. 添加来源为 浏览器
  2. 将 URL 设置为 http://localhost:3500/
  3. 宽度设置为 1920,高度设置为 1080
  4. 将此来源置于画面最上层,铺满画面

控制台

进入 http://localhost:3500/admin

Console

字幕选择

点选字幕列表中的项目,不会变更字幕的显示与否。

字幕操作

  • 按下键盘方向左键可使字幕隐藏或显示。
  • 按下键盘方向下键可切换到下一句,并使字幕显示。
  • 按下键盘方向上键可切换到上一句,并使字幕显示。
  • track2 请使用W, A, S键切换。

上传字幕

注意,一旦其中有双轴字幕,请一定要在开头放置一个,否则将无法加载。

  1. .ass字幕存放于 ./assets/subtitles/
  2. 配置./assets/subtitles/config.json
{
    // 所需字体,存放于./assets/fonts
    "fonts": ["NotoSerifSC-Bold.otf", "NotoSerifJP-Bold.otf"],
    "configs": [
        {
            "name": "字幕名称",
            "file": ".ass字幕文件名称",
            "file2": ".ass字幕文件名称", // track2,可选
            // 动画时间
            "animationTime": {
                "in": 500, // 从完全消失到完全出现的时间,毫秒
                "out": 400 // 从完全出现到完全消失的时间,毫秒
            },
            // track2,可选
            "animationTime2": {
                "in": 200,
                "out": 200
            },
            "note": "無路矢/無路矢.txt" // 笔记,可选
        }
    ]
}

字幕要求

  • 每句字幕间不得有间隔
  • 每句字幕的进入与退出时间需固定
  • 每句字幕进入后需立马退出

示例字幕文件见 ./assets/subtitles/

(回到顶端)

待解决问题

  • 优化控制台 UI
  • 适配复杂特效

查看 Open Issues 获取建议和已知问题的完整列表。

(回到顶端)

贡献

贡献使开源社区成为学习、启发和创造的绝佳场所。 非常感谢您所做的一切贡献

如果您有更好的建议,请 Fork 该仓库并创建 Pull Request。 您也可以使用 Tag “enhancement” 打开 Issue。

请不要忘记给此项目一个 Star!再次感谢!

  1. Fork 项目
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的修改 (git commit -m '加入了一些很棒的功能')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

(回到顶端)

许可证

以 MIT 协议开源。查看 LICENSE 以获取更多信息。

(回到顶端)

联系

项目地址: https://github.com/koszzz/liveSubtitle

爱发电支持我

200px 200px

(回到顶端)

致谢

(回到顶端)