Skip to main content

Introduction to Jellyfin Server

Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, providing media from a dedicated server to end-user devices via multiple apps.

What is Jellyfin?

Jellyfin is descended from Emby’s 3.5.2 release and has been ported to the .NET platform to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas—just a team that wants to build something better and work together to achieve it.
Jellyfin is completely free and open source, licensed under GPL 2.0. You have full control over your media and your data.

Key Features

Free & Open Source

No premium licenses, no hidden costs. Jellyfin is GPL 2.0 licensed and completely free.

Cross-Platform

Built on .NET 9.0, Jellyfin runs on Windows, Linux, macOS, and more.

Rich Media Library

Organize and stream movies, TV shows, music, photos, and live TV.

RESTful API

Comprehensive REST API with automatic OpenAPI documentation for integration and development.

User Management

Multi-user support with granular permissions and parental controls.

Hardware Acceleration

Supports transcoding with hardware acceleration via VAAPI, NVENC, QSV, and more.

Architecture Overview

Jellyfin Server is built as a modern .NET application with a modular architecture:

Core Components

  • Jellyfin.Server: Main entry point and web host configuration
  • Jellyfin.Api: RESTful API controllers and endpoints
  • MediaBrowser.Controller: Core business logic and interfaces
  • Emby.Server.Implementations: Implementation of core services
  • MediaBrowser.Model: Data models and DTOs
  • Jellyfin.Server.Implementations: Server-specific implementations

Technology Stack

.NET 9.0
ASP.NET Core
C# 11

API Documentation

Jellyfin provides comprehensive API documentation through Swagger/OpenAPI. Once your server is running, you can access:
  • API Documentation: http://localhost:8096/api-docs/swagger/index.html
  • Web Interface: http://localhost:8096
The API is fully documented with OpenAPI specifications, making it easy to integrate Jellyfin into your own applications or build custom clients.

Main API Endpoints

Jellyfin Server exposes a rich set of REST APIs organized by functional area:

Core APIs

EndpointDescription
/SystemSystem information, configuration, and health checks
/UsersUser management and authentication
/ItemsMedia library items and queries
/LibraryLibrary management and scanning
/SessionsActive sessions and playback control

Media APIs

EndpointDescription
/VideosVideo streaming and metadata
/AudioAudio streaming and transcoding
/ImagesImage serving and manipulation
/SubtitlesSubtitle management and extraction
/LiveTvLive TV and DVR functionality

Example: Get System Information

curl -X GET "http://localhost:8096/System/Info/Public" \
  -H "accept: application/json"
{
  "LocalAddress": "http://localhost:8096",
  "ServerName": "Jellyfin Server",
  "Version": "10.9.0",
  "ProductName": "Jellyfin Server",
  "OperatingSystem": "Linux",
  "Id": "a1b2c3d4e5f6",
  "StartupWizardCompleted": true
}

Use Cases

Personal Media Server

Host your personal collection of movies, TV shows, and music. Stream to any device in your home or remotely over the internet.

Family Entertainment Hub

Create user accounts for family members with age-appropriate content filtering and parental controls.

Development Platform

Build custom media applications using Jellyfin’s comprehensive REST API. The open-source nature allows you to extend and customize the server to your needs.

Live TV & DVR

Integrate with TV tuners to watch and record live television, creating a complete home entertainment solution.

Community & Support

Documentation

Comprehensive guides and documentation

Matrix Chat

Join the community discussion

GitHub

Source code and issue tracking

Feature Requests

Vote on and submit feature ideas

Next Steps

Quickstart

Get Jellyfin running in minutes

Installation

Detailed installation instructions