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!
New Features * Serve up .bif files * 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.
1. 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. 2. 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) 3. 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.