ttconv:强大的时间文本格式转换工具

ttconv:强大的时间文本格式转换工具

ttconv Subtitle conversion. Converts STL, SRT, TTML and SCC into TTML, WebVTT and SRT. ttconv 项目地址: https://gitcode.com/gh_mirrors/tt/ttconv

项目介绍

ttconv(Timed Text Conversion)是一个用纯Python编写的库和命令行应用程序,专门用于在各种时间文本格式之间进行转换。这些格式广泛应用于字幕、副标题、卡拉OK等内容的展示。ttconv的核心工作原理是将输入文档映射到一个内部标准模型,然后将该模型映射到输出文档的格式。该标准模型严格遵循TTML 2数据模型,并受IMSC 1.1 Text Profile规范的约束。

项目技术分析

ttconv的技术架构设计精巧,主要包括以下几个模块:

  1. Reader模块:负责验证并转换输入文件为标准模型实例。
  2. Filter模块:对标准模型实例进行转换,例如去除文本样式和定位以适应下游设备的有限能力。
  3. Writer模块:将标准模型实例转换为输出文件。

此外,ttconv还利用Python的logging模块来报告非致命事件,并通过单元测试来验证库的使用,例如src/test/python/test_imsc_writer.py中的ReaderWriterTest.test_imsc_1_test_suite

项目及技术应用场景

ttconv适用于多种场景,包括但不限于:

  • 多媒体内容制作:在视频制作过程中,可能需要将字幕或副标题从一种格式转换为另一种格式。
  • 跨平台内容分发:不同的平台和设备支持不同的字幕格式,ttconv可以帮助内容提供商轻松转换格式以适应不同平台。
  • 内容本地化:在进行多语言内容本地化时,可能需要将字幕从一种语言的格式转换为另一种语言的格式。

项目特点

  • 多格式支持ttconv支持多种输入和输出格式,包括CEA 608/.scc、IMSC 1.1 Text Profile/.ttml、EBU STL、SubRip/.srt和WebVTT等。
  • 灵活配置:通过命令行参数和配置文件,用户可以灵活地调整转换过程中的各种参数,如进度条显示、日志级别、文档语言等。
  • 易于集成:作为一个Python库,ttconv可以轻松集成到现有的Python项目中,提供强大的时间文本格式转换能力。
  • 持续开发:项目持续更新,支持更多的输入和输出格式,并欢迎社区的建议和贡献。

快速开始

要安装最新版本的ttconv,包括预发布版本,可以使用以下命令:

pip install --pre ttconv

然后,可以使用以下命令进行格式转换:

tt convert -i <input .scc file> -o <output .ttml file>

在线演示

您可以通过在线演示体验ttconv的功能。

文档

详细的文档和参考资料可以在项目的doc目录中找到。

依赖

运行时依赖

开发依赖

项目使用pipenv管理依赖。

开发

本地设置

  1. 运行pipenv install --dev
  2. 设置PYTHONPATH环境变量为src/main/python,例如export PYTHONPATH=src/main/python
  3. 使用pipenv run命令

Docker设置

docker build --rm -f Dockerfile -t ttconv:latest .
docker run -it --rm ttconv:latest bash

示例

从项目根目录运行以下命令:

mkdir build
pipenv install --dev
export PYTHONPATH=src/main/python
python src/main/python/ttconv/tt.py convert -i src/test/resources/scc/mix-rows-roll-up.scc -o build/mix-rows-roll-up.ttml

代码覆盖率

单元测试代码覆盖率由scripts/coverage.sh脚本提供。

持续集成

概述

自动化测试由scripts/ci.sh脚本提供。

本地运行

运行./scripts/ci.sh

GitHub Actions

查看.github/workflows/main.yml

Docker运行

运行docker run -it --rm ttconv:latest /bin/sh scripts/ci.sh


ttconv是一个功能强大且易于使用的时间文本格式转换工具,无论您是多媒体内容制作人员、跨平台内容分发者还是内容本地化专家,ttconv都能为您提供极大的便利。立即尝试,体验其强大的转换能力吧!

ttconv Subtitle conversion. Converts STL, SRT, TTML and SCC into TTML, WebVTT and SRT. ttconv 项目地址: https://gitcode.com/gh_mirrors/tt/ttconv

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傅隽昀Mark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值