Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
el_wubo
Visitor

My Media - Your Music and Video on the Roku DVP

My Media

A simple personal media server and channel for streaming your music, video, and photo collection to your Roku

MyMedia is a "private channel" which means you install it by clicking on a link instead of finding it by browsing through the Roku channel store. The installation of MyMedia is a bit more involved than most of the private channels you encounter because it requires that special software be running on both your Roku (the channel) and your personal computer (the MyMedia server.) Stick with it and soon you'll be listening to your music collection, watching your own movies, and browsing your own photos all streamed to your television through your Roku.

Add the channel to your Roku!

This is the place to ask questions if you have any! You can tell from the length of this thread that quite a few people use MyMedia and they love to help each other out.

You can also check out our wiki and our Frequently Asked Questions page.

Features so far:

* Stream MP3's and WMA's from your Windows, Mac, or Linux computer over your local network to your Roku DVP.

* Music is organized on your Roku using the same directory system you have on your desktop.

* MP3 ID3 tags provide metadata about the music

* Album art is displayed where available.

* Video (See encoding instructions in later posts)

* Uses your existing organization scheme. Just tell it where you keep your Music and Video.

* Music Shuffle / Loop forever

* Playlists

* Photo Browsing

* All open source. Artists, developers, testers, and writers are all welcome to join in and lend a hand to make this the media player we all want it to be.

Enjoy!
-Brian


Stop reading now unless you're interested in installing MyMedia in developer mode instead of using the private channel mechanism

Ok, you're still reading. I guess you want to do things the hard way. MyMedia is an open source project that encourages contributions from the community. As such, we also have a process to help you install MyMedia in developer mode so that you can tweak the channel code and contribute changes back to the community. If you're interested in doing this, follow these instructions:

Download it Here and follow the instructions at that page to get things set up.

Technical development group
http://groups.google.com/group/mymedia-roku-developers/

Main GitHub Page
http://github.com/netguy204/roku_media_server/


EDIT: Moved Video from being a planned feature to being a deployed feature.

EDIT: Added link to developers group.

EDIT: Changed download link to direct link

EDIT: Changed name to My Media (from My Music)

EDIT: Added Mac link, photo browsing is official planned feature now

EDIT: Updated primary links to point at new project page

EDIT: Tips n' hacks link

EDIT: Retooled now that we're a private channel
0 Kudos
1,918 REPLIES 1,918
umbighouse
Visitor

Re: My Media - Your Music and Video on the Roku DVP

For those of you who have gotten this working for Windows, here's how to automate the web server startup.


How to start the Python web server automatically
This can be done with a simple batch file. First, you should add en environment variable for your Python installation so that you can call the python.exe file from anywhere. To do this, modify the PATH statement in your environment variables to include this:
c:\python26

To add environment variables in Windows 7 & Vista:
Right-click My Computer and then click the Advanced system settings link. Click the Environment variables button. In the System Variable section, select the PATH item and click the Edit button. At the end of this string, add a semicolon and then your new variable for Python.

Now, assuming that your Roku Media Player files are in a folder named roku_media_player, create a batch file like this:
cd c:\roku_media_player\server
python rss_server.py

Save it as "roku_start.bat" to and double-click it to start your web server.

So you've noticed that the command windows stays open?
Here's how to run this without showing the command window (invisible mode)
Create another file that looks like this:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "c:\Python26\roku_start.bat" & Chr(34), 0
Set WshShell = Nothing

Save this file as "roku_start.vbs". When you launch this .VBS file, it will call the .BAT file you made above, but will not show the command window.

Now, how do I get this to run each time I start my computer?
Easy. Just put the roku_start.vbs (or a shortcut to it) into your Windows Startup folder.

Windows Startup folder locations
Windows 7 + Vista
NOTE: The all users Startup folder is a hidden system folder located at:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

Windows XP
C:\Documents and Settings\All Users\Start Menu\Programs\Startup

How do I stop the Python web server if I can't see the command window?
Normally, you could use CTRL+C to stop the web server, but without a command window, this isn't possible. Just open Windows Task Manager and on the Processes tab, sort the list to fine the process called Python. Select it and then hit the End Process button to stop the web server.
0 Kudos
srankin
Visitor

video timeline

I noticed personal video in the planned features. Any idea on a timeline for that?

thanks
0 Kudos
dougrb
Visitor

Re: My Media - Your Music and Video on the Roku DVP

I got the channel installed on Roku. Server is running... I can connect to http://<server IP>:8001/feed from another PC. Server IP address is correct on the roku.

The channel hangs on "retrieving..."

Could spaces in the music path cause problems? Anything else to check?

EDIT: Spaces in the path is the problem. Even enclosed in quotes.

"C:\Documents and Settings\Doug\My Documents\My Music" doesn't work but C:\Music does. Could be the path with spaces is too long also.
0 Kudos
el_wubo
Visitor

Re: My Media - Your Music and Video on the Roku DVP

dougrb:

I'm surprised that the path with spaces was the problem. I'll give that some more testing but I'm glad you got it working in the mean time. I think a few other testers have been successful with spaces in their music path. I know, on linux, that spaces work provided I don't enclose the path in quotes.

Other than that it sounds like your up in running. Did I understand you correctly? Does everything seem to be working?

srankin:

The major technical issue I'm still working through in my head is the best way to help everyone get their media into the correct format. The Roku player is very particular about supported video formats and everyone's favorite DivX isn't on the list.

The most ideal scenario would be to translate any video compression (within reason) in real-time to the format that the Roku expects. That way you don't have to spend a lot of time converting your video to yet another format and waste space storing it in that format. One of our users has done some speed testing going from DivX to H264+AAC (the preferred Roku format) and reported that the process was very slow and not suitable at all for real time.

Second most ideal scenario is that we put together a tool using one of the great catch-all libraries (avisynth comes to mind) that will automate converting your collection into the Roku format. Then everyone can schedule an overnight or several day batch job to get their stuff converted and go from there.

Finally, I could just take a weekend and get the player ready to handle H264+AAC format video and leave it up to everyone else to solve the conversion problem.

Timeline: Don't know yet. Still some improvements to be made in the music player and I want to focus on that right now. I'll keep you posted.
0 Kudos
umbighouse
Visitor

Re: My Media - Your Music and Video on the Roku DVP

I use spaces in the path. Be sure not to use quotes, even with spaces. Are you using the springboard.py GUI file to do the install?
0 Kudos
dougrb
Visitor

Re: My Media - Your Music and Video on the Roku DVP

I initially didn't use quotes and then figured I might need them. I did try a shorter path name with spaces C:\My Music Test and it works.
0 Kudos
el_wubo
Visitor

Re: My Media - Your Music and Video on the Roku DVP

dougrb:

Using your original setup (with the long path and spaces) were you able to browse and drill down into your collection when you connected to the server using your web browser?

If so, then this could be some limitation in path length in the client that we need to know about.
0 Kudos
dougrb
Visitor

Re: My Media - Your Music and Video on the Roku DVP

AHHH... that's what the server page is supposed to look like. Here's what I get with the problem path name. I don't see any way to add file attachments. I'll try a cut and paste but it might be ugly (not like it's that pretty in HTML).

<class 'eyeD3.tag.TagException'> at /feed
Multiple PCNT frames not allowed.Python C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\eyeD3\tag.py in __loadV2Tag, line 1358
Web GET http://localhost:8001/feed

Traceback (innermost first)
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\eyeD3\tag.py in __loadV2Tag
...
raise TagException(str(ex)); ...
â–¶ Local vars
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\eyeD3\tag.py in link
...
padding = self.__loadV2Tag(f); ...
â–¶ Local vars
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\rss_server.py in file2item
...
if not tag.link(fname): ...
â–¶ Local vars
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\rss_server.py in getdoc
...
items.append(file2item(os.path.join(base,file), config, curr_image)) ...
â–¶ Local vars
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\rss_server.py in GET
...
return getdoc(config.get("config", 'music_dir'), config).to_xml() ...
â–¶ Local vars
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\web\application.py in handle_class
...
return tocall(*args) ...
â–¶ Local vars
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\web\application.py in _delegate
...
return handle_class(cls) ...
â–¶ Local vars
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\web\application.py in handle
...
return self._delegate(fn, self.fvars, args) ...
â–¶ Local vars
C:\Documents and Settings\Doug\Desktop\netguy204-roku_media_server-a66bfac\server\web\application.py in process
...
return self.handle() ...
â–¶ Local vars
Response so far
HEADERSVariable Value
Content-Type 'application/rss+xml'

BODY

Request information
INPUT

No data.
COOKIES

No data.
METAVariable Value
app_stack [<web.application.application instance at 0x00E12350>]
fullpath u'/feed'
headers [('Content-Type', 'application/rss+xml')]
home u'http://localhost:8001'
homedomain u'http://localhost:8001'
homepath u''
host u'localhost:8001'
ip u'127.0.0.1'
method u'GET'
output u''
path u'/feed'
protocol u'http'
query u''
realhome u'http://localhost:8001'
status '200 OK'

ENVIRONMENTVariable Value
ACTUAL_SERVER_PROTOCOL 'HTTP/1.1'
HTTP_ACCEPT 'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'
HTTP_ACCEPT_CHARSET 'iso-8859-1, utf-8, utf-16, *;q=0.1'
HTTP_ACCEPT_ENCODING 'deflate, gzip, x-gzip, identity, *;q=0'
HTTP_ACCEPT_LANGUAGE 'en-US,en;q=0.9'
HTTP_CACHE_CONTROL 'no-cache'
HTTP_CONNECTION 'Keep-Alive, TE'
HTTP_HOST 'localhost:8001'
HTTP_TE 'deflate, gzip, chunked, identity, trailers'
HTTP_USER_AGENT 'Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.10'
PATH_INFO '/feed'
QUERY_STRING ''
REMOTE_ADDR '127.0.0.1'
REMOTE_PORT '9818'
REQUEST_METHOD 'GET'
SCRIPT_NAME ''
SERVER_NAME 'localhost'
SERVER_PORT '8001'
SERVER_PROTOCOL 'HTTP/1.1'
SERVER_SOFTWARE 'CherryPy/3.1.2 WSGI Server'
wsgi.errors <open file '<stderr>', mode 'w' at 0x00A540C0>
wsgi.input <web.wsgiserver.SizeCheckWrapper object at 0x00E64C70>
wsgi.multiprocess False
wsgi.multithread True
wsgi.run_once False
wsgi.url_scheme 'http'
wsgi.version (1, 0)
0 Kudos
wizzy1291
Visitor

Re: My Media - Your Music and Video on the Roku DVP

I installed the latest version. WMAs play great. The artwork looks great.

CURRENT REQUESTS:
Artist Name/Album/Track displayed while songs are playing.
Pause function.

...and that's all I need.


I feel like Steve Martin in the Jerk:

http://www.youtube.com/watch?v=1el59ig9AK8
0 Kudos