@glenlowland/jellyfin-tizen
v0.1.49
Published
Jellyfin for Samsung Smart TV (Tizen)
Downloads
783
Readme
Build Process
Also look Wiki.
Prerequisites
- Tizen Studio 4.6+ with IDE or Tizen Studio 4.6+ with CLI. See Installing TV SDK.
- Git
- Node.js 20+
Getting Started
Install prerequisites.
Install Certificate Manager using Tizen Studio Package Manager. See Installing Required Extensions.
Setup Tizen certificate in Certificate Manager. See Creating Certificates.
If you have installation problems with the Tizen certificate, try creating a Samsung certificate. In this case, you will also need a Samsung account.
Clone or download Jellyfin Web repository.
It is recommended that the web version match the server version.
git clone -b release-10.9.z https://github.com/jellyfin/jellyfin-web.git
Replace
release-10.9.z
with the name of the branch you want to build.You can also use
git checkout
to switch branches.Clone or download Jellyfin Tizen (this) repository.
git clone https://github.com/jellyfin/jellyfin-tizen.git
Build Jellyfin Web
cd jellyfin-web
SKIP_PREPARE=1 npm ci --no-audit
USE_SYSTEM_FONTS=1 npm run build:production
You should get
jellyfin-web/dist/
directory.
SKIP_PREPARE=1
can be omitted for 10.9+.
USE_SYSTEM_FONTS=1
is required to discard unused fonts and to reduce the size of the app. (Since Jellyfin Web 10.9)
Use
npm run build:development
if you want to debug the app.
If any changes are made to jellyfin-web/
, the jellyfin-web/dist/
directory will need to be rebuilt using the command above.
Prepare Interface
cd jellyfin-tizen
JELLYFIN_WEB_DIR=../jellyfin-web/dist npm ci --no-audit
You should get
jellyfin-tizen/www/
directory.
The
JELLYFIN_WEB_DIR
environment variable can be used to override the location ofjellyfin-web
.
Add
DISCARD_UNUSED_FONTS=1
environment variable to discard unused fonts and to reduce the size of the app. (Until Jellyfin Web 10.9)
Don't use it with Jellyfin Web 10.9+. Instead, useUSE_SYSTEM_FONTS=1
environment variable when building Jellyfin Web.
If any changes are made to jellyfin-web/dist/
, the jellyfin-tizen/www/
directory will need to be rebuilt using the command above.
Build WGT
Make sure you select the appropriate Certificate Profile in Tizen Certificate Manager. This determines which devices you can install the widget on.
tizen build-web -e ".*" -e gulpfile.js -e README.md -e "node_modules/*" -e "package*.json" -e "yarn.lock"
tizen package -t wgt -o . -- .buildResult
You should get
Jellyfin.wgt
.
Deployment
Deploy to Emulator
- Run emulator.
- Install package.
tizen install -n Jellyfin.wgt -t T-samsung-5.5-x86
Specify target with
-t
option. Usesdb devices
to list them.
Deploy to TV
Run TV.
Activate Developer Mode on TV. See Enable Developer Mode on the TV.
Connect to TV with one of the following options:
Device Manager from
Tools -> Device Manager
in Tizen Studio.sdb:
sdb connect YOUR_TV_IP
If you are using a Samsung certificate, allow installs onto your TV using your certificate with one of the following options:
If you need to change or create a new Samsung certificate (see Getting-Started step 3), you will need to re-build WGT once you have the Samsung certificate you'll use for the install.
Device Manager from
Tools -> Device Manager
in Tizen Studio:- Right-click on the connected device, and select
Permit to install applications
.
- Right-click on the connected device, and select
Tizen CLI:
tizen install-permit -t UE65NU7400
Specify target with
-t
option. Usesdb devices
to list them.sdb:
sdb push ~/SamsungCertificate/<PROFILE_NAME>/*.xml /home/developer
Install package.
tizen install -n Jellyfin.wgt -t UE65NU7400
Specify target with
-t
option. Usesdb devices
to list them.