My Media - Your Music and Video on the Roku DVP

Looks like the problem might have been me.. (hard to imagine LOL).. but I just restarted everything and it seems to be working!!

Thank you

Testing some more and will let you know if I have issues..

thx

“el.wubo” wrote:
Non-english characters: Our support is somewhat improved. You should now be able to navigate to folders with non-english characters in the song names though the songs with non-english characters may not display properly due to a bug in the ID3 library I’m using. I’ll look into that and fix it if I can.

buaboo:

Excellent. Glad you’re making progress.

Can you telnet to port 8085 of your Roku and send me what you see there?

The player will automatically loop through every song in a folder indefinitely. You only need to manually intervene if you want to start playing songs in a different folder.

“el.wubo” wrote:
calicommando and deftone:

Just added support for remembering where you were on the previous screen. This feature is in the latest version. Make sure you update your client after you download.
Wow, I’m away from the forum for 24 hours and look at all the progress!

Anyway, thanks for this feature. Works like a charm. :slightly_smiling_face:

I noticed you mentioned re-working your sorting algorithm. I think you introduced a bit of a bug when you did this. It appears that the sorting algorithm isn’t handling uppercase and lowercase letters in the same manner. What I mean is, all of my artist folders that are not capitalized (lowercase first letter) get thrown to the end of the list. For example, tobyMac gets listed after ZZ Top. Not exactly what you’d expect. :wink:

DeftOne:

Good catch. I’ve updated the latest version to ignore the case of artists and song titles during the sort.

Great. Thanks for fixing that so quickly.

Now, on to another bug I’ve run into. If a song finishes while you are browsing somewhere other than the folder the song is in, playback stops. In fact, whatever folder is selected is incremented to the next folder almost like it’s trying to select the next song as normal, but it’s not a song. I think it’s confused and doesn’t realize that it’s not within the album folder anymore. I had this happen to me the first time a few releases ago completely by chance, and I have been able to reproduce this bug with this latest build. The first time it happened, it totally crashed the channel and I couldn’t get it to come back up for a while. My later attempts to reproduce haven’t crashed the channel like that though.

The behavior I would prefer to see would be playback continuing to the next song within the album that is currently playing, even if I’m off browsing somewhere else, and playback of the current album stopping if and only if I select another song somewhere else. Hopefully that is doable.

Thanks!

EDIT: Upon further testing, if I browse to another album folder than the album that is currently playing, and a song finishes it increments the selected song in the newly selected album AND ACTUALLY PLAYS IT! I can’t decide if that’s a bug or a feature. :wink: I’m leaning toward bug, since I would still prefer the album I’m playing songs from previously to continue playing until I intervene and actually select a song from a different album.

Onecaribu is trying to help me offline on this issue, but I thought I would post it here so I don’t keep bothering one person.

I am trying to modify the init.d so I can start rs_serve.py automatically when the NAS reboots. I created the below script which works when I execute it manually, but I can’t seem to get it to work automagically (I did do a chmod 777 on the script)

chdir /share/Public/media
/opt/bin/python2.6 ./rss_server.py

I placed this script called it pythstart in /share/Public/media (where the rss_server.py is…

Any thoughts?

“buaboo” wrote:
Onecaribu is trying to help me offline on this issue, but I thought I would post it here so I don’t keep bothering one person.

I am trying to modify the init.d so I can start rs_serve.py automatically when the NAS reboots. I created the below script which works when I execute it manually, but I can’t seem to get it to work automagically (I did do a chmod 777 on the script)

chdir /share/Public/media
/opt/bin/python2.6 ./rss_server.py

I placed this script called it pythstart in /share/Public/media (where the rss_server.py is…

Any thoughts?

Depending on the version on Linux running on your NAS - you may have to do a :

chkstat -add

You distro may vary

I have Maxtor which is running a version of freenas.. Not sure if that helps or not..

I tried doing chkstat -add at command line and it said it was not found.

“dellsweig” wrote:

“buaboo” wrote:
Onecaribu is trying to help me offline on this issue, but I thought I would post it here so I don’t keep bothering one person.

I am trying to modify the init.d so I can start rs_serve.py automatically when the NAS reboots. I created the below script which works when I execute it manually, but I can’t seem to get it to work automagically (I did do a chmod 777 on the script)

chdir /share/Public/media
/opt/bin/python2.6 ./rss_server.py

I placed this script called it pythstart in /share/Public/media (where the rss_server.py is…

Any thoughts?

Depending on the version on Linux running on your NAS - you may have to do a :

chkstat -add

You distro may vary

“buaboo” wrote:
I have Maxtor which is running a version of freenas.. Not sure if that helps or not..

I tried doing chkstat -add at command line and it said it was not found.

“dellsweig” wrote:

“buaboo” wrote:
Onecaribu is trying to help me offline on this issue, but I thought I would post it here so I don’t keep bothering one person.

I am trying to modify the init.d so I can start rs_serve.py automatically when the NAS reboots. I created the below script which works when I execute it manually, but I can’t seem to get it to work automagically (I did do a chmod 777 on the script)

chdir /share/Public/media
/opt/bin/python2.6 ./rss_server.py

I placed this script called it pythstart in /share/Public/media (where the rss_server.py is…

Any thoughts?

Depending on the version on Linux running on your NAS - you may have to do a :

chkstat -add

You distro may vary

look in /usr/sbin - that may not be in your path.

Nope… No chkstat. It looks like chkstat does things with permissions. I did do chmod 777 on the file so I think it is execute for everyone. I modified the script so the output would go to log.txt… I am able to execute the script and it did create the log file, it looks like a portion if bring created but it doesn’t seem to stay active…

“dellsweig” wrote:

“buaboo” wrote:
I have Maxtor which is running a version of freenas.. Not sure if that helps or not..

I tried doing chkstat -add at command line and it said it was not found.

“dellsweig” wrote:

“buaboo” wrote:
Onecaribu is trying to help me offline on this issue, but I thought I would post it here so I don’t keep bothering one person.

I am trying to modify the init.d so I can start rs_serve.py automatically when the NAS reboots. I created the below script which works when I execute it manually, but I can’t seem to get it to work automagically (I did do a chmod 777 on the script)

chdir /share/Public/media
/opt/bin/python2.6 ./rss_server.py

I placed this script called it pythstart in /share/Public/media (where the rss_server.py is…

Any thoughts?

Depending on the version on Linux running on your NAS - you may have to do a :

chkstat -add

You distro may vary

look in /usr/sbin - that may not be in your path.

Forgive my ignorance of what’s involved on the programming side of this, but are we anywhere close to being able to launch a basic video channel? Even if we have to transcode any videos to an acceptable format for the Roku.

I am not sure what u mean by video channel, but I have modified the sample video code to stream my collection of movies to roku. It’s not the most elegent, but I am fine with it w/o having to code much.

“calicommando” wrote:
Forgive my ignorance of what’s involved on the programming side of this, but are we anywhere close to being able to launch a basic video channel? Even if we have to transcode any videos to an acceptable format for the Roku.

“buaboo” wrote:
I am not sure what u mean by video channel, but I have modified the sample video code to stream my collection of movies to roku. It’s not the most elegent, but I am fine with it w/o having to code much.

“calicommando” wrote:
Forgive my ignorance of what’s involved on the programming side of this, but are we anywhere close to being able to launch a basic video channel? Even if we have to transcode any videos to an acceptable format for the Roku.

That is what I mean. Do you have something that you’d be willing to share that is somewhat basic as far as being able to get it running.

The quick and dirty hack that I’ve used to get video working is as follows, though, it doesn’t currently integrate very nicely with this application:

  1. Convert Divx and or other movies to AAC with Handbrake using the “Ipod Legacy” preset.
  2. Setup (or use an existing) Apache server.
  3. Upload a slightly modified version of “simplevideoplayer” from the SDK by changing the urls to point to my Apache internal website file location.

Specifically, for example,

line 132 of appMain.brs would look something like this:
urls = [“http://192.168.15.3/file.mp4”]

where 192.168.15.3 is the Apache IP. and “file.mp4” is the name of the file you had encoded by handbrake.

  1. “make” simplevideoplayer and upload the simplevideoplayer.zip by pointing a web browser to the IP of the Roku server by entering development mode as described by the SDK.

So the idea would be to simplify this process and make it integrate with elwubo’s application and avoid having to constantly swap out the two apps and having to run an Apache server which I’m currently doing…
The good news is that the proof of concept has worked quite nicely and video can play quite nicely via the method described above…

Thanks jaredsubman for the initial research and crack at this. I’m starting in on adding support to the channel and server tonight. If all goes as planned we could have initial support sometime tomorrow night or Tuesday (that’s my goal.)

Handbrake seems like a great utility for doing the conversion and it’s convenient that the Ipod Legacy preset matches the Roku so well. Start converting now so you’ll have something to test when support is rolled out.

Now.. scrolling back through the forum:

buaboo:

Open another script in the /etc/init.d directory and make sure your script looks similar. Typically init.d scripts need to respond to a couple of arguments (start, stop, restart) and some distributions enforce a distro specific header. Make your script look like another script in init.d and you should be good to go.

DeftOne:

Yeah… you’ve discovered that little hack. I’m not sure if it’s a feature or a bug either. I guess it’s a feature in that I anticipated it. It’s a side-effect of how my song cycling logic works. I agree with your description of how song cycling should work and will revisit that logic at some point after video support.

Dellsweig:

I haven’t forgotten your directory depth problem. Still no progress on that front. I’ll try to get you something new to test soon.

All:

Thank you for your enthusiastic support and for sharing what you’ve learned. You all make this a lot of fun to work on.

“el.wubo” wrote:
Thanks jaredsubman for the initial research and crack at this. I’m starting in on adding support to the channel and server tonight. If all goes as planned we could have initial support sometime tomorrow night or Tuesday (that’s my goal.)

Handbrake seems like a great utility for doing the conversion and it’s convenient that the Ipod Legacy preset matches the Roku so well. Start converting now so you’ll have something to test when support is rolled out.

Now.. scrolling back through the forum:

buaboo:

Open another script in the /etc/init.d directory and make sure your script looks similar. Typically init.d scripts need to respond to a couple of arguments (start, stop, restart) and some distributions enforce a distro specific header. Make your script look like another script in init.d and you should be good to go.

DeftOne:

Yeah… you’ve discovered that little hack. I’m not sure if it’s a feature or a bug either. I guess it’s a feature in that I anticipated it. It’s a side-effect of how my song cycling logic works. I agree with your description of how song cycling should work and will revisit that logic at some point after video support.

Dellsweig:

I haven’t forgotten your directory depth problem. Still no progress on that front. I’ll try to get you something new to test soon.

All:

Thank you for your enthusiastic support and for sharing what you’ve learned. You all make this a lot of fun to work on.

Thank YOU!

Does anyone know a good decrypter that will work with a 64-bit OS? Handbrake won’t work alone will it? Also, if we rip for the iPod format, doesn’t that reduce the resolution? Is there not a better solution where we can maintain resolution and have the correct settings?

el.wubo - I finaly got it installed, and I must say congrats to you, umbighouse, and the others. I have been following you guys for a while on this endevor (from original thread). I am very impressed, as it worked great. I have a NAS with about 15 gis of music. It takes a while to access the folders, but thats becuase i have so many titles. I do like that you guys plan on adding a shuffle function, as i have a few songs in each folder, and have to bounce to another folder to listen to another song. NICELY DONE. I will stay tuned for new featuers.

-Ash

“el.wubo” wrote:
DeftOne:

Yeah… you’ve discovered that little hack. I’m not sure if it’s a feature or a bug either. I guess it’s a feature in that I anticipated it. It’s a side-effect of how my song cycling logic works. I agree with your description of how song cycling should work and will revisit that logic at some point after video support.
Good to know that it is intended behavior, or at the very least, not unexpected. If the playback behavior I described is not possible or prohibitively difficult to implement, I’ll certainly understand if the current logic is maintained. It’s definitely not a deal-breaker, since the channel overall is absolutely fantastic.

Keep up the good work, my friend. :slightly_smiling_face:

Ok, here are my video issues. I tried handbrake but didn’t have a decrypter. I thought maybe DVDFab’s decrypter would work with it, but it didn’t, so I had a jumbled mess of video. So I reripped, this time using DVDFab. I got a successful rip (unfortunately with closed captions), but the quality looks terrible on a 40" HDTV. Has anyone successfully ripped a quality video that would be suitable for playback on the Roku, keeping in mind that I have the 64-bit version of Vista?

New: Video Support

mainline: http://github.com/netguy204/roku_media_ … ves/master

partition branch: http://github.com/netguy204/roku_media_ … /partition

I’ve just updated the latest version of both the main and the partitioning branch with video support.

Make sure you re-install your channel from springboard after you download. Also make sure to kill any instances python still lingering around. You may have to go to the alt+ctrl+delete process’s tab to do this.

Here are the current requirements for getting your video to work:

  • video must be encoded in one of the supported mp4 encodings mentioned on page 37 of the Component Reference in the SDK documentation you’ve all downloaded (Handbrake’s Ipod setting with “Web Optimized” checked works.)

  • Files must end in m4v

  • Place files in your music folder. I may add an option later for separate audio and video folders.

What I have tested:

  • Handbrake encoded, ipod preset, web optimized

  • Fast forward, Rewind, and Pause

What I haven’t tested:

  • Videos longer than 30 minutes

  • Any other encoding settings

  • Lots of other stuff.

Known Issues:

  • Video takes a while to start. This can be improved by building more streaming smarts into the server.

  • No video metadata available in the list view (other than file name) – I need to find a good cross-platform library that lets me get this

  • No wmv support yet. Won’t be hard to add.

Let the bug reports begin!