HMS

Home Media Server for Roku Players
git clone https://www.brianlane.com/git/HMS
Log | Files | Refs | README | LICENSE

commit 5500447f6a455e0a1f7b8ffbb42f0e8f0ced7b6e
parent 1cd200376d26a91fae8e8abd132a252d3672bde0
Author: Brian C. Lane <bcl@brianlane.com>
Date:   Sat, 19 Nov 2022 11:41:33 -0800

Update the README for changes in this version

Diffstat:
MREADME | 80+++++++++++++++++++++++++++++++++++++++++--------------------------------------
1 file changed, 42 insertions(+), 38 deletions(-)

diff --git a/README b/README @@ -31,49 +31,34 @@ by Brian C. Lane <bcl@brianlane.com> == Configuration == Setup the webserver so that the top level directories are your categories. - These names will be displayed as the grid display's category names. The - contents of the directories will be displayed as cover images that can be - played. + These names will be displayed as a scrolling list on the left side of the screen. + The contents of the directories will be displayed as cover images that can be + selected and played from the poster grid on the right. - They type of playback for a directory is controlled by an empty file inside + They type of files to display for a directory is controlled by an empty file inside the directory named: - movies A list of movies to play - episodes Episode selector for the files in the directory - songs Play the songs using the song player - photos Show the images as a slideshow + movies A list of movies to play (mp4, wmv, mov, m4v) + episodes Episode selector for the files in the directory (mp4, wmv, mov, m4v) + songs Play the songs using the song player (mp3) + photos Show the images as a slideshow (jpg) - (As of Version 3.0 songs and photos are not supported) + Support for playback of songs and photos has not been added yet. - Videos should be valid files supported by the Roku (mp4, wmv, mov, m4v) - If there is a file ending in .txt that will be used for the details page. + Videos should be valid files supported by the Roku (mp4, wmv, mov, m4v). HandBrake + as several Roku presets that work fine. == Cover Images == - If the directory has a file named default-SD.png or default-HD.png it will - use that image if the video files do not have -SD.png images for them. - - You can add cover images for each video by naming them <video-name>-SD.png - -HD.png, -SD.jpg or -HD.jpg - - The first row of the grid is used for the Search and Setup screens. You can - set the images for these by placing images in the root directory of the - server: - - Search-HD.png Search-SD.png Setup-HD.png Setup-SD.png - - IMPORTANT: As of v3.1 /Setup-SD.png is required for HMS to start. If it is - missing it will fall into the URL editing dialog. This is so that you can - more easily recover from entering an incorrect URL. + If the directory contains a png or jpg file named for the video with a SD, HD, + or FHD suffix it will use that as the poster. Eg. Goonies-SD.jpg + If there is no is no specific poster file for the video it will use 'default' + instead. eg. default-SD.jpg Sample directory listing: Firefly/ Home_Movies/ Movies/ - Search-HD.png - Search-SD.png - Setup-HD.png - Setup-SD.png ./Firefly: default-SD.png @@ -93,35 +78,54 @@ by Brian C. Lane <bcl@brianlane.com> An optional keystore is supported at URL + /keystore/<key> - If present it will be used to save the last selected video for each row and - the last playback position of each video. + If present it will be used to save the last playback position of each video. - The presence is detected by looking for URL + /keystore/version + The keystore is detected by looking for URL + /keystore/version and values are stored by POST with value=<value> You can use my clortho project as the keystore by proxying requests to the - /keystore/ prefix to it with lighttpd. + /keystore/ prefix to it with lighttpd like this: - https://www.brianlane.com/clortho-a-simple-keyvalue-server.html + $HTTP["host"] =~ "^movies\.lan(:[0-9]*)?$" { + server.document-root = "/Movies/" + dir-listing.activate = "enable" + + $HTTP["url"] =~ "(^/keystore/)" { + proxy.debug = 1 + proxy.balance = "fair" + proxy.server = ( "" => + (( "host" => "127.0.0.1", "port" => 9002)) + ) + } + } + + See https://www.brianlane.com/clortho-a-simple-keyvalue-server.html for a + blog post about the keyserver. 2. Client Installation Make sure your Roku is in developer mode, change to the HMS directory and and set the target IP for the install (you can find the IP on the Roku's - information screen). + network information screen). - http://sdkdocs.roku.com/display/sdkdoc/Developer+Guide#DeveloperGuide-71EnablingDevelopmentModeonyourbox + https://developer.roku.com/docs/developer-program/getting-started/developer-setup.md + + (which is - HOME, HOME, HOME, UP, UP, RIGHT, LEFT, RIGHT, LEFT, RIGHT) and then set + a password. export ROKU_DEV_TARGET=192.168.101.143 You may also need to set the user and password, if one is set for your device: export ROKU_DEV_USER=rokudev - export ROKU_DEV_PASSWORD=password + export DEVPASSWORD=password And then install the application with: make install + You can also install the .zip file generated by 'make install' using the web interface. + Visit the device with a web browser, log in, and upload the zip. + 3. Support/Contribute