Subtitle-based automatic supercut creation
Project description
Supercut
Subtitle-based automatic supercut creation.
Installation
pip install supercut
Dependencies
Supercut depends on both [ffmpeg] and [VLC].
It expects ffmpeg to be present in the path.
VLC can either be in the path, or defined via the SUPERCUT_VLC_PATH
environment variable.
On Windows, the default installation path (C:\Program Files\VideoLAN\VLC\vlc.exe
) is the default.
Usage
Before we start generating videos (which can be time-consuming), we want to be sure we'll get any results. We start by listing the speakers present in our videos (often present in SSA subtitles):
>>> supercut names --cache-dir ./workdir "Sousou No Frieren 01.mkv" "Sousou No Frieren 02.mkv"
┏━━━━━━━━━━━━━┳━━━━━━━┓
┃ Name ┃ Count ┃
┡━━━━━━━━━━━━━╇━━━━━━━┩
│ Frieren │ 200 │
│ Himmel │ 120 │
│ Heiter │ 118 │
│ Eisen │ 32 │
│ Fern │ 24 │
│ Sign │ 12 │
│ King │ 12 │
│ Shopkeeper │ 6 │
│ Herbalist │ 4 │
│ Attendant a │ 4 │
│ Eptitle │ 2 │
│ Attendant d │ 2 │
│ Attendant c │ 2 │
│ Attendant b │ 2 │
└─────────────┴───────┘
Now we know which characters speak in those videos. We can filter this down by using a query string - the words we expect them to say:
>>> supercut names --cache-dir ./workdir "Sousou No Frieren 01.mkv" "Sousou No Frieren 02.mkv" --query travel
┏━━━━━━━━━┳━━━━━━━┓
┃ Name ┃ Count ┃
┡━━━━━━━━━╇━━━━━━━┩
│ Frieren │ 6 │
│ Himmel │ 2 │
│ Heiter │ 2 │
└─────────┴───────┘
Then, we can list the lines they speak:
>>> supercut list --cache-dir ./workdir "Sousou No Frieren 01.mkv" "Sousou No Frieren 02.mkv" --query travel
0 | FRIEREN: I plan to travel around the central lands for the next hundred years or so.
1 | HIMMEL: Traveling together like this makes me feel like we've returned to those days.
2 | FRIEREN: We only traveled together for a mere ten years.
3 | FRIEREN: I've been trying to get to know the people I meet on my travels as much as possible.
4 | HEITER: Will you take her with you on your travels?
5 | FRIEREN: I plan to travel around the central lands for the next hundred years or so.
6 | HIMMEL: Traveling together like this makes me feel like we've returned to those days.
7 | FRIEREN: We only traveled together for a mere ten years.
8 | FRIEREN: I've been trying to get to know the people I meet on my travels as much as possible.
9 | HEITER: Will you take her with you on your travels?
Or preview them in VLC:
>>> supercut preview --cache-dir ./workdir "Sousou No Frieren 01.mkv" "Sousou No Frieren 02.mkv" --query travel
We can also filter further using the --name
flag.
If we're happy with the preview, we can go ahead and render it:
>>> supercut render --cache-dir ./workdir "Sousou No Frieren 01.mkv" "Sousou No Frieren 02.mkv" --query travel --output travel.mkv
Editing
If we want to remove or reorder some of the lines, we need to use edit
:
supercut edit create --cache-dir ./workdir "Sousou No Frieren 01.mkv" "Sousou No Frieren 02.mkv" --query travel --listfile edit.txt
This will generate a list, like the one we saw before. We can edit it freely - reordering, removing, duplicating, or commenting-out lines:
0 | FRIEREN: I plan to travel around the central lands for the next hundred years or so.
1 | HIMMEL: Traveling together like this makes me feel like we've returned to those days.
# 2 | FRIEREN: We only traveled together for a mere ten years.
3 | FRIEREN: I've been trying to get to know the people I meet on my travels as much as possible.
5 | FRIEREN: I plan to travel around the central lands for the next hundred years or so.
6 | HIMMEL: Traveling together like this makes me feel like we've returned to those days.
1 | HIMMEL: Traveling together like this makes me feel like we've returned to those days.
7 | FRIEREN: We only traveled together for a mere ten years.
8 | FRIEREN: I've been trying to get to know the people I meet on my travels as much as possible.
Once we are done, we can preview the list:
supercut edit preview --cache-dir ./workdir "Sousou No Frieren 01.mkv" "Sousou No Frieren 02.mkv" --query travel --listfile edit.txt
And if we're happy, render it:
supercut edit preview --cache-dir ./workdir "Sousou No Frieren 01.mkv" "Sousou No Frieren 02.mkv" --query travel --listfile edit.txt --output travel.mkv
Supported Formats
At the moment, only .mkv
files with subtitle tracks are supported.
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
File details
Details for the file supercut-0.1.0.tar.gz
.
File metadata
- Download URL: supercut-0.1.0.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55b6624fb7b37273b82f3b515b60d818145bf07a3139e44741b06778574320d3 |
|
MD5 | fac746f27e939a81a2b3ecd3137e5b31 |
|
BLAKE2b-256 | 386e9d74acb0d4d856aae95bfb0978d605acf7c4ea923e67fa2009a060929e4d |
File details
Details for the file supercut-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: supercut-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b45885decb41dd93978ba7fc5b968346505013840eabbaaa683226b117371c5e |
|
MD5 | 07fa1a3ee8c42a34960cf3f4822be2e5 |
|
BLAKE2b-256 | 36498f27438047fbd1fa11362b7f792cebc3ba6820163bc31567e2b0c0691d7e |