Jump to content
Luke

FreeNAS plugin

Recommended Posts

Luke

We now have a FreeNAS plugin available.

Installation

 

https://emby.media/download

 

5463bd143d0dd_logo.png

FreeNAS is the go to solution for managing storage

  • Like 5

Share this post


Link to post
Share on other sites
allen00se

Interesting, any idea if this wlil work on Nas4Free or plans to make a package? I know they were the same at one point.

Share this post


Link to post
Share on other sites
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!

  • Like 1

Share this post


Link to post
Share on other sites
Hisma

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.

Share this post


Link to post
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?

Share this post


Link to post
Share on other sites
sauravg

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?  

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites
sauravg

Cool! Any comments on where that re-scan setting/button is?

Share this post


Link to post
Share on other sites
sauravg

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.

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
sauravg

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.

Share this post


Link to post
Share on other sites
Hisma

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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
Vidman

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

Share this post


Link to post
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?

Share this post


Link to post
Share on other sites
Hisma

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.

Share this post


Link to post
Share on other sites
Hisma

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.

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
Hisma

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.

Share this post


Link to post
Share on other sites
Hisma

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. 

Share this post


Link to post
Share on other sites
Luke

try path substitution

Share this post


Link to post
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...