DLNA CHANNEL

Moderators: RokuDouglas, RokuShawnS, RokuRyan, RokuJamesL, RokuKen

DLNA CHANNEL

Postby smlsr » Wed Nov 03, 2010 10:57 am

Ok.

Im starting this new thread to get a discussion going as to DLNA and the ROKU. This is basically in response to the ROKU decision to remove the PLAYON Channel.

Now. we can all asssume this was done at the request of HULU, pressuring ROKU so ROKU can have access to HULU Plus.

Now, while I have the inner DLNA components working in Brightscript, Im still learning the interface, so going to be next week sometime for my initial availability. I also do not know how long it takes say to publish a private channel and so forth. So with all that, folks out there may no better as to how long that takes.

So the big question is, since publishing a DLNA Channel, which will be able to access any DLNA DMS, which includes the likes of not only NAS's, Windows 7, etc but also Apps like PlayOn, I would like to hear from the community (and hopefully someone from ROKU has stayed 100% out of all the Playon Discussions) their view on this. As HULU, ESPN, and a slew of other feeds will be playable again. Does ROKU now say this is not possible to be allowed anymore? Is this just a wasted effort?

Also, if anyone has a GOOD EXAMPLE of a nice interface for Folder/item Browsing, where I can see just that source, would extremely helpful in getting my project completed for testing.

Shawn
smlsr
 
Posts: 162
Joined: Tue Nov 02, 2010 8:45 am

Re: DLNA CHANNEL

Postby smlsr » Wed Nov 03, 2010 11:16 am

** This post is in response to the questions asked on the PLAYON ALTERNATIVES THREAD **

In regards to the limited support for media types. Yes saw that 2 weeks when I started. So basically what the DLNA solution is:

(1) DLNA PROXY - the DLNA is an app which sits on the network and looks to all other DLNA Devices as a DMP. (Player). It has built in transcoding, as well ability to PUBLISH specific DLNA DMS it sees to not just say a ROKU, but to a friend 1000 miles away over the internet. So for example, I right click on an ICON which represent one of my Windows 7 boxes, I select Publish, and select the endpoint I want to publish too. (this could be "Jimmy in California", or this could simply be my ROKU in my bedroom)

(2) The DLNA Channel can connect to any PROXY server to which I have been published. So If "Jimmy" published a server on his network to me, it appears in my initial list of "folders", I select JIMMY, and whatever servers he has published to me, i have full DLNA access too.

(3) same as #2, if I publish my Windows 7 box, to my local ROKU, My PROXY shows up in that initial list, by selecting that FOLDER, i then start browsing DLNA style of my Windows 7 box.

(4) Transcoding and proxying of Media is all handled within the Proxy. Re-writes of all DLNA headers, URLS, etc are mapped and re-written to reference the PROXY, so this conforms to the current discussions in place for DLNA Proxying.

Hopefully that answered the questions.
smlsr
 
Posts: 162
Joined: Tue Nov 02, 2010 8:45 am

Re: DLNA CHANNEL

Postby TheEndless » Wed Nov 03, 2010 11:18 am

smlsr wrote:Now, while I have the inner DLNA components working in Brightscript, Im still learning the interface, so going to be next week sometime for my initial availability. I also do not know how long it takes say to publish a private channel and so forth. So with all that, folks out there may no better as to how long that takes.

Private channels are available immediately upon publishing. Public channels have to go through an approval process. I'd love to know how you've got DLNA working in Brightscript, when it doesn't expose any discovery functionality. If you have it so the user will have to enter the IP address and port of the server, then it's not true DLNA, but might serve the purpose well enough until Roku makes the necessary components available via the SDK.

smlsr wrote:So the big question is, since publishing a DLNA Channel, which will be able to access any DLNA DMS, which includes the likes of not only NAS's, Windows 7, etc but also Apps like PlayOn, I would like to hear from the community (and hopefully someone from ROKU has stayed 100% out of all the Playon Discussions) their view on this. As HULU, ESPN, and a slew of other feeds will be playable again. Does ROKU now say this is not possible to be allowed anymore? Is this just a wasted effort?

The PlayOn issue has been discussed to death, so I don't think we need to get into that any further, but the main issue with the PlayOn channel was that it was developed to specifically talk to one product with known content publication (for lack of a better word). DLNA is a generic interface that has no specific relationship to the content being delivered, so there is no issue there. If you were to add server specific features to the channel, then it could introduce some complications, but keeping it generic should be fine. I believe Roku indicated the same when they notified the PlayOn channel developers of its removal.

smlsr wrote:Also, if anyone has a GOOD EXAMPLE of a nice interface for Folder/item Browsing, where I can see just that source, would extremely helpful in getting my project completed for testing.

The SDK has a number of examples of standard Roku interfaces. The filebrowser example provides a more specific example of a folder browsing interface.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), MainSqueeze (MAINSQUEEZE), iTunes Podcasts (ITPC), Justin.tv (JUSTINTV), My Channels (MYCHANNELS)
User avatar
TheEndless
** Valued Community Member **
 
Posts: 7927
Joined: Mon Oct 04, 2004 10:15 am
Location: US

Re: DLNA CHANNEL

Postby smlsr » Wed Nov 03, 2010 11:46 am

TheEndless wrote:Private channels are available immediately upon publishing. Public channels have to go through an approval process. I'd love to know how you've got DLNA working in Brightscript, when it doesn't expose any discovery functionality. If you have it so the user will have to enter the IP address and port of the server, then it's not true DLNA, but might serve the purpose well enough until Roku makes the necessary components available via the SDK.


Didnt want the user to have to enter anything, though Im looking to see if I can add the option in the interface somehow...KISS has always seemed to work best...
smlsr
 
Posts: 162
Joined: Tue Nov 02, 2010 8:45 am

Re: DLNA CHANNEL

Postby TheEndless » Wed Nov 03, 2010 11:52 am

smlsr wrote:
TheEndless wrote:Private channels are available immediately upon publishing. Public channels have to go through an approval process. I'd love to know how you've got DLNA working in Brightscript, when it doesn't expose any discovery functionality. If you have it so the user will have to enter the IP address and port of the server, then it's not true DLNA, but might serve the purpose well enough until Roku makes the necessary components available via the SDK.


Didnt want the user to have to enter anything, though Im looking to see if I can add the option in the interface somehow...KISS has always seemed to work best...

One major hurdle you'll run into if you want to do auto-discovery... not only does the Roku SDK not provide a component that allows broadcasts, it also doesn't expose any network information about the Roku, so you can't even get a subnet to scan. If I'm not mistaken, the PlayOn channel was able to utilize some sort of registration/check-in feature of PlayOn server and playon.tv to do it, but there's nothing like that available in the DLNA spec, let alone a central server to query.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), MainSqueeze (MAINSQUEEZE), iTunes Podcasts (ITPC), Justin.tv (JUSTINTV), My Channels (MYCHANNELS)
User avatar
TheEndless
** Valued Community Member **
 
Posts: 7927
Joined: Mon Oct 04, 2004 10:15 am
Location: US

Re: DLNA CHANNEL

Postby smlsr » Wed Nov 03, 2010 12:13 pm

TheEndless wrote:
smlsr wrote:
TheEndless wrote:Private channels are available immediately upon publishing. Public channels have to go through an approval process. I'd love to know how you've got DLNA working in Brightscript, when it doesn't expose any discovery functionality. If you have it so the user will have to enter the IP address and port of the server, then it's not true DLNA, but might serve the purpose well enough until Roku makes the necessary components available via the SDK.


Didnt want the user to have to enter anything, though Im looking to see if I can add the option in the interface somehow...KISS has always seemed to work best...

One major hurdle you'll run into if you want to do auto-discovery... not only does the Roku SDK not provide a component that allows broadcasts, it also doesn't expose any network information about the Roku, so you can't even get a subnet to scan. If I'm not mistaken, the PlayOn channel was able to utilize some sort of registration/check-in feature of PlayOn server and playon.tv to do it, but there's nothing like that available in the DLNA spec, let alone a central server to query.


Oh not true.....

Process is pretty simple. ROKU broadcasts itself using SSDP (UDP), though not a DLNA compliant broadcast, it DOES broadcast. Just tweaked our proxy to accept those "broadcasts".... and search for "ROKU"'s

From the receipt of that packet, we get the MAC :)

When the proxy is getting responses it posts it into "the cloud" so to speak. (MAC, LocalNetwork, ExternalIP is detected, Serial#, etc)

Now the issue their was the fact the ROKU doesnt accept any broadcasts, so their is no way to dynamically notify the ROKU of anything at all. But the first time (or each time I should say) (and this what Im working now in Brightscript - i see some doc for storing registry information) if it does not have a default PROXY IP to connect too, it will connected to the cloud, "asking - hey - whats my Proxies IP address I need to connect for default". If it returns nothing, then that means nothing has been published to that ROKU player, BUT - we look at the NAT IP address we received that request from, and IF a proxy has talked to our cloud with that IP address, then we have a "default match", and provide that information back to the ROKU.

One other alternative for more PNP type work, is have the PROXY publish a mapped port to your GATEWAY router, say port 5050. So any requests on TCP to the EXTERNAL IP ADDRESS on port 5050 get mapped to the PROXY (and yes this is easy to do in code so user does nothing), then the ROKU would only need to:

1. (in code on channel startup detect its external IP - this is easy)
2. Then just connect to that IP:port 5050

Currenltly use everything from iPhone, Droid, WD, GoogleTV, etc to connect to this and all working perfect :) so its just finding the easiest way to get the ROKU to work "naturally"
smlsr
 
Posts: 162
Joined: Tue Nov 02, 2010 8:45 am

Re: DLNA CHANNEL

Postby RoadRanger » Wed Nov 03, 2010 12:27 pm

Very cool - I'd love to be able to access TVersity for on-the-fly transcoding of my local content. However I think you'd have a cpu overload problem with running both the DLNA server and your DLNA client that "talks" to the Roku channel on the same PC?

If you are serious about this and not just trying to cause trouble I'd not mention nor support any banned servers here on this forum (maybe not too late to go back and edit your posts?). If it happens to support such by its nature so be it but if you tout that "feature" here I'd expect your channel and your access to thus forum to be flushed - a little common sense and courtesy go a long way, eh? :)
Roku Digital Video Player links:
http://tech.groups.yahoo.com/group/RokuDigitalVideoPlayer/links
Private Channel Database:
http://tech.groups.yahoo.com/group/RokuDigitalVideoPlayer/database
RoadRanger
 
Posts: 271
Joined: Wed Jun 23, 2010 4:24 pm

Re: DLNA CHANNEL

Postby smlsr » Wed Nov 03, 2010 12:37 pm

RoadRanger wrote:Very cool - I'd love to be able to access TVersity for on-the-fly transcoding of my local content. However I think you'd have a cpu overload problem with running both the DLNA server and your DLNA client that "talks" to the Roku channel on the same PC?

If you are serious about this and not just trying to cause trouble I'd not mention nor support any banned servers here on this forum (maybe not too late to go back and edit your posts?). If it happens to support such by its nature so be it but if you tout that "feature" here I'd expect your channel and your access to thus forum to be flushed - a little common sense and courtesy go a long way, eh? :)



The "on-the-fly" transcoding in the Proxy uses minimal CPU resources... (though that is all relevant to what CPU have)

Additionally, since most content these days is already in FLV or MP4 (H264) no transcoding is needed, just "repackaging"....

As for supporting or NOT supporting "specific servers". The goal is to support ALL that is DLNA. We dont care, and we will not discriminate one way or the other. As I dont think what ROKU has done is CORRECT AT ALL, and have made that known, the intent is to make DLNA servers accessible to ROKU.. WHATEVER thay may be. What a user decides to do is inherently at their risk.

And if ROKU in fact wants to "banish me" for having an opinion, well I guess I could always OPEN SOURCE the channel and let everyone have the source. Courtesy does not mean you must accept what the vendor does or says as gospel. if we did that, then we would not have 90% of what the USA is today (if not the world)....

Nahh, and I would not attempt to make a name by saying we support PLAYON because ROKU has banished them, that would be caddy. I see enabling a solution for DLNA NOW as important though, and providing the ROKU interface to it, is turning out to be easy for the most part, as the PROXY was a "work in progress" prior to this.
smlsr
 
Posts: 162
Joined: Tue Nov 02, 2010 8:45 am

Re: DLNA CHANNEL

Postby TheEndless » Wed Nov 03, 2010 12:53 pm

smlsr wrote:Oh not true.....

Process is pretty simple. ROKU broadcasts itself using SSDP (UDP), though not a DLNA compliant broadcast, it DOES broadcast. Just tweaked our proxy to accept those "broadcasts".... and search for "ROKU"'s

From the receipt of that packet, we get the MAC :)

When the proxy is getting responses it posts it into "the cloud" so to speak. (MAC, LocalNetwork, ExternalIP is detected, Serial#, etc)

Now the issue their was the fact the ROKU doesnt accept any broadcasts, so their is no way to dynamically notify the ROKU of anything at all. But the first time (or each time I should say) (and this what Im working now in Brightscript - i see some doc for storing registry information) if it does not have a default PROXY IP to connect too, it will connected to the cloud, "asking - hey - whats my Proxies IP address I need to connect for default". If it returns nothing, then that means nothing has been published to that ROKU player, BUT - we look at the NAT IP address we received that request from, and IF a proxy has talked to our cloud with that IP address, then we have a "default match", and provide that information back to the ROKU.

One other alternative for more PNP type work, is have the PROXY publish a mapped port to your GATEWAY router, say port 5050. So any requests on TCP to the EXTERNAL IP ADDRESS on port 5050 get mapped to the PROXY (and yes this is easy to do in code so user does nothing), then the ROKU would only need to:

1. (in code on channel startup detect its external IP - this is easy)
2. Then just connect to that IP:port 5050

Currenltly use everything from iPhone, Droid, WD, GoogleTV, etc to connect to this and all working perfect :) so its just finding the easiest way to get the ROKU to work "naturally"

Ok, so let the Roku advertise itself as a client, instead of the other way around.. interesting (the SSDP broadcast is brand new in 2.7, btw). I'm not sure I care for the idea of suggesting users open ports to the internet, though. Unless your proxy is rock solid security-wise, that could open up all kinds of security holes, especially if you're also recording IP addresses somewhere "in the cloud", essentially providing a directory for hackers... :P

Overall, it doesn't sound like you're actually working on a DLNA channel, but rather a "DLNA Proxy" channel that knows how to talk to your specific server/proxy, that in turn knows how to provide the DLNA connection points. Am I interpreting that correctly? Very interesting idea...
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), MainSqueeze (MAINSQUEEZE), iTunes Podcasts (ITPC), Justin.tv (JUSTINTV), My Channels (MYCHANNELS)
User avatar
TheEndless
** Valued Community Member **
 
Posts: 7927
Joined: Mon Oct 04, 2004 10:15 am
Location: US

Re: DLNA CHANNEL

Postby smlsr » Wed Nov 03, 2010 1:04 pm

TheEndless wrote:Ok, so let the Roku advertise itself as a client, instead of the other way around.. interesting (the SSDP broadcast is brand new in 2.7, btw). I'm not sure I care for the idea of suggesting users open ports to the internet, though. Unless your proxy is rock solid security-wise, that could open up all kinds of security holes, especially if you're also recording IP addresses somewhere "in the cloud", essentially providing a directory for hackers... :P

Overall, it doesn't sound like you're actually working on a DLNA channel, but rather a "DLNA Proxy" channel that knows how to talk to your specific server/proxy, that in turn knows how to provide the DLNA connection points. Am I interpreting that correctly? Very interesting idea...



From all that I see, ROKU does not accept any inbound advertisements, so it cant by itself act as a client, it needs to "know" a 1st step to browse... Here in lies the need for a default proxy to connect too. (I agree about the opening of ports!!)

As too being a DLNA Proxy channel, would agree, though not just limited to our server. We're keeping it tighly coupled to the "offical talks" of a DLNA Proxy spec, though nothing is concrete, just plunging forward so to speak.

We may add some custom DIDL-LITE stuff to the messaging though...
smlsr
 
Posts: 162
Joined: Tue Nov 02, 2010 8:45 am

Re: DLNA CHANNEL

Postby smlsr » Wed Nov 03, 2010 2:20 pm

Dont know anyone at ROKU, so just made a post in the "General Enhancements" to add two items:

1. Include the active app in the SSDP announcement (so another app can see if say a DLNA player app is active)
2. Allow an extension to the ExternalControl, to allow sending an xml string to the active app as an event...

Those 2 additions, would then enable full DLNA-like capability. But for now, still can do with the way I described above..
smlsr
 
Posts: 162
Joined: Tue Nov 02, 2010 8:45 am

Re: DLNA CHANNEL

Postby TheEndless » Wed Nov 03, 2010 2:32 pm

smlsr wrote:Dont know anyone at ROKU, so just made a post in the "General Enhancements" to add two items:

1. Include the active app in the SSDP announcement (so another app can see if say a DLNA player app is active)
2. Allow an extension to the ExternalControl, to allow sending an xml string to the active app as an event...

Those 2 additions, would then enable full DLNA-like capability. But for now, still can do with the way I described above..

You don't need to know anyone at Roku... but I would suggest you post that in the developer's forum, as you much more likely to get a direct response.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), MainSqueeze (MAINSQUEEZE), iTunes Podcasts (ITPC), Justin.tv (JUSTINTV), My Channels (MYCHANNELS)
User avatar
TheEndless
** Valued Community Member **
 
Posts: 7927
Joined: Mon Oct 04, 2004 10:15 am
Location: US

Re: DLNA CHANNEL

Postby Apocalypse Sticks » Tue Nov 16, 2010 11:50 am

Any updates on this project? Looking forward to it.
Apocalypse Sticks
 
Posts: 16
Joined: Mon Jul 12, 2010 4:22 pm

Re: DLNA CHANNEL

Postby socantra » Fri Sep 16, 2011 1:39 pm

jeduffey wrote:Any status update on Roku native DLNA support?

No.
Please attempt to maintain a thin veneer of civility.
Remember, you are speaking to strangers on the internet,
not your own family at home.
socantra
 
Posts: 1129
Joined: Sun Mar 13, 2011 10:11 am


Return to Roku Streaming Player General Discussion

Who is online

Users browsing this forum: scyber and 15 guests