I have now pushed the new version of my (renamed) Home Media Server project to github. The project page is here.
Please note – this is an alpha release, targeted towards other developers and very experienced users. The docs are incomplete so the initial setup will be difficult.
The goal of this project is to eventually provide an easy to install home video server for the Roku player. Currently I use it on Linux and OSX. Other than the python dependencies it needs the mp4info utility to grab the details about the mp4 file.
The project consists of 2 major components - The Roku player application (the example videoplayer app, modified somewhat). And a Python server application using tornadoweb and a couple of python modules and system tools (mp4info being the important one).
The server includes streaming and a web interface for setup, configuration and per-user playlist maintenance. The html/css code for this is ugly, but functional.
With the web interface you can:
setup multiple user accounts with separate logins and passwords so each user can maintain their own playlist
setup multiple media source directories to be scanned for movies and audio
Add free-form categories for the movies. Once you add a new category it becomes available to select from the drop-down list.
Import details on movies from The Movie Database including cover art, description, actors.
Edit all the details of a movie
Add avatar’s for the users that show up in the player UI
Currently it does not
Have any confirmation check on ‘delete’ links, so be careful
play music
properly handle TV series and episodes
properly support .bif file creation
wash your socks
The Roku app is based on the videoplayer app, it can:
show users’s personal lists
show all movies
show the categories the user has picked for their playlists
show details about the movie
play the movie
The streaming server works with:
roku
vlc
quicktime
chrome
iPhone example movie player app (mostly – some of my media plays while others do not)
Some things it needs
a different title graphic – it still says Ted Talks
artist/album/track support for playing music
music player support
TV/episode support
Better looking web UI
better docs
Windows support
The server code is released under GPLv2 and I haven’t decided how to release the Roku code. Since it is heavily based on the example code from Roku I am inclined to not put any kind of license on it – although I would be disappointed to see someone close it up and not contribute changes back to the project.
So, download the code, file bugreports (github has a nice issue tracker integrated into the page), and have fun with it!
Also I am going to be giving a talk on the project in April at Linux Fest Northwest.
There is another great home media server setup that allows your DVP to stream Music/Video,and (Photos - Beta). You should realy check it out. Well worth the littel setup required. Enjoy!
Add .bif file path to database on initial media addition or on subsequent scanning
Fixed makebif.py problems with image size and timing
The makebif.py changes may be of most interest. ffmpeg spits out 2 black images at the start, this was trowing off the timing. So I strip off one of them. But then the timing was so tight that when you hit play on a locaiton you were past it already, so I offset ffmpeg by 7 seconds at the start so that when playback starts you hit the .bif image after about 4-5 seconds.
I also modified it to use the info from mp4info to dynamically size the height of the .bif image so they should look correct (only tested with SD content).
Thank you so much for this software. I’m currently running it with Ubuntu 10.04 RC. I would like to run the server portion as a service so i don’t need a gui, but other than that it’s pretty amazing on how light weight and snappy it is.
Just getting started with this. I am going to write a few notes for my future reference.
The initial user/password for this is admin/badpassword . That took me quite a bit of digging to figure out. Once you log in, create your own user so you can remember the name.
Don’t delete the admin user, that would be like deleting ‘root’, which would just be a stupid thing that nobody would ever do. :roll: Admin is the only one who can add directories to the media library… (oops)
Definitely need to get port 80 working for video. I don’t normally run iptables on this box (and stink at iptables rules) and so I ran
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8888
Unfortunately a few modifications to that command set merely swapped ports 80 and 8888. Strange but working for now. I’ll kill apache next time and get a proper iptables rule list.
Enough for now. I need to figure out how the organization of this thing works so I can sort and display videos (some of these aren’t on tmdb so I need to do it manually).
Love the ‘resume playing’ feature, by the way, that will be awesome.