Streamyfin---Optimised-Versions

Streamyfin---Optimised-Versions

Docker app from LubricantJam's Repository

Overview

A streamyfin companion server program to transcode videos into a supported format before downloading.

Optimized versions (Deprecated)

A streamyfin companion server for better downloads

About

⚠️ Deprecated since Streamyfin 0.30.2

This server is no longer needed and may not work with current versions of Streamyfin.

Optimized versions is a transcoding server (henceforth refered to as the server). It acts as a middleman between the Jellyfin server and the client (Streamyfin app) when downloading content. The job of the server is to combine an HLS stream into a single video file which in turn enables better and more stable downloads in the app. Streamyfin can then also utilize background downloads, which means that the app does not need to be open for the content to download.

The download in the app becomed a 2 step process.

  1. Optimize
  2. Download

Usage

Note: The server works best if it's on the same server as the Jellyfin server.

Docker-compose

Docker-compose example

services:
  app:
    image: fredrikburmester/streamyfin-optimized-versions-server:master
    ports:
      - '3000:3000'
    env_file:
      - .env
    environment:
      - NODE_ENV=development
    restart: unless-stopped

    # If you want to use a local volume for the cache, uncomment the following lines:
    # volumes:
    #  - ./cache:/usr/src/app/cache

Create a .env file following the example below or by copying the .env.example file from this repository.

.env example

JELLYFIN_URL=http://your-jellyfin-url 
# MAX_CONCURRENT_JOBS=1 # OPTIONAL default is 1

How it works

1. Optimize

A POST request is made to the server with the HLS stream URL. The server will then start a job, downloading the HLS stream to the server, and convert it to a single file.

In the meantime, the app will poll the server for the progress of the optimize.

2. Download

As soon as the server is finished with the conversion the app (if open) will start downloading the video file. If the app is not open the download will start as soon as the app is opened. After the download has started the app can be minimized.

This means that the user needs to 1. initiate the download, and 2. open the app once before download.

Other

This server can work with other clients and is not limited to only using the Streamyfin client. Though support needs to be added to the clients by the maintainer.

Install Streamyfin---Optimised-Versions on Unraid in a few clicks.

Find Streamyfin---Optimised-Versions in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Streamyfin---Optimised-Versions Review the template variables and paths Click Install

Download Statistics

77,668
Total Downloads
4,270
This Month
3,949
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
fredrikburmester/streamyfin-optimized-versions-server:master
Last Updated2025-08-22
First Seen2025-02-13

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
host
Shell
bash
Privileged
false

Template configuration

Web UI PortPorttcp
Target
3000
Value
3000
Jellyfin URLVariable

Specify the URL to your Jellyfin instance.

Target
JELLYFIN_URL
Default
http://jellyfin:8096
Value
http://jellyfin:8096
Cache PathPathrw

Specify the path to the cache directory.

Target
/usr/src/app/cache
Value
/mnt/user/appdata/streamyfin-optimised-versions
Max Concurrent JobsVariable

Specify the maximum number of concurrent jobs to run.

Target
MAX_CONCURRENT_JOBS
Default
1
Value
1