A Go library and CLI for parsing, writing, syncing, merging, and converting subtitle files across multiple formats.
astisub is a Go library and command-line tool for manipulating subtitle files. It enables parsing, writing, syncing, merging, and converting between popular subtitle formats like SRT, TTML, WebVTT, and ASS. It solves the problem of handling subtitle processing programmatically within Go applications or via CLI workflows.
Go developers building media processing pipelines, video editing tools, or subtitle conversion utilities, as well as users needing a CLI for batch subtitle operations.
It offers a pure-Go, dependency-free solution with extensive format support and a rich set of manipulation features, making it a versatile alternative to fragmented or language-specific subtitle tools.
Manipulate subtitles in GO (.srt, .ssa/.ass, .stl, .ttml, .vtt (webvtt), teletext, etc.)
Supports parsing and writing across seven subtitle formats including SRT, TTML, VTT, and ASS, covering most industry standards as listed in the README.
Provides functions for syncing, merging, fragmenting, optimizing, and linear correction, enabling end-to-end subtitle processing with clear examples in the code snippets.
Includes a command-line interface for direct file conversion and operations like merging without writing Go code, useful for automation and batch processing.
Built in pure Go with no external dependencies, ensuring easy integration into Go projects and reliable performance, backed by test badges in the README.
The library does not yet support .smi subtitle files, as indicated in the roadmap with '[ ] .smi', limiting compatibility for specific use cases requiring this format.
Code examples in the README omit error handling for readability, requiring developers to implement proper error management, which can lead to bugs if overlooked in production.
Using the standalone CLI necessitates having Go installed via 'go install', which may be a barrier for users unfamiliar with Go or preferring binary distributions without dependencies.
Golang bindings for FFmpeg (This repository is no longer maintained)
Go Media Framework
RTSP client and server library for the Go programming language
Golang ffmpeg and libav C bindings
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.