pysrt
pysrt is a Python library used to edit or create SubRip files.
Foreword
pysrt is mainly designed as a library, but if you are experiencing troubles with bad subtitles you can first try to use ruby-osdb which will try to find the best subtitle for your movie. If you are still unlucky pysrt also provide an srt command useful for either shift, split, or rescale a .srt file.
Command Usage
Shifting:
$ srt -i shift 2s500ms movie.srt
Spliting:
$ srt split 58m26s movie.srt
Rescaling:
$ srt -i rate 23.9 25 movie.srt
Installation
pysrt is available on pypi. To intall it you can use either
pip:
$ sudo pip install pysrt
or distutils:
$ sudo easy_install pysrt
It is compatible with python >= 2.6 and 3.
Library Usage
Import:
>>> import pysrt
Parsing:
>>> subs = pysrt.open('some/file.srt')
# If you get a UnicodeDecodeError try to specify the encoding
>>> subs = pysrt.open('some/file.srt', encoding='iso-8859-1')
SubRipFile are list-like objects of SubRipItem instances:
>>> len(subs) >>> first_sub = subs[0]
SubRipItem instances are editable just like pure Python objects:
>>> first_sub.text = "Hello World !" >>> first_sub.start.seconds = 20 >>> first_sub.end.minutes = 5
Shifting:
>>> subs.shift(seconds=-2) # Move all subs 2 seconds earlier
>>> subs.shift(minutes=1) # Move all subs 1 minutes later
>>> subs.shift(ratio=25/23.9) # convert a 23.9 fps subtitle in 25 fps
>>> first_sub.shift(seconds=1) # Move the first sub 1 second later
>>> first_sub.start += {'seconds': -1} # Make the first sub start 1 second earlier
Removing:
>>> del subs[12]
Slicing:
>>> part = subs.slice(starts_after={'minutes': 2, 'seconds': 30}, ends_before={'minutes': 3, 'seconds': 40})
>>> part.shift(seconds=-2)
Saving changes:
>>> subs.save('other/path.srt', encoding='utf-8')
Release files for pysrt 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysrt-1.1.2.tar.gz | 104.4 kB | Details |
Release files / pysrt-1.1.2.tar.gz
| Download URL | pysrt-1.1.2.tar.gz |
|---|---|
| Size | 104.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4f844ba33e4e7743e9db746492f3a193dc0bc112b153914698e7c1cdeb9b0b9
|
|
BLAKE2b-256 checksum How to use checksums |
311a0d858da1c6622dcf16011235a2639b0a01a49cecf812f8ab03308ab4de37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.3
|