Pure-Python MKV subtitle extractor
Project description
py_subtitle_extractor
Pure-Python MKV subtitle extractor library
Zero external dependencies, single-pass streaming, supports raw and SRT output.
🚀 Features
extract_subtitle_tracks(path)→ List of subtitle-track metadata (track number, codec, language, name)extract_subtitles(path, track)→ List of(timestamp_ms, text)tuplesextract_subtitles_as_srt(path, track)→ Complete SRT file as a string
📦 Installation
From PyPI
pip install py_subtitle_extractor
From source
git clone https://github.com/re999/py_subtitle_extractor.git
cd py_subtitle_extractor
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip build
pip install .
🛠️ Usage
from py_subtitle_extractor import (
extract_subtitle_tracks,
extract_subtitles,
extract_subtitles_as_srt,
)
# List available subtitle tracks
tracks = extract_subtitle_tracks("movie.mkv")
for t in tracks:
print(f"Track #{t['track_number']}: {t['codec_id']} [{t['language']}] – {t['name']}")
# Extract raw entries from track #3
entries = extract_subtitles("movie.mkv", 3)
for ts, text in entries:
print(ts, text)
# Get full SRT text for track #3
srt_text = extract_subtitles_as_srt("movie.mkv", 3)
print(srt_text)
🖥️ CLI Usage
# List available subtitle tracks via CLI
python -m py_subtitle_extractor movie.mkv
# Extract full SRT from track #3
python -m py_subtitle_extractor movie.mkv -t 3 > subs.srt
📂 Bundling in a Kodi Add-on
Kodi auto-includes resources/lib in its Python path. To vendor the library:
pip install . --upgrade --no-deps -t /path/to/your.addon.id/resources/lib
📄 License
This project is licensed under the MIT License. See LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_subtitle_extractor-1.0.3.tar.gz.
File metadata
- Download URL: py_subtitle_extractor-1.0.3.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e74342cb2c2b9b2eda443ee4a956f924fc7196b6124393d107b3b8ffb66b6ef6
|
|
| MD5 |
1468b5818689fc95d236cc0e76d619ff
|
|
| BLAKE2b-256 |
60de17173a0c8bfff74cc508834816f44deb100348ce8ad543a8e5a5a729750c
|
File details
Details for the file py_subtitle_extractor-1.0.3-py3-none-any.whl.
File metadata
- Download URL: py_subtitle_extractor-1.0.3-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0641b3cfe0c846d71a64026b64dc4d83aeb1d862ca0a75b9cc560bc67083ce8c
|
|
| MD5 |
5670b89b70a4778fcfb50a191c2a3fc1
|
|
| BLAKE2b-256 |
208b73eaeecfa109e886375812d133ade4d7c4ab1ebd7439571ed18b034e8487
|