Jump to content

Emby Server - Full Symbolic Support


immortal

Recommended Posts

immortal

Full symbolic link support would be a great addition to the emby project. At the moment they are not followed.

 

Why would you want symbolic links?

 

1. This allows users to optimize their library by renaming the symbolic link to a more suitable file name where the original file needs to remain the same.

 

2. Allows users to have a single destination specified within a library, reduces clutter and makes file browsing easier.

Link to comment
Share on other sites

Well we actually get this from the native file system. In windows, I believe they are followed. On linux, OSX, etc, we get this from Mono and it's possible that it hasn't fully implemented it yet.

Link to comment
Share on other sites

  • 3 weeks later...
hjone72

I am using Windows and use Folder Junctions instead of Symbolic Links and they work perfectly.

 

I find that Junctions work better as they are also followed by network clients. For example; \\tower\TV Shows\Game of Thrones - is shared via a TV Show folder that is made purely by Junctions that are scattered over a number of different hard drives.

Link to comment
Share on other sites

  • 1 month later...
somechap

A note for future readers, because I originally wept copiously when reading this thread :-)

My video collection consists entirely of symlinks.  I rip VOB files straight off my DVDs and symlink them with names like ShowName_S01E01.mpg into a neat folder structure.  XBMC/Kodi reads this fine, but Emby and Plex both completely ignore the Symlinks.

The solution for me was to convert all of these symlinks to hard links instead.  There are certain considerations in doing this (a hard-link is essentially one file with multiple different names, whereas a symlink is a file pointing to the path of another file; for example, your backup program might back all the hard linked files up twice?) but I think I've got around those now.

Emby is quite happy reading the hard links.

Anyway, in case it's of use to somebody in the future, the bash commands were:

# 1 - (optional) make a full copy of all the symlinks (takes no time and no extra room):
cp -r ./old_lib/ ./new_lib


# 2 - find all the symlinks in the new library and make them into hard links using readlink and ln -f:
cd ./new_lib
find -type l -exec bash -c 'ln -f "$(readlink -m "$0")" "$0"' {} \;

This should also be quick and not take up disk space!

I'm sure there are a few caveats here.  For example, this won't work for people who are symlinking whole folders (you can't Hard-Link a directory), and you can only create hard links within the same partition.  I'm sure there are others, so try at your own risk!  Probably a good idea to run some tests before you dive in to doing your whole collection.

 

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...