I ‘Fin-ally did it !
Jellyfin has a supported app, however it hasn’t made it into the Samsung store. This is about how to install the Jellyfin app on a Tizen TV.
There are a multitude of posts in the Interwebs about ‘How to install Jellyfin’; this is not another one of those.
Download the Tizen Studio
First, download the appropriate version from:
https://developer.tizen.org/development/tizen-studio/download
Then, install, I used the ‘Tizen Studio 5.6 with IDE installer’ for Ubuntu.
Install Tizen Studio
Resources:
https://docs.tizen.org/application/tizen-studio/setup/install-sdk
First, create an installation location:
mkdir /home/foo/Tizen/
Then, make the download executable:
cd /home/foo/Downloads/
sudo chmod a+x web-ide_Tizen_Studio_5.6_ubuntu-64.bin
Finally, install:
./web-ide_Tizen_Studio_5.6_ubuntu-64.bin
Since the installation process prompts for the SDK and data location.
I set my SDK location to:
/home/foo/Tizen
Then I set my Data location to:
/home/foo/Tizen/tizen-studio-data
A warning:
“This process can take some time…” and has multiple su password prompts.
Wait while the Tizen Studio is installed.
Then, launch the ‘Package Manager’.
Another warning:
“This process can take some time…” and has multiple su password prompts.
Tizen Package Manager Main SDK Options
Install the required extensions
Resources:
In the ‘Extension SDK’ tab:
Download the following:
TV Extensions 8.0
Tizen Studio Package Manager – TV Extensions – Extension SDK
Samsung Certificate Extension
Tizen Studio Package Manager – Certificate Extension – Extension SDK
**Another warning:
“This process can take some time…” and has multiple su password prompts.**
You may want to copy / paste the password, due to there being that many prompts.
In the meantime, go and make a brew, it takes a long time for some reason.
Then, exit the ‘Package Manager’ and launch the ‘Tizen Studio’.
Also, ‘Tizen Studio’ needs a ‘workspace’:
mkdir /home/foo/Tizen/workspace
Then, browse to the ‘workspace’ created and set as ‘Default’.
Setup Tizen certificate(s) in Certificate Manager
Tizen Certificate Manager Dialog Box
As I had gone through this process quite recently and repeatedly, I imported my existing Certificate(s).
The process of creating a new pair of Certificate(s) needs two additional pieces of information:
- The TV UDID, which on my device was found at:
‘Settings | Support | About this TV’ - A Samsung Account which I already had
Resources:
First, create a Certificate Profile:
A certificate profile consists of an author certificate and 1 or more distributor certificates.
Initial Tizen Certificate Manager Dialog Box
To create a certificate profile:
In the Tizen Studio menu, select “Tools; Certificate Manager”.
Create Certificate Profile – Create a TV Certificate Profile
Then choose the ‘TV’ option, obviously.
Create Certificate Profile – Create New Certificate Profile
(Even if importing existing certificated, a new profile seems to need creating, the ‘import’ is the the step following this one.)
I already had an ‘author certificate’.
So I chose, ‘Select an existing author certificate’.
Create Certificate Profile – Select Existing Author Certificate
Then browsed to its location.
Create Certificate Profile – Browse for Author Certificate
I already had a ‘distributor certificate’.
So I chose, ‘Select an existing distributor certificate’.
Create Certificate Profile – Existing Distributor Certificate
Success!
Tizen Certificate Profile Creation Success
More success!
Tizen Certificate Success
Download the Jellyfin App for Tizen
Resources:
https://github.com/jellyfin/jellyfin-tizen
https://github.com/jeppevinkel/jellyfin-tizen-builds/releases
It is entirely possible to download and make
an executable which can then be uploaded to the TV.
However, I choose to use the prebuilt ones.
Enable ‘Developer Mode’ on TV
Before an App can be uploaded to the TV, it needs to be in ‘Developer Mode.
On the TV, select the “Apps” panel.
Then, in the “Apps” panel, enter “12345”
For some reason, I had to use the Smart Things App on my phone to successfully complete this step.
Then the developer mode configuration popup will appear.
Switch “Developer mode” to “On”.
Then enter the IP address of the computer that you want to connect to the TV, and click “OK”.
Finally, reboot the TV by holding the power button for a few seconds.
Install the Jellyfin App on a Tizen TV using the SDK
Resources:
https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/installing-tv-sdk.html
Using the SDK ‘Device Manager’ never really worked for me.
Tizen Studio Device Manger
I would always get the following error when trying to upload the Jellyfin package:
Tizen Studio App Install Error
So, plan B.
Use sdb
instead.
Install the Jellyfin App on a Tizen TV using SDB
The Tizen Studio comes with sdb
.
sdb
is the Samsung version of adb
.
Enabling sdb
Add sdb
to $PATH
Resources:
https://linuxize.com/post/how-to-add-directory-to-path-in-linux/
Use sdb one time
export PATH=/home/foo/Tizen/tools:$PATH
export PATH=/home/foo/Tizen/tools/ide/bin:$PATH
Or, make sdb
persistent
Edit:
nano ~/.bashrc
Then, add at the bottom:
# Tizen tools
export PATH=/home/foo/Tizen/tools:$PATH
export PATH=/home/foo/Tizen/tools/ide/bin:$PATH
Then, reload:
source ~/.bashrc
Now you can test (assuming that you know the IP of the TV):
First, connect to the TV:
sdb connect <TV.IP>:26101
Then, see the devices connected and available:
sdb devices
When finished:
sdb disconnect
Now that sdb
is working you can upload the Jellyfin package.
First, connect to the TV:
sdb connect <TV.IP>:26101
Then, see the devices connected and available:
sdb devices
Make a note of the ‘tizen_device_id
‘, under the ‘List of devices attached’.
In a Terminal, browse to where the Jellyfin package was downloaded to:
cd /path/to/Jellyfin_for_Tizen_Download
Then, install:
tizen install -n Jellyfin_xx.x.x.wgt -t tizen_device_id
Where ‘Jellyfin_xx.x.x.wgt
‘ is the version number that was downloaded.
When finished:
sdb disconnect
Finally, a bit of housekeeping.
It is good form to keep the App version number and the Server version number in sync.
In order to find the Server version, in a Terminal:
jellyfin --version
Remember when i said it was a long process?
In conclusion, it’s a bit of a faff to do all of the above when the TV browser can do exactly the same thing.