Author Topic: Kodi 19.1 on Z9X  (Read 936 times)

boxerfan88

  • Hero Member
  • *****
  • Posts: 1,194
Kodi 19.1 on Z9X
« on: 19 August, 2021, 22:46:01 pm »
  • [applaud]
  • [smite]
  • Yahoo!! Partial success!!  8) 8)
    After a couple of nights of analyzing debug logs, hacking, trial and error -- managed to get Kodi 19.1 to play media using native Zidoo player without rooting.
    Limitation: only http streams are supported; SMB share/ISO won't work.

    Pre-requisites:
    1. Zidoo Z9X.
    2. JellyFin backend running on a PC or Server.

    Steps:

    1. Install Kodi 19.1 app on Z9X (install from Google Play Store).

    2. Start Kodi

    3. Follow this guide to install JellyFin repository.
          https://jellyfin.org/docs/general/clients/kodi.html

    4. Follow this guide to install JellyFin add-on.
          https://jellyfin.org/docs/general/clients/kodi.html

    5. Configure JellyFin to use add-on mode. Do not use Native mode!

    6. Sync the libraries
          Go to Add-ons -> Jellyfin -> Manage Libraries -> Add Libraries

    7. Exit Kodi

    8. Create the PlayerCoreFactory.xml file in a temporary location (file contents below).

    9. Copy PlayerCoreFactory.xml file to \\Your_Z9X_IP_Addr\Share\Storage\Android\data\org.xbmc.kodi\files\.kodi\userdata\

    10. Start Kodi and try playing some media from your JellyFin server; it should work.



    PlayerCoreFactory.xml
    Code: [Select]
    <playercorefactory>
        <players>
      <!-- This definition is for native Zidoo player -->
    <player name="Gallery3D" type="ExternalPlayer" audio="true" video="true">
    <filename>com.android.gallery3d</filename>
    <args>-a android.intent.action.VIEW -d {1}</args>
    <hidexbmc>true</hidexbmc>
    <playcountminimumtime>120</playcountminimumtime>
    </player>
        </players>

        <rules action="prepend">
    <rule video="true" player="Gallery3D"/> <!-- Default for anything else not listed -->
        </rules>
    </playercorefactory>



    Kodi.log - successful playback log should look something like this
    Code: [Select]
    2021-08-19 22:08:43.101 T:30932    INFO <general>: ExternalPlayer Filename: com.android.gallery3d
    2021-08-19 22:08:43.101 T:30932    INFO <general>: ExternalPlayer Tweaks: hideconsole (false), hidexbmc (true), islauncher (false), warpcursor ()
    2021-08-19 22:08:43.102 T:30932    INFO <general>: OpenFile: http://11.22.33.44:8096/Videos/6e602c96e93a10a66c66c0c66359eff7/stream?static=true&MediaSourceId=6e602c96e93a10a66c66c0c66359eff7&api_key=5a174a12ab95456e9473e0765787289a
    2021-08-19 22:08:43.102 T:31204    INFO <general>: Process: Player : com.android.gallery3d
    2021-08-19 22:08:43.102 T:31204    INFO <general>: Process: File   : http://11.22.33.44:8096/Videos/6e602c96e93a10a66c66c0c66359eff7/stream?static=true&MediaSourceId=6e602c96e93a10a66c66c0c66359eff7&api_key=5a174a12ab95456e9473e0765787289a
    2021-08-19 22:08:43.102 T:31204    INFO <general>: Process: Content:
    2021-08-19 22:08:43.102 T:31204    INFO <general>: Process: Args   : -a android.intent.action.VIEW -d {1}
    2021-08-19 22:08:43.103 T:31204    INFO <general>: Process: Start
    2021-08-19 22:08:43.103 T:31204    INFO <general>: Process: Hiding Kodi window
    2021-08-19 22:08:43.156 T:31204    INFO <general>: ExecuteAppAndroid: com.android.gallery3d
    2021-08-19 22:08:43.219 T:31204    INFO <general>: Process: Stop



    JellyFin log - you should see something like this logged on the JellyFin side
    Code: [Select]
    [2021-08-19 22:23:06.816 +08:00] [INF] [145] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "kodi". EnablePlaybackRemuxing: False EnableVideoPlaybackTranscoding: False EnableAudioPlaybackTranscoding: False
    [2021-08-19 22:23:06.818 +08:00] [INF] [145] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "\\11.22.33.44\MEDIA\MV\10000 DTS Logo1.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
    [2021-08-19 22:23:06.819 +08:00] [INF] [145] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "\\11.22.33.44\MEDIA\MV\10000 DTS Logo1.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
    [2021-08-19 22:23:06.821 +08:00] [INF] [145] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "\\11.22.33.44\MEDIA\MV\10000 DTS Logo1.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True


    Have fun poking around inside Z9X and enjoy using Kodi 19.1 on Z9X!!!
    « Last Edit: 22 August, 2021, 10:00:02 am by boxerfan88 »
    Usher MD2+X616 | DA&T A38  | Soekris dac1541 | foobar2000 | Elementa BAC 2500 | Samsung PS50B850 | Yammy RXA3030 | Orisun DD12 | BDP-S5100 | Chromecast | RPi4+LibreElec | Zidoo Z9X

    boxerfan88

    • Hero Member
    • *****
    • Posts: 1,194
    Re: Kodi 19.1 on Z9X
    « Reply #1 on: 23 August, 2021, 21:55:06 pm »
  • [applaud]
  • [smite]
  • Updated PlayerCoreFactory.xml.

    This revised one will initiate default video player for PVR rtsp streams.

    Code: [Select]
    <playercorefactory>
        <players>
      <!-- This definition is for native Zidoo player -->
    <player name="Gallery3D" type="ExternalPlayer" audio="false" video="true">
    <filename>com.android.gallery3d</filename>
    <args>-a android.intent.action.VIEW -d {1}</args>
    <hidexbmc>true</hidexbmc>
    <playcountminimumtime>120</playcountminimumtime>
    </player>
        </players>

        <rules action="prepend">
    <!-- VideoPlayer can play standard rtsp streams -->
    <rule name="rtsp" protocols="rtsp" filetypes="!(rm|ra)"  player="videodefaultplayer"/>

    <!-- PVR -->
    <rule name="PVR" protocol="pvr" player="videodefaultplayer"/>

    <!-- Internet streams -->
    <!-- JellyFin streams -->
    <rule name="streams" internetstream="true" player="Gallery3D"/>

    <!-- Default for anything else not listed -->
    <rule video="true" player="videodefaultplayer"/>
        </rules>
    </playercorefactory>
    Usher MD2+X616 | DA&T A38  | Soekris dac1541 | foobar2000 | Elementa BAC 2500 | Samsung PS50B850 | Yammy RXA3030 | Orisun DD12 | BDP-S5100 | Chromecast | RPi4+LibreElec | Zidoo Z9X