Sign inSign up

alixmeng886/srt-splitter-app

By alixmeng886

•Updated over 1 year ago

基于 Python Flask 框架和 HanLP 中文自然语言处理库构建的字幕智能分割工具。

Image
0

256

alixmeng886/srt-splitter-app repository overview

srt-splitter-app: 字幕智能分割工具 Docker 镜像 📝 简介 这个 Docker 镜像是基于 Python Flask 框架和 HanLP 中文自然语言处理库构建的字幕智能分割工具。

它能够处理 SRT 格式的字幕文件,通过智能分词和字符宽度计算,自动将过长的字幕行分割成更适合阅读的短行。

✨ 主要功能

智能中文断句: 利用 HanLP 进行中文分词,确保断句在语义上更合理。

精确字符宽度: 根据中英文字符的实际显示宽度(汉字通常占2个字符宽度)进行分割。

可配置行长: 用户可以设置每行的最大显示字符数。

文件持久化: 处理后的 SRT 文件将保存在容器内部的 /app/processed 目录,可以通过数据卷映射到宿主机,实现文件持久存储。

🚀 如何使用

  1. 拉取 Docker 镜像 docker pull alixmeng886/srt-splitter-app:latest

  2. 运行 Docker 容器 您可以通过以下命令运行容器,并将宿主机的 5173 端口映射到容器的 5000 端口。同时,我们强烈建议您挂载一个数据卷来持久化处理后的文件,并挂载 HanLP 模型数据以确保其可用性。

请确保您已在宿主机上准备好 hanlp_data 文件夹,并将其放置在您希望映射的位置(例如,./hanlp_data)。

docker run -d
--name srt_splitter_container
-p 5173:5000
-v ./processed:/app/processed
-v ./hanlp_data:/app/hanlp_data
alixmeng886/srt-splitter-app:latest

-d: 后台运行容器。

--name srt_splitter_container: 为容器指定一个名称。

-p 5173:5000: 将宿主机的 5173 端口映射到容器内部的 5000 端口。

-v ./processed:/app/processed: 将宿主机当前目录下的 processed 文件夹挂载到容器的 /app/processed,用于保存处理后的字幕文件,实现持久化。

-v ./hanlp_data:/app/hanlp_data: 将宿主机当前目录下的 hanlp_data 文件夹挂载到容器的 /app/hanlp_data,用于提供 HanLP 模型数据。这是确保应用能够正常运行的关键。

  1. 访问 Web 界面 容器启动后,您可以通过浏览器访问:

http://<您的主机IP地址>:5173/

  1. API 使用 您也可以通过发送 POST 请求到 /api/process_subtitles 接口来处理字幕文件。

URL: http://<您的主机IP地址>:5173/api/process_subtitles

方法: POST

Content-Type: multipart/form-data

表单字段: files (SRT文件), max_chars_per_line (数字, 可选, 默认30), remove_punctuation_checkbox (字符串 'on'/'off', 可选, 默认'on')

🔗 相关链接 GitHub 仓库: https://github.com/AlixMeng/srt-splitter-app⁠

📄 许可证 本项目采用 MIT 许可证。详见 GitHub 仓库 中的 LICENSE 文件。

Tag summary

Content type

Image

Digest

sha256:e761d98bd…

Size

1.1 GB

Last updated

over 1 year ago

docker pull alixmeng886/srt-splitter-app