# ari's VOD uploader This tool stitches together livestream VOD segments and automatically uploads them to YouTube. This tool expects to be run in a directory containing a [metadata](#metadata) file, and targeting a footage directory containing `.mkv` files (these are really quick and easy to stitch together). The template [title](template/title.txt) and [description](template/description.txt) files contain my current format for VOD upload metadata. They use generic Go templates ## Basic usage Initialise a VOD directory: ```sh vod-uploader --init /path/to/media ``` Upload a VOD, deleting the redundant full VOD export afterwards: ```sh vod-uploader -d /path/to/media ``` ## Metadata When `--init`ialising a directory, a `metadata.toml` file is created. This is a plain-text file providing some simple options to customise uploads per directory. See this example file with additional comments: ```toml # The title of the stream title = 'Untitled Stream' # (Optional) The part of an episodic stream. 0 assumes this is not episodic. part = 0 # The date of the stream date = '2026-01-28' # (Optional) Additional tags to add to this VOD's metadata. tags = ['livestream', 'VOD'] # (Optional) Footage directory override, for more complex directory structures. footage_dir = 'footage' # Set to `true` by the tool when the VOD has been uploaded successfully. # Prevents future uploads unless `--force` is used. uploaded = false # (Optional) Category details, for additional credits. [category] #  name = 'This Thing' # Valid types: gaming, other (default: other) type = 'other' url = 'https://example.org' ``` ## Options - `-h`, --help`: Show a help message. - `-v`, --verbose`: Show verbose logging output. - `--init`: Initialise `directory` as a VOD directory. - `-d`, --deleteAfter`: Deletes the full VOD after upload. - `-f`, --force`: Force uploading the VOD, even if it already exists. *made with <3 by ari melody, 2026*