关于三星电视安装Jellyfin的流程

三星电视安装Jellyfin出现个中问题的总结

  1. tizen安装过程错误:app_id[AprZAARz4r.Jellyfin] install failed[118, -12], reason: Check certificate error : :Invalid certificate chain with certificate in signature.:<-3>
  2. tizen构建过程错误:Build Web Application: 80% ( 8/10)Exception in thread “main” java.lang.NoClassDefFoundError: org/eclipse/core/runtime/Plugin ……

情况介绍,

  • 几个GitHub的仓库
  1. Jellyfin官方的tizen平台的仓库:https://github.com/jellyfin/jellyfin-tizen
  2. jeppevinkel/jellyfin-tizen-builds仓库有很多最新编译好的wgt包
  3. Georift/install-jellyfin-tizen仓库,使用docker进行远程安装可以引入第三方证书(我测试失败)
  4. vitalets/docker-tizen-webos-sdk仓库, docker 了一个准备好的sdk系统,可以在docker里进行相关的tizen操作

我的设备情况

  1. LS32BM702UUXEN 32寸显示器,可以看电视带遥控器,欧洲版
  2. TQ55Q67DAUXXC 55寸电视,欧洲版

首先基于官方的操作流程在实体机器上(Mac Pro M1),各种操作实验,不是构建失败就是docker安装证书问题,询问过各种AI(Grok、ChatGPT、Googe AIStudio)问题依然得不到解决,中途还使用过3种虚拟机(Ubuntu,Windows10,Debian Server)依然不能构建和安装。

经过三天折腾后发现vitalets/docker-tizen-webos-sdk仓库的docker可以构建打包,但是没有项目目录,于是打开脑洞总结了一下流程:

  1. 按照官方要求Prerequisites准备。
  2. 安装Tizen Studio后主要是使用Certificate Manager来建立自己的证书,过程参照三星官方Docs 操作
  3. 按照jellyfin/jellyfin-tizen说明中从Getting Started步到Build WGT之前,准备好jellyfin-web和jellyfin-tizen目录
  4. ⚠️关键步骤,拷贝之前建立的证书到jellyfin-tizen目录下(方便后续映射到docker中进行构建),然后按照vitalets/docker-tizen-webos-sdk

    docker run -it --rm -v tvdata:/home/developer vitalets/tizen-webos-sdk bash

    测试结果
    ~# tizen version
    Tizen CLI 2.5.21
    ~# sdb version
    Smart Development Bridge version 4.2.12
    ~# ares-setup-device –version
    Version: 1.10.4-j1703-k
  5. ⚠️关键步骤,然后按照vitalets/docker-tizen-webos-sdk准备打包Pack app
    docker run -it –rm -v ./src:/app -v tvdata:/home/developer vitalets/tizen-webos-sdk bash

    其中./src是本地机器准备好的jellyfin-tizen目录
  6. ⚠️关键步骤,将之前准备好的证书拷贝到docker的~/目录下,然后按照三星官方Tizen Docs中Managing a Security Profile的步骤添加准备好的证书到profiles中

    $ tizen security-profiles add -n MyProfile -a ~/tizen-sdk-data/keystore/author/mycert.p12 -p 1234

    其中MyProfile为Profile名称任意

    结果如下:
    No exist the default path of security profiles. author path: ~/tizen-sdk-data/keystore/author/mycert.p12 author password: **** distributor1 path: ~/tizen-sdk/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.p12 distributor1 password: ************************* distributor1 CA path: ~/tizen-sdk/tools/certificate-generator/certificates/distributor/tizen-distributor-ca.cer In Configuration, Set a default profile path to ‘~/tizen-sdk-data/ide/keystore/profiles.xml’. Wrote to ‘~/tizen-sdk-data/ide/keystore/profiles.xml’. Succeed to add ‘MyProfile’ profile. If want to sign by this, add the file of security profiles in CLI configuration like ‘tizen cli-config “default.profiles.path=~/tizen-sdk-data/ide/keystore/profiles.xml”‘.

    添加后
    $ tizen security-profiles list



    我的Profile Name为tv

    然后需要删除docker自带的Profile

    $ tizen security-profiles remove -n dev

  7. 接下来即可构建web app了



    出现BUILD SUCCESSFUL即表示构建成功
  8. 在本地机(Mac Pro)执行打包

    $ tizen package -t wgt -o . — .buildResult –sign tv



    显示如上结果,标识打包成功
  9. Tizen安装

    $ tizen install -n Jellyfin.wgt -t TQ55Q67DAUXXC



    安装完成!!

⚠️注意上面步骤,6-8步为docker完成!

发表回复