Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 1 month 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 (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-05-13T06:18:07.000Z (over 4 years ago)
- Last Synced: 2024-08-04T03:05:57.435Z (5 months ago)
- Topics: ass, golang, golang-library, srt, subtitles, ttml
- Language: Go
- Homepage:
- Size: 102 KB
- Stars: 26
- Watchers: 2
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-video - libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. (Language and platform specific libraries / Go)
- awesome-go - libgosubs - golang library to read and write various subtitle formats - ★ 9 (Video)
- awesome-go-extra - libgosubs - 05-03T21:05:25Z|2020-05-13T06:18:07Z| (Video / Fail injection)
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
# notesTTML 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 |
| ------------- | ------------- |
|[![GoDoc](https://godoc.org/github.com/wargarblgarbl/libgosubs/ass?status.svg)](https://godoc.org/github.com/wargarblgarbl/libgosubs/ass) | ASS |
|[![GoDoc](https://godoc.org/github.com/wargarblgarbl/libgosubs/srt?status.svg)](https://godoc.org/github.com/wargarblgarbl/libgosubs/srt) | SRT |
|[![GoDoc](https://godoc.org/github.com/wargarblgarbl/libgosubs/ttml?status.svg)](https://godoc.org/github.com/wargarblgarbl/libgosubs/ttml) | TTML |
|[![GoDoc](https://godoc.org/github.com/wargarblgarbl/libgosubs/wvtt?status.svg)](https://godoc.org/github.com/wargarblgarbl/libgosubs/wvtt) | WVTT |
|[![GoDoc](https://godoc.org/github.com/wargarblgarbl/libgosubs/mdvd?status.svg)](https://godoc.org/github.com/wargarblgarbl/libgosubs/mdvd) | MicroDVD |### Test Coverage
| Coverage | Format |
| ------------- | ------------- |
|![gocover.io go](http://gocover.io/_badge/github.com/wargarblgarbl/libgosubs/ass)| ASS|
|![gocover.io go](http://gocover.io/_badge/github.com/wargarblgarbl/libgosubs/srt)| SRT|
|![gocover.io go](http://gocover.io/_badge/github.com/wargarblgarbl/libgosubs/ttml)| TTML|
|![gocover.io go](http://gocover.io/_badge/github.com/wargarblgarbl/libgosubs/wvtt)| WVTT|
|![gocover.io go](http://gocover.io/_badge/github.com/wargarblgarbl/libgosubs/mdvd)| MDVD|### Other
[![Go Report Card](https://goreportcard.com/badge/github.com/wargarblgarbl/libgosubs)](https://goreportcard.com/report/github.com/wargarblgarbl/libgosubs)