Skip to content

ivenos/avxs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

avxs

Docker Image Size Docker Pulls

avxs is a Docker-first AV1 encoding service written in Rust. Drop videos and an encode.toml profile into a folder - avxs picks them up, splits each file into scenes, encodes the chunks in parallel with SVT-AV1, and merges everything into a finished MKV.

Features

  • Scene-based encoding - splits files into scenes via av-scenechange, encodes all chunks in parallel, and resumes from the last completed chunk if interrupted
  • HDR passthrough - auto-detects HDR10 and HLG, passes color metadata to the encoder automatically
  • Auto-crop - detects and removes black bars
  • Auto-scale - downscales to a target height
  • Auto-keyint - derives --keyint from source FPS for a ~5 s keyframe interval
  • Audio control - copy or re-encode per codec, language whitelist, per-codec rules
  • Subtitle control - copy or strip, language whitelist

Quick Start

services:
  avxs:
    image: ivenos/avxs:latest
    volumes:
      - ./input:/input
      - ./output:/output
    environment:
      - AVXS_POLL_INTERVAL=60
    restart: unless-stopped

Place an encode.toml next to your video files and configure your encoding profile. See docs.md for the full reference.

Encoded files land flat in /output/. Source files are moved to /input/processed/ after a successful encode.

Environment Variables

Variable Default Description
AVXS_INPUT_DIR /input Input directory
AVXS_OUTPUT_DIR /output Output directory
AVXS_POLL_INTERVAL 60 Directory scan interval in seconds

Set RUST_LOG=debug for verbose logging.

Supported Encoders

encoder value Binary Version
svt-av1 SvtAv1EncApp v4.1.0
svt-av1-hdr SvtAv1EncApp-hdr v4.1.0

License

BSL 1.1 - free for personal and non-commercial use.

About

Docker-first AV1 encoding service written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors