Hello,
I suspect what I’m about to mention may become a hot topic now that Amazon Drive is more widely available internationally. This post will be in the thread of this other one: Mounting ACD with decryption for reading but I did not want to hijack that thread.
I’ve been doing some testing tonight with a remote Plex Server (not Plex Cloud) on a Linode VPS, connected in the backend to Amazon Cloud Drive to host the files (VPS storage is ridiculously expensive). This is basically a mimic of Plex Cloud that was just released, but my objective is to control it and also use encryption.
Now that rclone has encryption, I thought I’d test some of the speed with no encryption, encFS and rclone crypt.
Setup
- Linode 4GB - https://www.linode.com/pricing
- Amazon Cloud Drive
- rclone, acd_cli, encfs
- ACD mounted with acd_cli to /mnt/acd
Folders
On my ACD, I’ve setup a “Media” folder and three sub-folders:
- encfs
- rclone
- native (this is non-encrypted)
encFS
This assumes you have encFS installed.
- Mount an encfs folder:
ENCFS6_CONFIG='~/encfs.xml' encfs /mnt/acd/Media/encfs /mnt/encfs
- make your movie folder:
mkdir -p /mnt/encfs/movies/MyMovie
- Copy your movie:
cp MyMovie.mkv /mnt/encfs/movies/MyMovie
- Your movie will be copied to ACD and encrypted using encFS
rclone crypt
This assumes you have rclone installed and a crypt setup.
- rclone your movie to acd encrypted:
rclone -v copy ./path/to/MyMovie/ acdenc:Media/rclone/movies/MyMovie
- Mount your encrypted media folder:
rclone -v mount acdenc:Media/rclone/ /mnt/rclone
Native
This assumes you have ACD mounted to /mnt/acd
- Copy your movie file directly to ACD:
cp -r /path/to/MyMovie /mnt/acd/Media/native/movies/MyMovie/
Plex
This assumes you know how to setup Plex.
- Create a new Movies library in Plex:
Encryption Comparison
- Try native first by adding to this new library the
/mnt/acd/Media/native
folder. - Test playback (should be very quick).
- Edit the library and remove the folder above, add a new folder:
/mnt/encfs
. - Rescan the library to pick up the new changes
- Test playback (should be quick, but not as quick as native)
- Edit the library and remove the folder from #4 and add a new folder:
/mnt/rclone
. - Rescan the library to pick up the new changes
- Test playback - this will be hit or miss, but it’s unreliable.
Conclusion
I am certain that the cryptographic algorithms used for rclone crypt add a significant overhead that isn’t seen with encFS. Using encFS, the playback is almost as fast as native for me. Seeking is also very reliable. I would say that the remote Plex server is almost as fast as a local one (those Linode VPS are very quick).
The rclone crypt + mount option (which I was hoping to use for simplicity) is very slow and highly unreliable. Plex often chokes trying to transcode the files (I’m guessing due to overhead). I’ve tried different mount options but no joy I’m afraid.
I’m not sure if any improvements to the speed of crypt can be done to make it more in line with encFS. I know there is a feature request to support encFS as a legacy mechanism.
It’s too bad, rclone + crypt is far simpler, it’s an all-in-one package. I know it was probably never devised to be used this way, but I’m hoping some performance gains can yet be had.
Hope this helps other people thinking of doing the same.