{"id":26105451,"url":"https://github.com/dualsubs/webvtt","last_synced_at":"2025-07-19T06:04:48.795Z","repository":{"id":37760620,"uuid":"464776295","full_name":"DualSubs/WebVTT","owner":"DualSubs","description":"an WebVTT / JSON [ parse | stringify ]  to JSON / WebVTT Converter based JavaScript","archived":false,"fork":false,"pushed_at":"2024-03-04T08:00:31.000Z","size":45,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T18:47:03.212Z","etag":null,"topics":["json","praser","srt","srt-subtitles","stringifier","vtt","vtt-subtitles","webvtt","webvtt-subtitles"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DualSubs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-01T06:46:48.000Z","updated_at":"2023-04-20T06:22:19.000Z","dependencies_parsed_at":"2025-04-12T18:36:07.953Z","dependency_job_id":"3b5d390d-a7a4-4a8d-a64f-e544ffc5c3ae","html_url":"https://github.com/DualSubs/WebVTT","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/DualSubs/WebVTT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DualSubs%2FWebVTT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DualSubs%2FWebVTT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DualSubs%2FWebVTT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DualSubs%2FWebVTT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DualSubs","download_url":"https://codeload.github.com/DualSubs/WebVTT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DualSubs%2FWebVTT/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265895967,"owners_count":23845414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","praser","srt","srt-subtitles","stringifier","vtt","vtt-subtitles","webvtt","webvtt-subtitles"],"created_at":"2025-03-09T21:16:11.584Z","updated_at":"2025-07-19T06:04:48.772Z","avatar_url":"https://github.com/DualSubs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebVTT\nan WebVTT\u0026SRT / JSON [ parse | stringify ]  to JSON / WebVTT Converter based JavaScript\n\n一款基于JavaScript的WebVTT\u0026SRT字幕 序列化/反序列化 JSON格式的转换器\n\nTelegram讨论组:[🍟 整点薯条](https://t.me/GetSomeFries)\n\n---\n\n- [WebVTT](#webvtt)\n  - [简介](#简介)\n  - [功能列表](#功能列表)\n  - [todo](#todo)\n  - [JSON数据序列结构](#json数据序列结构)\n  - [使用方式](#使用方式)\n    - [待完成](#待完成)\n\n---\n\n## 简介\n  * WebVTT和SRT格式转换为JSON对象，以及对应的JSON对象转换为WebVTT的转换器\n\n\n## 功能列表\n  * WebVTT文件头与数据体分离\n  * 文件头：\n    * WebVTT文件类型声明\n    * CSS 样式声明\n    * CSS 样式表\n  * 数据体：\n    * SRT字幕序号\n    * 时间轴\n    * 字幕文本框参数(大小，位置，比例)\n    * 起始时间戳\n    * 结束时间戳\n    * UNIX起始时间戳(默认启用，可选)\n    * 时间戳秒/毫秒精度转换(默认：秒，可选)\n    * 分割多行字幕文本(默认不分割，可选)\n\n## todo\n  * 文件头：\n    * 地区设置声明\n    * 地区设置\n    * CSS扩展\n  * 数据体：\n    * 对话框可选参数\n    * 字幕文本可选参数(字幕与背景颜色)\n    * 地区设置\n    * 其他字幕文本功能\n\n## JSON数据序列结构\n    ```json\n\n    {\n        headers: {\n            fileType: \"WEBVTT\",\n            CSSStyple: \"STYLE\",\n            CSSBoxes: \"::cue {\n                background-image: linear-gradient(to bottom, dimgray, lightgray);\n                color: papayawhip;\n            }\"\n        },\n        body: [\n            {srtNum:null, timeLine:\"00:00:00.000 --\u003e 00:00:04.000\", options:\"position:10%,line-left align:left size:35%\", text:\"Where did he go?\", startTime: \"00:00:00\", endTime: \"00:00:04\", timeStamp: 0, index:0},\n            {srtNum:null, timeLine:\"00:00:03.000 --\u003e 00:00:06.500\", options:\"position:90% align:right size:35%\", text:\"I think he went down this lane.\", startTime: \"00:00:03\", endTime: \"00:00:06\", timeStamp: 3, index:1},\n            {srtNum:null, timeLine:\"00:00:04.000 --\u003e 00:00:06.500\", options:\"position:45%,line-right align:center size:35%\", text:\"What are you waiting for?\", startTime: \"00:00:04\", endTime: \"00:00:06\", timeStamp: 4, index:2}\n        ]\n    }\n    \n    ```\n\n## 使用方式\n### 待完成","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdualsubs%2Fwebvtt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdualsubs%2Fwebvtt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdualsubs%2Fwebvtt/lists"}