Publish: 2020-03-02 | Modify: 2020-04-07
Jellyfin is an open-source media player, similar to Plex that was introduced in a previous blog post. While the free version of Plex can meet daily needs, it does have some limitations in terms of functionality. Jellyfin, on the other hand, is free and open-source, and does not require any additional fees. If you want to experience more features for free, Jellyfin may be a better choice.
Make sure you have Docker installed. If not, please refer to online tutorials for installation instructions. Here, we will not provide installation instructions for Docker. Installing Jellyfin using Docker is relatively simple.
docker pull jellyfin/jellyfin
mkdir -p /opt/jellyfin/config
mkdir -p /opt/jellyfin/cache
docker run -d \
--volume /opt/jellyfin/config:/config \
--volume /opt/jellyfin/cache:/cache \
--volume /path/to/media:/media \
--user 1000:1000 \
--net=host \
--restart=unless-stopped \
jellyfin/jellyfin
If you have Docker Compose installed, you can also create a docker-compose.yml
file in the jellyfin directory with the following content:
version: "3"
services:
jellyfin:
image: jellyfin/jellyfin
user: 1000:1000
network_mode: "host"
volumes:
- /opt/jellyfin/config:/config
- /opt/jellyfin/cache:/cache
- /path/to/media:/media
Allow port 8096
through the firewall:
firewall-cmd --zone=public --add-port=32400/tcp --permanent
firewall-cmd --reload
If using docker-compose, run docker-compose up
command. If no errors appear, you can access Jellyfin's initialization interface in your browser at http://IP:8096
and complete the initialization setup according to the prompts.
The Docker installation method has some limitations, such as unrecognized mounts. Therefore, Xiaoz switched to using the RPM package installation method, which does not have these problems.
First, install the required dependencies:
yum install libicu fontconfig -y
Then, go to https://repo.jellyfin.org/releases/server/centos/ to download the latest available RPM package for CentOS. Note that the provided link may become invalid if the official website removes older versions of the RPM package.
# Download the RPM package
wget -c https://repo.jellyfin.org/releases/server/centos/stable/jellyfin-10.5.3-1.el7.x86_64.rpm
# Alternative download
wget -c http://soft.xiaoz.org/linux/jellyfin-10.5.3-1.el7.x86_64.rpm
# Install Jellyfin
rpm -Uvh --nodeps jellyfin-10.5.3-1.el7.x86_64.rpm
Then, start Jellyfin:
# Start Jellyfin
systemctl start jellyfin
# Set Jellyfin to start on boot
systemctl enable jellyfin
Access http://IP:8096
and follow the on-screen instructions to complete the Jellyfin initialization.
Jellyfin requires ffmpeg for transcoding, but the RPM package does not include ffmpeg. You need to install ffmpeg manually. Here is a method for statically installing ffmpeg:
# Download ffmpeg
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
# Extract
tar -xvf ffmpeg-git-amd64-static.tar.xz
# Move the files
cp ffmpeg-git-20200211-amd64-static/ffmpeg /usr/bin/
cp ffmpeg-git-20200211-amd64-static/ffprobe /usr/bin/
In the Jellyfin backend, go to Server -> Playback and set the FFmpeg path to /usr/bin/ffmpeg
.
If you have a good network connection and powerful hardware, and do not require transcoding, you can disable the following options under "Server -> Users -> Media Playback":
I have tried both Jellyfin and Plex, and they are similar in terms of functionality. Plex is more mature and well-developed, but there are some limitations in its free version. Jellyfin, on the other hand, is completely free and has powerful features. However, Jellyfin currently does not have an official Windows client, but I believe it will gradually improve. If you are willing to pay, choose Plex. If you want a completely free option, consider Jellyfin.
Jellyfin is suitable for installation on NAS or local network hosts, allowing you to easily create your own home media library. It can also be installed on a large HDD VPS to achieve online streaming. Additionally, Jellyfin can be used with the powerful KODI media player. I will provide further introductions in the future.
This article references the following sources:
Jellyfin Official Website: https://jellyfin.org/
I come from China and I am a freelancer. I specialize in Linux operations, PHP, Golang, and front-end development. I have developed open-source projects such as Zdir, ImgURL, CCAA, and OneNav.