Tunarr uses FFmpeg to transcode and remux content when generating channel streams. All FFmpeg-related settings — from executable paths to subtitle handling — are managed from Settings > FFmpeg in the Tunarr web UI.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/chrisbenincasa/tunarr/llms.txt
Use this file to discover all available pages before exploring further.
Executable Paths
Tunarr requires bothffmpeg and ffprobe executables to function. Both binaries typically reside in the same directory, so configuring the parent path is usually sufficient for both.
Docker installations come with a bundled version of FFmpeg. If you are running Tunarr via Docker, you do not need to configure executable paths — they are handled automatically.
Global FFmpeg Options
Logging
FFmpeg log output can be directed to Tunarr’s stdout stream or written to a separate log file, both with a configurable log level. This is useful for diagnosing streaming issues, identifying codec errors, or understanding why a particular channel is producing unexpected output.HLS Direct Output Format
When a channel is configured to use the HLS Direct stream mode, this setting controls the container format used for the output stream. Different players and network devices have varying levels of support for HLS container formats, so this option lets you match the output to what your clients expect. See channel stream modes for more detail on when HLS Direct is used.FFmpeg Transcode Path
This setting controls where FFmpeg writes HLS segments while a channel stream is active. By default, segments are written to disk, but pointing this path to a RAM-backed location can significantly reduce disk I/O and improve segment write latency — particularly useful on systems with slower storage. On a standalone Linux binary installation, you can write segments to RAM by setting the transcode path to/dev/shm.
RAM Transcoding in Docker
Transcoding to RAM in a Docker environment requires configuring atmpfs mount inside the container at startup. Add the following to your docker-compose.yml service definition:
tmpfs mount, set the FFmpeg Transcode Path in Tunarr to /transcode. Adjust the size value to match the amount of RAM you want to allocate — 10 GB is a conservative ceiling for most setups with a few concurrent streams.
Audio & Subtitles
Subtitle Extraction
If your media files contain embedded, text-based subtitle streams (such as SRT or ASS tracks stored inside an MKV container), this option enables Tunarr to extract them so they can be burned into the output video. Extraction of embedded text-based subtitles is currently a prerequisite for using those subtitle streams during playback. Each hour, Tunarr scans the program guide for upcoming content, identifies items with embedded text-based subtitles, and queues extraction jobs. This process can be CPU- and I/O-intensive depending on your library size. If possible, using sidecar subtitle files (see below) is preferable as they require no extraction step.Sidecar Subtitles
Tunarr supports external subtitle files —.srt, .vtt, and similar formats — placed alongside your media files. When scanning local libraries, Tunarr automatically discovers these sidecar files and associates them with the corresponding media items. For Plex, Jellyfin, and Emby sources, external subtitles reported by the media server are downloaded during the library scan.
When using HLS Direct stream mode, sidecar text-based subtitles are served as WebVTT tracks included in the HLS master playlist. Clients that support HLS subtitle renditions — most modern media players — will present them as selectable subtitle options during playback.
Sidecar subtitle support is currently experimental. To enable it, navigate to Settings > Features and turn on the sidecar subtitles feature flag.
