···1+# ari's VOD uploader
2+3+This tool stitches together livestream VOD segments and automatically uploads
4+them to YouTube.
5+6+This tool expects to be run in a directory containing a [metadata](#metadata)
7+file, and targeting a footage directory containing `.mkv` files (these are
8+really quick and easy to stitch together).
9+10+The template [title](template/title.txt) and
11+[description](template/description.txt) files contain my current format
12+for VOD upload metadata. They use generic Go templates
13+14+## Basic usage
15+16+Initialise a VOD directory:
17+```sh
18+vod-uploader --init /path/to/media
19+```
20+21+Upload a VOD, deleting the redundant full VOD export afterwards:
22+```sh
23+vod-uploader -d /path/to/media
24+```
25+26+## Metadata
27+28+When `--init`ialising a directory, a `metadata.toml` file is created. This is a
29+plain-text file providing some simple options to customise uploads per
30+directory. See this example file with additional comments:
31+32+```toml
33+# The title of the stream
34+title = 'Untitled Stream'
35+# (Optional) The part of an episodic stream. 0 assumes this is not episodic.
36+part = 0
37+# The date of the stream
38+date = '2026-01-28'
39+# (Optional) Additional tags to add to this VOD's metadata.
40+tags = ['livestream', 'VOD']
41+# (Optional) Footage directory override, for more complex directory structures.
42+footage_dir = 'footage'
43+# Set to `true` by the tool when the VOD has been uploaded successfully.
44+# Prevents future uploads unless `--force` is used.
45+uploaded = false
46+47+# (Optional) Category details, for additional credits.
48+[category]
49+#
50+name = 'This Thing'
51+# Valid types: gaming, other (default: other)
52+type = 'other'
53+url = 'https://example.org'
54+```
55+56+## Options
57+- `-h`, --help`: Show a help message.
58+- `-v`, --verbose`: Show verbose logging output.
59+- `--init`: Initialise `directory` as a VOD directory.
60+- `-d`, --deleteAfter`: Deletes the full VOD after upload.
61+- `-f`, --force`: Force uploading the VOD, even if it already exists.
62+63+*made with <3 by ari melody, 2026*