Skip to content

TapeDeck

current

Golang master-slave distributed encoding system with a Web UI and API for personal or backend service use

Latest tag
v0.1.0
Last commit
License
MIT
Stars
0

TapeDeck is a distributed encoding system written in Go, developed as part of the Mixtape project. A master server holds a queue of projects (a film, a series, an album, an image gallery) and hands encoding tasks to worker nodes, which register themselves and advertise what they can do. You manage everything through a web UI or a REST API. It is meant for people who encode whole libraries on several machines and want a queue and dashboard rather than shell scripts.

It is new: v0.1.0 (October 2026) is the first stable release. It is MIT-licensed; source and issues are on GitGud.

AreaTools used
VideoSVT-AV1 (stock or the SVT-AV1-HDR fork), x265, x264, and VP9 (through Av1an for chunked encoding)
AudioOpus (FFmpeg piped to opusenc), FLAC, AAC
ImagesAVIF (avifenc), WebP (cwebp or FFmpeg)
Muxingmkvmerge, with FFmpeg as fallback; MKV, MP4 and WebM output
HDRDetects HDR10, HDR10+ and Dolby Vision profiles 5, 7, 8 and 10; Dolby Vision can be stripped (default), kept, or converted to profile 8 using dovi_tool and hdr10plus_tool
MetricsSSIMULACRA2, Butteraugli and CVVDP through Vship on workers with a GPU

Keeping Dolby Vision or HDR10+ metadata in AV1 needs the SVT-AV1-HDR fork on the worker; with stock SVT-AV1 those modes fail with an error instead of silently dropping the metadata.

The README’s quick start runs a master and one worker with Docker Compose on a single host, using the published tapedeck-master and tapedeck-slave images and a set of generated API and enrollment keys; the web UI is then on port 7700. Workers on other machines use the remote-worker Compose file, each with its own credentials and TLS certificate, and need the source media mounted. An install script sets up a bare-metal worker on Arch Linux or CachyOS. For production, the repository includes a PostgreSQL-backed Compose stack with TLS between master and workers.

Follow the README for the exact environment variables and Compose files, which change between versions.