Jellyfin
Jellyfin is a Free and Open Source Media System forked from Emby's 3.5.2 and ported to the .NET Core framework to enable full cross-platform support. It is slowly becoming one of the great alternatives to closed sourced solutions such as Plex, Emby, and Kodi to serve media from our slots to you via multiple apps.
For more information about this app, you may visit this link.
In this section, we will detail the initial configuration of Jellyfin. This assumes that you have the following:
- An Ultra.cc service of at least Metaliux tier or higher
Jellyfin First Time Launch
- Your username for Jellyfin will be the username you choose when registering your Ultra account.
- The password for Jellyfin will be the password you set during the installation procedure.
- Once installed, navigate to the Apps tab on the User Control Panel.
- Find Jellyfin in the list and click the Show info button.
- Click Connect to launch the Jellyfin WebUI over SSL.
We provide two pre-created folders for you to populate your content. The default names of Movies and Shows with the locations of ~/media/Movies/ and ~/media/TV Shows/, respectively.
Client Connection Details
Infuse 7
URL: username.servername.usbx.me
Username: Your slot's username that you entered during signup
Password: Password set for JellyFin as visible in the Control Panel.
Path: /jellyfin
Port: blank
HTTPS: AutowebOS (LG TV)
URL: servername-direct.usbx.me:{jellyfin-port}/jellyfin
Example: myles-direct.usbx.me:1112/jellyfin
Username: Your slot's username that you entered during signup
Servername: (e.g., myles)All Other Clients
SSL
URL: https://username.servername.usbx.me/jellyfin
Port: Leave blank
Username: Your slot's username that you entered during signup
Servername: (e.g., myles)Non-SSL
URL: servername-direct.usbx.me
Port: JellyFin Port Under Applications -> Jellyfin
Username: Your slot's username that you entered during signup
Servername: (e.g., myles)Upgrade Jellyfin
Jellyfin can be upgraded via the User Control Panel or SSH. To upgrade via SSH, please follow the below instructions.
- Connect to your Ultra service via SSH.
- First, backup your existing Jellyfin instance in a ZIP archive.
zip -r jellyfin-backup.zip ~/.apps/jellyfin- Once you have backed up your Jellyfin instance, you can proceed to upgrade with the following command:
app-jellyfin upgrade -v latest- Finally, to sync the version displayed on your UCP, you need to run a upgrade/repair action from the UCP itself. Or you can reach out via ticket and we will update it for you.
Troubleshooting Information
Slow Streaming?
If you are experiencing slow or buffering streams, try the following steps:
1. Run a speed test
Download one of the test files below to check the network speed between your device and the server region your service is deployed on:
- Canada: https://tor.download.datapacket.com/10000mb.bin
- Netherlands: https://ams.download.datapacket.com/100mb.bin and https://ams.download.datapacket.com/1000mb.bin
- Singapore: http://sgp.download.datapacket.com/10000mb.bin
If the download speed is significantly lower than expected, the issue is likely network-related between your location and the server.
2. Check disk IO utilization
High disk IO can cause degraded streaming performance. Follow the instructions in our SSH Troubleshooting Information guide to check IO utilization. If the disk IO is high and you suspect that your activities are not the cause, please submit a support ticket so we can investigate.
3. Disable transcoding and subtitle burning
Transcoding is CPU-intensive and is often the main cause of buffering, and can even cause a breach of our Fair Usage Policy. Jellyfin does not provide a single global โoffโ switch, so you need to combine the methods below for a true Direct Play setup.
- Disable transcoding per user
- Remove quality limits
- Avoid subtitle burning
- Use compatible formats (Direct Play)
Go to Dashboard > Users > select your user > disable all playback options that allow video/audio transcoding. This forces Direct Play only.
Set playback quality to Original and avoid bitrate limits. Clients request transcoding when bandwidth or quality caps are set.
Image-based subtitles force full video transcoding. Use SRT subtitles or disable burn-in options.
Jellyfin only transcodes when the client cannot handle the file. Using widely supported codecs and containers prevents transcoding entirely.
If transcoding is fully disabled and a file is incompatible, playback will fail instead of converting the stream.
WebUI Not Starting?
If you are unable to access the Jellyfin WebUI and are getting a 502 error, try the following steps:
1. Restart or repair the application
The most common fix for 502 errors is to restart or repair the application, or restart the webserver. The 502 error page will tell you where the problem is and what needs to be restarted.
- From the UCP, try pressing Upgrade & Repair on the Jellyfin app.
- You may also need to restart the webserver from the UCP.
- If this doesn't fix the issue, connect to your slot via SSH and run the following commands:
app-nginx uninstallapp-nginx installapp-jellyfin repairapp-jellyfin restart2. Check if migrations.xml is empty
A known issue can occur when the migrations.xml file is empty. To check and fix this:
- Connect to your slot via SSH.
- Stop Jellyfin:
app-jellyfin stop- Open the migrations file:
nano ~/.apps/jellyfin/migrations.xml- If the file is empty, paste the following content inside:
<?xml version="1.0" encoding="utf-8"?>
<MigrationOptions>
</MigrationOptions>- Press
Ctrl+Xto exit,Yto save, thenEnterto confirm. - Restart Jellyfin:
app-jellyfin restart3. Check disk IO utilization
High disk IO can cause degraded streaming performance. Follow the instructions in our SSH Troubleshooting Information guide to check IO utilization. If the disk IO is high and you suspect that your activities are not the cause, please submit a support ticket so we can investigate.
4. Backup and reinstall
If none of the above steps resolve the issue, you can try backing up your Jellyfin configuration and reinstalling the application. Follow our Restore Application Backup guide to create a backup before reinstalling.
Slow WebUI?
If the Jellyfin WebUI is loading but is slow or unresponsive:
Check disk IO utilization
High disk IO is the most common cause of a sluggish WebUI. Follow the instructions in our SSH Troubleshooting Information guide to check IO utilization. If the disk IO is high and you suspect that your activities are not the cause, please submit a support ticket so we can investigate.
If you require further assistance, you can open a support ticket here!
Feedback and suggestions regarding this article are welcome on our Discord server