https://github.com/wargarblgarbl/libgosubs
golang library to read and write various subtitle formats
https://github.com/wargarblgarbl/libgosubs
ass golang golang-library srt subtitles ttml
Last synced: 5 months ago
JSON representation
golang library to read and write various subtitle formats
- Host: GitHub
- URL: https://github.com/wargarblgarbl/libgosubs
- Owner: wargarblgarbl
- License: mit
- Created: 2017-05-03T21:05:25.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-05-13T06:18:07.000Z (about 6 years ago)
- Last Synced: 2025-05-08T12:42:15.795Z (about 1 year ago)
- Topics: ass, golang, golang-library, srt, subtitles, ttml
- Language: Go
- Homepage:
- Size: 102 KB
- Stars: 26
- Watchers: 1
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - libgosubs - golang library to read and write various subtitle formats - ★ 9 (Video)
- awesome-go - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / Utility/Miscellaneous)
- go-awesome-with-star-updatetime - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / HTTP Clients)
- awesome-go-zh - libgosubs
- awesome-go-cn - libgosubs
- awesome-go - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / Advanced Console UIs)
- awesome-go-processed - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass.| (Video / Advanced Console UIs)
- awesome-video - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Language and platform specific libraries / Go)
- awesome-video - wargarblgarbl/libgosubs - A tool or resource for subtitle-caption-tools. (Video Editing & Processing Tools / Subtitle & Caption Tools)
- awesome-go-extra - libgosubs - 05-03T21:05:25Z|2020-05-13T06:18:07Z| (Video / Fail injection)
- awesome-go-cn - libgosubs
- awesome-go - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / HTTP Clients)
- awesome-go - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / Utility/Miscellaneous)
- awesome-go - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go - libgosubs - | - | - | (Video / HTTP Clients)
- awesome-go - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / HTTP Clients)
- awesome-go-cn - libgosubs
- awesome-go-info - libgosubs
- awesome-go - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / Utility/Miscellaneous)
- awesome-go - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / Utility/Miscellaneous)
- awesome-Char - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Video / HTTP Clients)
README
# libgosubs
Golang library to read and write subtitles in the following formats
- Advanced SubStation Alpha v4
- SRT
- TTML v1.0 - This is based on the spec provided by Netflix in their documentation
- WebVTT experimental support
- MicroDVD experimental support
# notes
TTML is somewhat complex to implement in Go due to the way that Go handles XML namespaces. Until this issue is fixed, two different structs for reading and writing, as well as a lengthy conversion function will probably be necessary. See the test file for a sample (and probably poor) implementation.
# todo
- Clean up the ASSv4 format, specifically do something about the way headers are handled
# updates
- Experimental MicroDVD format support added
## libgosubs project garbage
### Documentation
Available via Godoc
|Godoc | Format |
| ------------- | ------------- |
|[](https://godoc.org/github.com/wargarblgarbl/libgosubs/ass) | ASS |
|[](https://godoc.org/github.com/wargarblgarbl/libgosubs/srt) | SRT |
|[](https://godoc.org/github.com/wargarblgarbl/libgosubs/ttml) | TTML |
|[](https://godoc.org/github.com/wargarblgarbl/libgosubs/wvtt) | WVTT |
|[](https://godoc.org/github.com/wargarblgarbl/libgosubs/mdvd) | MicroDVD |
### Test Coverage
| Coverage | Format |
| ------------- | ------------- |
|| ASS|
|| SRT|
|| TTML|
|| WVTT|
|| MDVD|
### Other
[](https://goreportcard.com/report/github.com/wargarblgarbl/libgosubs)