Skip to content
PapagoLabsPublic

Repository files navigation

Outtake

Outtake

A web app that cuts video clips, GIFs, and screenshots from your Plex libraries.

Go 1.27+ Test Lint Docker Hub pulls GHCR License

The Outtake Clips page, listing video clips, a GIF, and a screenshot, each with its status and settings

Outtake is a self-hosted web app for the media in your Plex libraries. Log in with Plex, open a title, mark where the clip starts and ends, and download a video clip, GIF, or screenshot.

Documentation: outtake.papagolabs.com

What it does

  • Log in with Plex, or paste a token.
  • Browse libraries, search titles, and open an item.
  • Mark the start and end from live Plex playback, or type the times yourself.
  • Export a video clip, GIF, or screenshot, then preview and download it.
  • Keep named clip profiles for the quality, encoder preset, audio bitrate, maximum resolution, and whether HDR is kept, and optionally trim black bars on each export.
  • Keep HDR in 10-bit HEVC for phones, Apple devices, and YouTube, or tone-map it to SDR for everywhere else.
A screenshot clip open to its preview, with its settings The Clip Profiles page
The dashboard, with clip counts and live Plex sessions The Appearance page, with six color palettes

Quick start

Outtake needs a Plex Media Server it can reach and read access to the media files Plex plays. The image ships FFmpeg. Save this as docker-compose.yaml:

services:
  outtake:
    image: ghcr.io/papagolabs/outtake:latest
    container_name: outtake
    ports:
      - "8080:8080"
    volumes:
      - outtake-data:/data
      - ${OUTTAKE_MEDIA_PATH:-/path/to/your/media}:/media:ro
    environment:
      OUTTAKE_LOG_LEVEL: info
      OUTTAKE_LISTEN_ADDR: 0.0.0.0:8080
      OUTTAKE_PUBLIC_BASE_URL: ${OUTTAKE_PUBLIC_BASE_URL:-http://localhost:8080}
      OUTTAKE_PLEX_MEDIA_ROOT: ${OUTTAKE_PLEX_MEDIA_ROOT:-}
      OUTTAKE_LOCAL_MEDIA_ROOT: ${OUTTAKE_LOCAL_MEDIA_ROOT:-/media}
    restart: unless-stopped

volumes:
  outtake-data:

Point OUTTAKE_MEDIA_PATH at the directory that holds the files Plex plays, then start it:

export OUTTAKE_MEDIA_PATH=/path/to/your/media
docker compose up -d

Open http://localhost:8080 and choose Login With Plex. The first Plex account to log in owns Outtake.

Documentation

The site's source is under docs/.

License

Outtake is licensed under the GNU Affero General Public License v3.0.

Contributing

Development commands and repo conventions live in AGENTS.md.

Releases

Sponsor this project

Packages

Used by

Contributors

Languages