Plex would probably be your best option for this. If you set up a free myPlex account, then everything indexed in your Plex server will be available to users who sign into the same myPlex account. Of course, as will a custom channel, you'd need to have a decent upstream internet link to be able to serve the videos from your home. If you don't then you might consider one of the channels that streams from a cloud storage service like Dropbox (or subscribe to PlexPass and use their CloudSync feature).
The point, of course, being that you shouldn't need to develop a custom channel to accomplish what you want unless you really just want to.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)