Jump to content

FreeNAS plugin


Luke

Recommended Posts

woodsb02

I'm not familiar with Nas4Free sorry.

 

In all honesty the best way to get a package for a new system is to attempt it yourself. All of the packages for different distributions were made by the community, rather than the core MediaBrowser developers. It might be a fun little project for you!

Link to comment
Share on other sites

the old plugin died.  It no longer starts.  No idea why happened.  I can go ahead and install the official one now.  But it doesn't make sense that the "pre-release" version would randomly stop working.

Link to comment
Share on other sites

woodsb02

I know @@josh4trunks removed the old plugin from his website, in favour of the new one. Other than that I don't know why the plugin you had already installed stopped working...

 

Any further logs or errors for us to go off?

Link to comment
Share on other sites

Where is the library re-scan setting?  I think I have looked everywhere (and it probably WAS there in front of my eyes) but I didn't see it.  I want to force a re-scan and also adjust the frequency of automatic re-scans.

 

Btw, does filesystem monitoring for new/changed content work on zfs?  

Link to comment
Share on other sites

woodsb02

mono supports kqueue by default on FreeBSD for file system monitoring, so it should work. I don't know about any issues with zfs specifically.

Link to comment
Share on other sites

Nevermind!  It's under scheduled tasks.

 

Looks like

 

1. I have to restart MB if I want an immediate refresh of its media index.  Or schedule a re-scan task in the next next few minutes...

 

2. Over ZFS, it seems MB doesn't detect media *changes*.  So if I re-encode a video, I have to refresh the index manually, or else it seems to serve the previous media type.  I'm not sure, but it seems it doesn't detect media file removal/additions either. 

 

3. There is no way to refresh a section of the media content.  So if I add some pictures to a folder under "Photos", I can't just refresh the media index for Photos.  I have to update everything.

 

4. While MB is re-scanning, I cannot access its web UI (dashboard) in the browser.  It gets that busy.

 

Am I right?  Can someone please verify or refute?

 

Thanks,

Saurav.

Link to comment
Share on other sites

woodsb02

At first glance, it sounds like Items 1 and 3 are improvement requests for the main mono developers.

 

Item 2 looks like an issue with the MediaBrowser port on FreeBSD. If I get a chance I will look into this. Feel free to look into the MediaBrowser code to see how it is supposed to be tracking file system changes, and then look into the mono code to see if there is anything obviously wrong (I have seen a few comments in the mono code not related to filesystem watching that says "only works on Linux for now").

 

I have not experienced item 4. I can still access the web UI whilst it is scanning on my FreeNAS mini.

Link to comment
Share on other sites

pennywise

Is anyone else having issues with the server stopping? When I get a chance I will grab the server logs and send them through. I'm finding I am having to go into freenas and start the plugin from the web admin page a couple times a day.

 

Scott

Link to comment
Share on other sites

At first glance, it sounds like Items 1 and 3 are improvement requests for the main mono developers.

 

Item 2 looks like an issue with the MediaBrowser port on FreeBSD. If I get a chance I will look into this. Feel free to look into the MediaBrowser code to see how it is supposed to be tracking file system changes, and then look into the mono code to see if there is anything obviously wrong (I have seen a few comments in the mono code not related to filesystem watching that says "only works on Linux for now").

I have not experienced item 4. I can still access the web UI whilst it is scanning on my FreeNAS mini.

 

 

Where is the MB code hosted?  Not that I will be able to do anything because I'm unfamiliar with the DLNA protocol as well as the programming language (mono => C#, right), but it couldn't hurt to just browse it.

Link to comment
Share on other sites

okay, i ran into a pretty big problem here.  

 

I added my movies/tv/etc using locally mounted storage in the mediabrowser jail.  it seemed to be the smartest way to handle my media, until i tried to launch movies via an external player (mpc-hc).

 

because my media path is relative to my server, ie, /usr/local/movies/<title>, but I am running a windows-based client, I can't get the external player to read the path correctly.

 

Windows expects the path to be "\", and freenas, and hence mediabrowser server, use "/" paths.  

 

I have not found a way around this... since the {PATH} variable uses unix-based paths.  

 

Any tips?  

 

I believe this same problem is what is also preventing xbmb3c from working.  If I try to open a movie or tv show, xbmc won't load it.  Pretty sure it has to do with the media paths being jacked up.

Link to comment
Share on other sites

woodsb02

okay, i ran into a pretty big problem here.

 

I added my movies/tv/etc using locally mounted storage in the mediabrowser jail. it seemed to be the smartest way to handle my media, until i tried to launch movies via an external player (mpc-hc).

 

because my media path is relative to my server, ie, /usr/local/movies/, but I am running a windows-based client, I can't get the external player to read the path correctly.

 

Windows expects the path to be "\", and freenas, and hence mediabrowser server, use "/" paths.

 

I have not found a way around this... since the {PATH} variable uses unix-based paths.

 

Any tips?

 

I believe this same problem is what is also preventing xbmb3c from working. If I try to open a movie or tv show, xbmc won't load it. Pretty sure it has to do with the media paths being jacked up.

I don't quite follow. You have MediaBrowser running in a jail and sharing your media (presumably via DLNA?).

 

Why would a media player running on external computer need to know the path of the files? It should just be looking for a DLNA server and getting the media from that (the media player is oblivious to the actual location of the files).

 

Can you explain your full setup and each computer a bit better to aid troubleshooting?

Edited by woodsb02
Link to comment
Share on other sites

woodsb02

Some clients try to access the media directly rather than stream eg the xbmc add-on and MBC

Sorry, what do you mean by "directly"? Do you mean windows file sharing?
Link to comment
Share on other sites

I don't quite follow. You have MediaBrowser running in a jail and sharing your media (presumably via DLNA?).

 

Why would a media player running on external computer need to know the path of the files? It should just be looking for a DLNA server and getting the media from that (the media player is oblivious to the actual location of the files).

 

Can you explain your full setup and each computer a bit better to aid troubleshooting?

 

I am using a windows client.  My server is the freenas plugin with locally mounted storage pointing to my library.

 

These screenshots should explain everything.

 

Here is what the external player configuration looks like.  I would imagine it is very common for windows users of mb3 client to utilize mpc-hc as an external player, as it is the most powerful video player available for windows.

 

p3BZeBl.png

 

See how the app requires a direct path to the media as an argument.  

 

This is what happens when you try to play a video file:

 

0KQA4yC.png

 

the {PATH} argument results in the local unix-based path, which windows does not recognize.  I can play with the path argument to point to the media more directly, but because the folder structure is "/" in unix, it will never work.

 

Not sure how this can easily be fixed.  

 

This also impacts the xbmc plugin xbmb3c, as it also appears to use direct paths to the media.  Huge bummer.

Link to comment
Share on other sites

I can also confirm that changes to the media library do not auto update.  You must either manually update, or restart the server.  This was noted a few posts above.

Link to comment
Share on other sites

woodsb02

I am using a windows client. My server is the freenas plugin with locally mounted storage pointing to my library.

 

These screenshots should explain everything.

 

Here is what the external player configuration looks like. I would imagine it is very common for windows users of mb3 client to utilize mpc-hc as an external player, as it is the most powerful video player available for windows.

 

p3BZeBl.png

 

See how the app requires a direct path to the media as an argument.

 

This is what happens when you try to play a video file:

 

0KQA4yC.png

 

the {PATH} argument results in the local unix-based path, which windows does not recognize. I can play with the path argument to point to the media more directly, but because the folder structure is "/" in unix, it will never work.

 

Not sure how this can easily be fixed.

 

This also impacts the xbmc plugin xbmb3c, as it also appears to use direct paths to the media. Huge bummer.

If I understand correctly, both of those screenshots are from the windows mpc-hc software. So when are you actually using MediaBrowser? It looks like you are just trying to use mpc-hc to access the files directly without ever using MediaBrowser?

 

MediaBrowser is typically accessed through the web interface to view the collection and play media, or through the DLNA interface via a media player such as mpc-hc.

Link to comment
Share on other sites

woodsb02

I can also confirm that changes to the media library do not auto update. You must either manually update, or restart the server. This was noted a few posts above.

Ok, interesting.

 

This MediaBrowser library monitor code is here:

https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs

 

That essentially calls the following filesystem watcher code built into mono:

https://github.com/mono/mono/blob/master/mcs/class/System/System.IO/FileSystemWatcher.cs

 

I can see that the mono stuff does support kqueue for FreeBSD. Would need some further debugging to work out the issue.

 

This description of how kevent works on FreeBSD might help: https://www.freebsd.org/cgi/man.cgi?query=kqueue

Edited by woodsb02
  • Like 1
Link to comment
Share on other sites

If I understand correctly, both of those screenshots are from the windows mpc-hc software. So when are you actually using MediaBrowser? It looks like you are just trying to use mpc-hc to access the files directly without ever using MediaBrowser?

 

MediaBrowser is typically accessed through the web interface to view the collection and play media, or through the DLNA interface via a media player such as mpc-hc.

 

the first screenshot is from mediabrowser "external player" configuration.  

the second screenshot is what happens when you try to play a video file from within mediabrowser, with the "external player" enabled.  when the file is clicked, mediabrowser automatically launches mpc-hc and runs the necessary arguments, the result of which is in the screenshot.

 

if i try to play a video file without an external player, it plays fine.  but as i mentioned, many users would utilize the external player function to play video files in mpc-hc.  

 

If I used mpc-hc to access the files without using mediabrowser, i'd just use my windows-based path to my nas cifs share and not have any of these issues.

Link to comment
Share on other sites

Ok, interesting.

 

This MediaBrowser library monitor code is here:

https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs

 

That essentially calls the following filesystem watcher code built into mono:

https://github.com/mono/mono/blob/master/mcs/class/System/System.IO/FileSystemWatcher.cs

 

I can see that the mono stuff does support kqueue for FreeBSD. Would need some further debugging to work out the issue.

 

This description of how kevent works on FreeBSD might help: https://www.freebsd.org/cgi/man.cgi?query=kqueue

 

I haven't looked into any of this stuff myself, but if I can be of any help I can try to look into some of it.  I only have rudimentary programming skills, but with some direction I can usually figure out what I need to do.

 

from what you are saying, it sounds like changes to the watch-folder are not being triggering events, or something is broken with how the events are being reported to the watcher. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...