-
-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reimplement native mode to function client side #938
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
You are truely amazing, this works perfectly! Smb native xbox app, how you managed to turn that around so quickly im baffled! I would love to buy you a pint or 2, amazing work!! 2 points to note
Again thanks you have outdone yourself |
You found a logic error I made. Latest commit should fix the double entry error, and if you edit a path and leave either remote or local path empty it will clear it from the list. The device name is expected behavior given how the whole login flow works. @oddstr13 I'm not fixing that last linter complaint because it's dumb. |
This comment was marked as spam.
This comment was marked as spam.
Stupid or not, I've completely delegated Python formatting questions to the black formatter, and am now enforcing it for new PRs – it'll get auto-formatted in the way suggested the next time I save that file regardless. I've been considering testing out a new formatter (which is supposedly faster while maintaining compatibility with black), but that discussion is off-topic for this PR. |
Quality Gate passedIssues Measures |
I've looked over the code and don't see anything obviously wrong. @sundermann @marcovolpato00 @fcr Could you guys test this PR? |
@oddstr13 I've installed the changes and pointed to nfs paths as the local paths and the changes work fine. Note that I did not change any of my previous settings so the sync Playback mode is still "add-on (default)". Regardless, the Dual subtitles plugin was able to find the subtitles local to the video file and the video played flawlessly. @mcarlton00 A huge thanks for your effort and patience. |
That is surprising, I would have expected you would need a full resync in native mode before anything like that changed. |
So, I've been using @sundermann version for the last few days without issue (from #926) Everything seems to work as expected in my testing so far. Overall it feels much more performant again, especially compared to using the addon mode. |
Just tested and it hasnt been able to remove the previous entry, Open kodi, wait for sync to complete, go to manage path replacements, click on the path p:p, edit both to t:t, click okay, both paths are now present and did not remove. Added a log file, seem to show a few errors, i have no understanding of what it means though, hopefully you will, This being said, if all it means is be careful not to mess up when adding them, its not a big deal, Performance is the same if not better than before and now with it being client based i even take my jelly library offline and not stop playback, this is a vast improvement from before, Thank you to everyone who fixed this, instead of removing it you gave it an upgrade!! Thanks again! |
I only need the direct access to particular paths in my libraries - those with foreign movies that require dual subtitles. The only problem that I encountered was that where videos on direct paths were watched, Kodi did not update the watched state of those videos. This problem still persists with the current situation so, perhaps it is connected to my not using pure native mode. |
Hi, when will this native mode workaround be available for Jellyfin4Kodi from the repo? |
I think you’re right in this being related to your setup of using direct paths in addon mode. It my testing with direct paths and using native mode, the watched status is reflected in Kodi and on the Jellyfin server. |
When I am satisfied that it has been sufficiently tested, and have available time to do it. So, get testing ;) |
I've installed it, using two NFS libraries and it seems to just work. Thanks ! |
Proberley a stupid question, if i have this version installed before its released, will it auto update when its merged and realesed? Sorry im new to github and not sure how it all works |
Tried with my NFS share and works perfectly. Hope it will be merged, thank you @mcarlton00 ! |
I have tested your commits with FTP-based libraries (approx. 20 entries). Runs absolutely flawlessly. |
Problems I have with native mode
Using addon mode I don't have either of these problems. Does anyone else have these problems or is it just me ? |
Can someone please provide a comprehensive tutorial, video or written, on how to actually set-up KOdi with JF in Native mode now as before it was dead simple and took no time and it, for me at least, worked fine. Trying to sort this out reading this Git and posting on the Kodi forum and I am conly confused and shocked seeing there is now a TON or work required to maintaine what was super simple and easy previoously, and still have no idea how to actually get the thing to work. |
It sounds like something was "fixed" by making every aspect of this mode far more difficult, cumbersome, work intensive and difficult to understand. I don't spend hours and days reading every bit of info trying to work out minute issues, I know I have JF working on multiple lcal clients in Kodi using Native Mode, it was simple, easy and it WORKED. Now I haven't a clue how to get Native mode to work, it sounds like there's a ton of maintnence and configuration reruied for every client and nothing about it sounds pleasant. Add-on mode doesn't provide access to local Extras folders that are easy and simple to use in Kodi (unlike the built-in Kodi extra nonsense they've been trying to get working, poorly, for a decade) so losing that function because changes to JF for "reasons" is not making me happy. That you can't even paste into these file replacement path boxes in INSANE!. |
I am using Kodi on a Nvidia Shield and have a problem with the local path. Do I have to write the whole nfs path there (f.e. nfs://192.168.0.1/storage/video/movies) or is there a shorter version? In Kodi filemanager i have added this share with the name movies. Is this just a symlink or a real mount point and if whats the whole path? /mnt/movies for example doesnt work. |
It's a simple string replacement. To find out your paths to your movies/series, use "Information" in Kodi on a Movie and navigate to the "refresh" button (I think) in the down left corner. Then the path to the file will be shown. Keep in mind that Kodi must have access to this path! Nothing changed here. |
Thanks for the information. When i write the whole path it is working. I was only searching for a shorter path because typing with my remote controller sucks 🤣 |
I always use the shortest version and it works like a charm. |
@mouserad If you have a Bluetooth- or USB-Keyboard than all Android devices will happily connect them and you can type paths (and or passwords etc.) much more easily. For longer setups with more information to hack in I always connect an external keyboard. |
Thanks but i am naturally lazy😆 I usually work for longer texts with my android app and send texts to my kodi device but this time i was also curios how kodi handles the source paths. |
I am still completely lost. People are entering 2 different file paths? To what end? I have shared folders which contain multiple mounted drives that have sub-folders that sort movies. I have individual shared folders that contain sub folders which contiain movies. I have 12 shared drives with a main folder containing tons of TV shows folders. What "string" am I supposed to be entering. There has been nothing 'simple' about this. Before it was dead simple. |
So you have 12 different libraries defined in your jellyfin server?! |
What path are we supposed to be entering? Let's start there. Because this simple process is completely confusing. I have a library for Movies, one for TV Shows, one for Music Concerts, ooOne for Comedy Concerts, one for All Elite Wrestling, 2 different music libraries, ones for Movie Trailers, Videos, Cartoons and then 2 other movie libraries that I don't use within my Kodi clients. What path of the Kodi Add-on wanting entered from the Jellyfin server? |
In every library there must be configured the native path with which your jellyfin server does access the files. This is the native path on the server. But you had to enter thise replacement-paths bevor the removal, too. Otherwise it would have never worked. So instead of entering these on the server in the libraries you now habe to enter them in Clents under path replacements. And here is a final example. If your directory structure on the server is sth. like this and your server is reachable via smb, let's say at than the path replacement would be OR: it would be ====== But you said you have shares. Then you will have to have several path replacements. => /mnt/smb_remote_mounts => smb://NAS1 If the shares are named completely different, like then you will need a replacement like this The goal is always, that you replace the PATHES to your files (you can always replace the whole pathes), so that the client can find the files under the replacement path Over and out on this. |
For my Movies library my sources are: \MediaServer1\Movies 1 TV Shows are: \MediaServer2\TV Shows\TV Shows 1 Concerts: \MainPC\F\Concerts Music \MainPC\F\Concerts Comedy And thus like that. I am not new to Kodi and been using Jellyfin for a few years now. This entire process has only been confusing from the start. |
Do each of those shares represent a separate library in jellyfin with different content, or do you have multiple sources for a specific library? For example: …\TV Shows 1 through …\TV Shows 11 all mapped to a single TV show library. or …\TV Shows 1 mapped to TV Show Library 1, ….\TV Shows 2 to TV Show Library 2, etc. |
Yes each are lists of the various drives/folders that are grouped into the named library ie: Movies, TV Show,s Concerts ect. My whole library is a mess right now though after trying to sort out some drive locations and now I figure I need to start from a fresh brand new install. Joy! |
I am having a weird issue as well though i am not sure that is related to the addon only. When using native paths no matter what i do any movie started using the "Enter" Key directly from the movies library is shown as "no more part of the library" and won`t play. Next weird thing is a movie shown up as new movie in a widget will play as well even if not using the context menu. I could not figure out what exactly the issue is here... |
The entire add-on in Kodi is just completely borked for me now. Can't get it to do anything other that see my server and let my user account login. Can't add/manage libraries, and access any media, nothing. And that's using add-on mode not even trying to figure out the change to native mode. Nothing works. At all. Frustrated because this did work so easy and simple and awesome. And now. Nothing. |
I still have no real idea what I am doing here. I tried to floow the example left by sic6SaNdMaN above, but not everything I think needed to be entered was, then I just cancelled because I couldn't remove something that looked wrong, then the add-on asks which libraries I want to add so I picked the ones I want and now it's populating something into the database. I am so lost and confused. |
Jellyfin4Kodi native mode with SMB This assumes jelly and your actual folders are set already i.e Jelly: Smb: On fresh kodi install: Protocol smb Then in the previous page this will now show as a network location Navigate to the 'data' share then '2D' click 'OK' then OK again On the set content page that now pops up leave as 'none' and click 'OK' --Do this again for '3D' and 'Series'-- You should now have 3 Kodi librarys that are just file shares Now go and install the 'jellyfin for kodi addon' (if you need a tutorial ask, i assume everyones got this covered) Once app has been installed for the 1st time it will pop up with the log into your jellyfin server pop up and set to native mode directpaths, DO NOT ADD LIBRARIES YET, Go to the add on page and click configure, Back to the add on page, jellyfin4kodi where you found the configure option to the left of that is open, now click open, Around 7 items up from the bottom youll have a 'manage path replacements' option, open it, then new path replacement, First one is 'remote path' set this to: /data/ Now it will show in your path replacements and should show up: Finish If all looks good then click finish. (Yes this is all case sensitive so make sure it looks exactly as it does for smb and within you server folders) Now the option above it is manage libraries Once complete i like to fully restart kodi one more time, When kodi opens again wait for the popup to welcome you and do any syncs/library updates it needs and your ready to go. |
Erm... does the new version of this "path replacements" now force me to browse to my destination share? But with the simple path replacement where I could type in the destination, everything worked as it was, when the Kodi server did this simple thing with the alternative paths. Please bring back the possibility to type in the destination! |
You must have some issue with your kodi setup. Browsing and adding nfs sources works perfectly fine. |
I just installed this addon again last night with a new kodi instance, and I didn’t have any issues implementing it with NFS shares. My sources list only has the root nfs share added e.g. nfs://192.169.1.5. I could type in the remote share, and then select the directory from the file browser for the local path without issue. Unrelated, when if I try to browse the NFS shares directly from the file browser it loads fine, but then gets stuck in returning to the main file browser window with other sources. This doesn’t hamper the local path replacement however - but just mentioning it as we’re talking about NFS share weirdness. |
No, I don't. You can google this issue, it is going on for years now. |
You probably have a configuration issue on your OMV nfs server. |
Yeah... of course I have... 🙄 |
I remember a while back there were issues with nfsv4 and kodi where they couldnt see eachother, You used to have to specify in kodi which version of nfs you were using as kodi defaulted to nfsv3, (not sure if you still have to, again i switched to smb as it was easier to set up and im dumb) There was also a way to add the nfsv4 share via manually editing the mediasources.xml this had a 50% sucess rate in letting me browse, depending on what device i was setting kodi up on. Apologies if youve already tried this, i had many issues originally trying to teach myself about nfs shares and how they work as im not very linux literate and found smb to be pain free in comparison As a side note though, now that path replacements have been added you no longer need to settle for just smb or nfs you can also set up an ftp server (in docker just for media for example) and use that instead. might be worth a look if your still having issues. Sorry i cant be more help than that. |
OK, that COULD probably be an issue, because Kodi can't do NFSv4. I spend the whole day reorganising paths and shares on the NAS (because with path replacements the "Serien" in "Serienarchiv" also get's replaced, so I had to add a subfolder, etc...) and configuring all of my clients. Now it works.
You don't have to be sorry. At least you came up with some information and ideas and didn't just tell me, that my NAS running for years AND my fresh OMV install both have NFS issues. Have a nice holiday! |
@sundermann @oddstr13 or whoever has the power, can we make this a post somewhere more visable to be able to help others with a native mode setup please, would like to help the community but not sure where to put it to get the word around. Thanks. |
Lots of traffic in this particular thread, so it's probably fine as is. You could also make a thread on the forums, or submit a refined version to the Jellyfin documentation. |
This is by far the best and working explanation i have read for the setup!! Thank you very much!! And i think some points are definetly (at least thats what i think) different from what it was before (Kodi path setup), as i never did it that way before with the old implementation. |
I regret this already.
Fixes #936 and #937, supercedes #925 and #926.
Stores path replacement information in the
data.json
file. Users are prompted to enter path information after selecting native mode from the setup wizard, and have an additional "Manage path replacements" option inside of the addon itself. No limit as to how many replacements can be added. Haven't tested with direct NFS/SMB paths because I don't have any set up for it right now, but local path replacement seems to work as intended so no reason to expect they wouldn't.Realistically should have it's own custom menu screens to match the existing popup dialogs instead of the standard listitem selection/input screens, but after staring at the XML required for far too long I don't care enough to figure it out.
fixes #936
fixes #937
closes #925
closes #926