19.4 MATRIX KODI - ZDMC -

Discussion in 'HDD Media player(RTD 1619DR)' started by DELUCAS, Feb 1, 2021.

  1. 3DBuff

    3DBuff Active Member

    I use both at the same time. HT has my best collection of 3D iso's and UHD disks. ZDMC everything else including HT collection. Works well for me. There are pros and cons for both. HT can put all version of the same move (3D, UHD, HD and trailers) in one movie page. Kodi will list all versions as separate movies (pages). ZDMC scans movies and TV series better, can show full screen artwork etc. The lists can go on long on both sides. Main problem with ZDMC is lack of connection to the Zidoo player. Take it or leave it, not open source. We probably don't want it to be open source.
     
  2. Black-Angel28

    Black-Angel28 Member

    My main problem with HT is that it only reads my films incompletely using the nfo files created by TinyMediaManager. Then there are 2 other problems.

    1. there is an option to update the sources automatically but there is no option to link a source directly to a custom category so that it updates automatically with the source update. In Kodi, this behaviour can be realised by means of the intuitive playlists.

    2. The custom categories do not work properly. In these, for example, film collections are not displayed together correctly, because within the custom category something is wrong with the film collection assignment.
     
  3. Sledgehamma

    Sledgehamma Active Member

    Could the same be done for Jellyfin + native Zidoo player app?
     
  4. andy22

    andy22 Active Member

    @Markswift2003 Unfortunately that's not how GPL V2 works, the 18.x, 19.4 ZDMC binaries are supplied via the official Zidoo.tv site and GPL V2 is very particular on how you have todo stuff. The source for each binary must be made available, along with instructions on how to get to this binary.
    So in essence Zidoo is breaking Kodis GPL atm, by not having updated there github repos or there opensouce links on there homepage. Which is even more strange, since they did know how to properly do things on there initial 17.6 release...they had source + links.

    PS: Also my z9x will arrive today and i bet there HT 4.0 or internal player is using at least some opensouce libs. My guess is there internal player is Exoplayer based aka Apache License, which is fine. Yet Exoplayer cant display ASS subtitles correctly atm, which Zidoo claims they do, so i suspect they are using either libass, ffmpeg or libavcodec stuff, which are also partly GPL v3/LGPL depending on the compile settings.
     
    Last edited: May 21, 2022
  5. andy22

    andy22 Active Member

    Sure this would be a 30 min job, if Zidoo would actually provide a API documentation for there player or i could check the ZDMC examples. Yet it seems Zidoo is very developer unfriendly.
    I mean i don't even know where to start if i wanted to write a Anilib/Anidb scraper or scrobble addon for HT 4.0.

    I think Zidoo needs to take a deep look on how they handle there software stack and if it makes sense to have literally no ability to accept external patches, help or community additions.

    PS: BTW if Zidoo would actually adhere to GPL than we could already have a working 20.x versions, since i suspect it would be trivial to port there changes over to 20.x....
     
    Last edited: May 21, 2022
    Sledgehamma likes this.
  6. mattmarsden

    mattmarsden Active Member

    If you could do this I would be eternally grateful!
     
  7. andy22

    andy22 Active Member

    Its not up to me, petition Zidoo to make there API available and properly documented!
     
  8. mattmarsden

    mattmarsden Active Member

    @Markswift2003 could you speak to Zidoo about this?
     
  9. Markswift2003

    Markswift2003 Well-Known Member SUPER Administrator Beta test group Contributor

    Yeah, I know how GPL works, but as I say, support for ZDMC is ad hoc, not official, and only a pet project - if it becomes a job to maintain it (and yes, again, I appreciate the rules) then I doubt it'll continue.
     
  10. andy22

    andy22 Active Member

    You know that's disingenuous, all Zidoo has to-do is commit there current changes to a repo somewhere and have a link on there homepage, that's literally all i'm asking for... No one ask about maintaining it if they don't want to. You make it sound like it involves some massive extra "maintenance" in reality its just click on the commit to upstream git repo button.

    Update: At least my shot in the dark worked and i directly contacted a software dev at Zidoo, he did upload the 19.x repo and i can check the code now. Maybe he is also willing to get me some api documentaion or add some missing features!
     
    dwalme, Black-Angel28 and Sledgehamma like this.
  11. mattmarsden

    mattmarsden Active Member

    Fingers crossed
     
  12. andy22

    andy22 Active Member

    ok i checked the ZDMC and internal player code, basically for zdmc they implemented a wrapper call for there normal "gallery3d.app" movie activity, with some extra data for smb/nfs. The activity that Jellyfin uses by default is a different and there is no extra data exchanged at all. They don't even send ActivityResult callback, so Jellyfin has no idea if the player was closed correctly, thats also why Jellyfin will ask for manual watched status every time.

    They could easily add those result callbacks and also handling for some more extra data fields like "seektime" or "video-position", since they already have those calls/data/logic in place, they just don't use those for external called Activities. They even broadcast the playback position every second in the log file. I'm not sure if i want to spend the time on hacking a loop that checks this data, since all they have to add are literally 10 lines of code into the gallery3d.app.

    Will play around with it some more, maybe i find something, now that i have the internal player source.
     
    Sledgehamma likes this.
  13. Sledgehamma

    Sledgehamma Active Member

    @mirror can you have a look into the proposed changes? Would be a huge improvement and hopefully very little work from you necessary for it.
     
  14. andy22

    andy22 Active Member

    Just to make this clear, if they would just adapt those basic MX player extra fields, JellyfinTV app would already work more seamlessly. Here is a example on what "Just Player" changed to "spoof" MX player behavior, so things worked better without needing to get a extra PR merged into Jellyfin: https://github.com/moneytoo/Player/commit/f8e646da3d4befe2fad71a684e73cfc074fce68d

    On the calling side we just need support for a few extra data fields, preferably compatible with MX player API since JellyfinTV/Phone app already has support for those:
    Code:
    "android.intent.action.VIEW"
    "position", "return_result", "title", "size", "filename"
    
    Nice to have:
    audio/subtitle preference stuff, like languages and flag handling aka forced/default. NOTE: Jellyfin uses per user audio/subtitle setting, so being able to communicate those preferences on ActivityStart to the internal player would be nice!

    Result aka onFinish/Stop/Destroy() NOTE: This is the main missing one, so watched status and playback position handling can work.
    NOTE: Just returning a "position" field, without the identifier is also supported for the TV app, the Phone app checks the identifier aka MX, VLC, MPV.

    Code:
    "com.mxtech.intent.result.VIEW"
    "position", "end_by"
    
     
  15. mattmarsden

    mattmarsden Active Member

    So is it more likely that we can get this working in Jellyfin than ZDMC?
     
  16. andy22

    andy22 Active Member

    No, ZDMC is using a wrapper class "ZDMCActivity" to setups some extra smb/nfs data, than starts "Intent intent = new Intent(mContext, MovieActivity.class);" via "mContext.startActivity(intent);".
    So the MovieActivity class needs to support those changes first and than the ZDMCActivity wrapper also needs to use those.
    Jellyfin can than use the MovieActivity and ZDMC continue to use ZDMCActivity with the extra smb/nfs support.

    This way we get a working API for any app that wants to use the internal player.
     
  17. mattmarsden

    mattmarsden Active Member

    So if Zidoo can add this code we’re good for ZDMC and Jellyfin?
     
  18. Black-Angel28

    Black-Angel28 Member

    @andy22

    I don't know if I understood correctly, but you got the repository of ZDMC from one of the programmers. Isn't the source code of ZDMC also in there, so that you could add the code yourself? Or does something have to be changed on Zidoo's side for the native player?
     
  19. andy22

    andy22 Active Member

    yes
    yes

    PS: I will open posts in the App&Dev section on what the Android API currently supports and what changes i would like/need to properly support ZDMC/Jellyfin, since this is probably the wrong place to discuss this stuff.
     
    Black-Angel28 likes this.
  20. Markswift2003

    Markswift2003 Well-Known Member SUPER Administrator Beta test group Contributor

    Agreed - You're spreading yourself too thinly here - you need to centralise this discussion if it's going to go anywhere.
     

Share This Page