Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Level 7

UPnP

It does not look like the Roku DVP on it's own can support UPnP.

It appears the calls from the Roku are entirely through HTTP protocol. So whatever solution is used the system must be able to receive http requests.

My personal opinion is that tying to a proprietary system like iTunes is not the way to go.

-Shlep'
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

Out of all of the developers here, how many are envisioning a cross-platform solution? If at all possible, please don't lock this down to Windows. :idea:
Roku 2 XS: Serial # 13A167000334
0 Kudos
Highlighted
Level 7

Open Platforms

"zwei" wrote:
Out of all of the developers here, how many are envisioning a cross-platform solution? If at all possible, please don't lock this down to Windows. :idea:


I agree on that one as well. I am strictly a Linux guy, but understand that not everybody is as mad as that. Representing the little guy on the block aside the other Justin Longs out there is important.

We aren't all as cool as the grand-master-hobo John Hodgman.

-Shlep'
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

Well I think someone with the php/sql chops needs to do is create a LAMP application in php or something, that will handle all the movie catalog/categories, and then dynamicly create XML files based on a central store for all your movie files.

Initially, you could have a php program, for instance, scan a specified directory, and create categories for all subdirectories, and then store all movie files names as the title of the movie. Store all this information in mysql (or another db of choice) and the n create a parser that will dynamicly create the XML files that corrispond to each category/ subdirectory of the main video share.

You then when ever you add content to your video share, you can re-run the file scanner, and it will update the DB (this could also be something that your just run every 12-24 hours) so you know that any *new* content added will be indexed within 12-24 hours.

Since all of this would be in LAMP you could easily use this on any platform - windows, linux, OSx etc ...

I would create a more robust DB schema, so people could manually add information to movie titles, like actual title, description, etc... In order to keep these entries from getting overidden, you would need a key identifier for each video file, maybe a combination of creation date and file size (that should be unique enough)...

Really not much needs to be done on the roku end except a simple interface where the user can enter the IP of the video server running LAMP. Everything else would be controlled by the Apache, PHP, mysql application, obviously very dependent on the video share Smiley Happy The inital page of the application will need a setup area, and then a video area, inside the video area will be all the categories (sub-directories, in the main scan), this would then ONLY pull the movie listings for each category, this should be a quicker process, as oppesed to d/l a xml file with EVERY movie in your library.

Some things to consider - would be scanning multiple deep sub-directories, so you could organize your videos better for example:

Video Share Root:
*TV
|--Showtime
|--HD
|--HBO
|--Fox
*Movies
|--Action
|--Adventure
|--Sci-Fi
*Personal
|--Birthdays
|--Wedding


Each category would be a different XML file, that will get dynamicly created based on the data in the sql db, from the indexing process...
Some categories would just have listing for other categories for instance from the above example, if you choose "Movies" on the Roku, you would be presented with the categories Action, Adventure, and Sci-Fi

Having all this stored in the DB would also allow you to use search. Take a look at how Amazon has their stuff setup in the Roku - it works quite well and I would use a similary approach...
Model: 2050X - wired
S/N: J0A07F000104
Location: St. Louis, MO
ISP: At&t 12Mb (primary) -- Charter 20Mb (secondary)
0 Kudos
Highlighted
Level 7

Local web server?

I'm not familiar with the SDK, but I'd say that requiring the user to set up a local webserver on the machine where they want to read media from is a only going to reach a very limited audience.

Is there any way to just point the channel at a networked file system and load the files directly? Perhaps when they add features for the (as yet unsupported) USB on the XR, the SDK will be extended to enable such a feature more easily.
0 Kudos
Highlighted
Level 7

Re: Local web server?

"daw3rd" wrote:
I'm not familiar with the SDK, but I'd say that requiring the user to set up a local webserver on the machine where they want to read media from is a only going to reach a very limited audience.

Is there any way to just point the channel at a networked file system and load the files directly? Perhaps when they add features for the (as yet unsupported) USB on the XR, the SDK will be extended to enable such a feature more easily.


You can only use HTTP. So your files we need to be accesible that way. Things don't need to be complicated though. I can access files via TVersity media server. TVersity is relatively straight forward.

I know MobileTribe (current channel) is working on supporting Orb.
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

But using LAMP it would be very straight forward. There are single file installations of Apache, Mysql, PHP for all Operating systems, then you would have a package that installs the PHP scripts into the root of the webserver. The first time you launch the website from a browser it would have you run through a quick setup routine to setup the db schema, and point the indexer to the video share. The idea is that you would not have to be a computer genius to install it.

And if the source code is released under Apache GPL then you could package the entire project (apache, Mysql, php, and videolibrary) in a single executable (as long all source code is provided.)

I may start to work on this over the next couple weeks, it should be straight forward, obviously the hard part is setting up the indexing script, and finding a way to keep track of all your video files, but creating the XML files that the roku can parse should be simple.
Model: 2050X - wired
S/N: J0A07F000104
Location: St. Louis, MO
ISP: At&t 12Mb (primary) -- Charter 20Mb (secondary)
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

"danstl" wrote:
Well I think someone with the php/sql chops needs to do is create a LAMP application in php or something, that will handle all the movie catalog/categories, and then dynamicly create XML files based on a central store for all your movie files.


There are already applications that can scan movie/TV files and pull relevant meta data for those movies/shows. One such app is Yet Another Movie Jukebox or YAMJ for short. It is designed to create HTML for another media streamer (NMT platforms), but you could parse the XML data files or create xml templates specific for the Roku. It doesn't have a webserver built in, but it would be a pretty good backend for the scanning/categorizing or content.
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

I've successfully streamed a video encoded with Handbrake and streamed using TVersity.

I don't really have enough skills to do much beyond what I've done. All I really did was get the direct link to the file and paste into the SimpleVideoPlayer example (replacing the TED example video url).

What I don't know how to do is parse XML to get my videos to show up in a list. TVersity already creates XMLs for categories, videos, etc.
0 Kudos
Highlighted
Level 7

Re: Local web server?

"daw3rd" wrote:
I'm not familiar with the SDK, but I'd say that requiring the user to set up a local webserver on the machine where they want to read media from is a only going to reach a very limited audience.

Is there any way to just point the channel at a networked file system and load the files directly? Perhaps when they add features for the (as yet unsupported) USB on the XR, the SDK will be extended to enable such a feature more easily.


No. The player needs a bunch of information about the content before it can play it, and to play the files themselves it needs a http server that can handle the Byte-Range request header. So you can't do anything without a local webserver of some kind.

I also don't think that most people's video collections will play properly on the Roku -- it appears to be very finicky about the format used (ie. my problems with it rebuffering every 2 minutes after playing fine for an hour).

The MythTV project might be a good direction to look for a stable server. Writing a Roku plugin for it shouldn't be a huge amount of effort and it has a large support community.
0 Kudos