Subconvert is movie subtitles converter and editor aiming to be fast, lightweight and easy to use. It supports a wide variety of subtitle formats, can process files in batches and is available both as terminal application and with a graphical frontend. Most things, like file encoding or movie framerate are detected automatically so you can just sit and quickly enjoy your lovely subtitles!
$ pip3 install --user subconvert
If you cloned a git repository, you can install Subconvert with help of tox.
Warning
If your system has Python version lower than 3.5, you'll need to manually install PyQt as it's not available via PYPI.
$ cd subconvert
$ tox -e venv
$ ln -s {.venv,$HOME/.local}/bin/subconvert
$ ln -s {.venv,$HOME/.local}/share/applications/subconvert.desktop
Warning
these methods are not recommended for ordinary users as they don't manage some dependencies automatically. Installation methods from PYPI or with tox are preferable.
You can alternatively create a Python distribution (like bdist_wheel) and install it:
$ cd subconvert
$ python3 setup.py bdist_wheel
$ pip3 install dist/\*.whl
Or install it directly:
$ cd subconvert
$ python3 setup.py install
If you installed Subconvert with pip, uninstalling it is simply calling uninstall:
$ pip3 uninstall subconvert
Otherwise you'll have to manually remove all subconvert files, i.e.:
$prefix/lib/python*/site-packages/subconvert
$prefix/bin/subconvert
$prefix/share/applications/subconvert.desktop
$prefix/share/icons/hicolor/*/apps/aubconvert.{svg,png}
Note
Most recent usage description is always available by subconvert
--help. You can also refer to the documentation included in docs/
directory.
You can use graphical or commandline interface. Default subconvert invocation executes graphical interface. It is an interactive window in which you can convert and edit movie subtitles.
To access commandline interface, use -c
switch:
$ subconvert -c file1.srt file2.txt
Above invocation will convert file1.srt and file2.txt to the default subtitles
format (which is SubRip). It will create file2.srt and will try to overwrite
file1.srt (don't worry, unless you used -f
switch, Subconvert will first ask
you what to do).
It's not uncommon to add some kind of prefix/suffix to converted subtitles. Like this:
my_subtitles.srt --> converted_my_subtitles.extension
When you specify output filename (via -o
option), you can tell Subconvert to
use input file name base. Subconvert will substitute with it all appearances of
%f
in output file name. See an example:
$ ls
$ file1.srt file2.txt
$ subconvert -c file1.srt file2.txt -o "conv_%f.ABC"
$ ls
$ conv_file1.ABC conv_file2.ABC file1.srt file2.txt
You can escape "%f" by adding second percent sign ("%"):
$ subconvert -c file1.srt -o "conv_%%f.ABC"
$ ls
$ conv_%f.ABC file1.srt file2.txt
You can also substitute %e
, with original file extension (without a dot
.
):
$ subconvert -c file1.srt -o "conv_%f.%e_suffix"
$ ls
$ conv_file1.srt_suffix file1.srt file2.txt
You can create a common set of subtitle properties and apply all of them at
once. Say, your subtitles are usually iso-8859-4 encoded and you usually convert
them to TMP. You can set those settings with Subtitle Properties Editor
(available via GUI: Tools -> Subtitle Properties Editor
) and use them each
time:
$ subconvert -c file1.srt file2.txt -o "~/subs/%f.tmp" -p ~/subs/iso88594_tmp.spf
$ ls ~/subs
$ file1.tmp file2.tmp
- Python 3.4+ (3.5+ is preferred)
python3-pyqt5
python3-chardet
- MPlayer
Additionaly, to build Subconvert you'll need:
* setuptools
* pyrcc5 (comes with pyqt5-dev-tools
)
To build documentation:
* asciidoctor
Subconvert is Free Software, available under terms of GNU General Public License 3, or (at your opinion) any later version. For details see LICENSE.txt which should be delivered with Subconvert.