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

Re: Organized Local Streaming Development?

Hi,
I tried the procedure to publish a TVersity generated feed xml file in droptbox but when I try to add to my MediaFly rss feeds I get the error "object reference not set to an instance of an object".
I saw in this thread that somebody else got this error and eventually fixed it but there are no details about how he did it.
If somebody has experienced this issue and know how to fix it I would appreciate your feedback.
Thanks,
Roberto
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

"fernandezbr" wrote:
Hi,
I tried the procedure to publish a TVersity generated feed xml file in droptbox but when I try to add to my MediaFly rss feeds I get the error "object reference not set to an instance of an object".
I saw in this thread that somebody else got this error and eventually fixed it but there are no details about how he did it.
If somebody has experienced this issue and know how to fix it I would appreciate your feedback.
Thanks,
Roberto


I was having issues as well. I ended up creating whole new feeds using http://www.cdnone.com/

It's a bit tedious though.
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

So I am now just modifying the Video Player app instead. I'm just going to modify the XML files. That seems like a better solution than relying on Mediafly.
0 Kudos
Highlighted
Level 7

TVersity Channel

Note that all of the following is highly experimental and will not work for everyone with every type of media. I won't be providing any support for this, and, if no one can provide any assistance for making it better, I won't be making any updates. With that said, here is the meat of the post...

Hello all. I put together a TVersity channel for the Roku DVP and a Roku DVP profile entry for the TVersity Media Server. You can download the channel here:

http://rapidshare.com/files/333440990/tversityplayer.zip.html

Edit: An updated version is available a few posts down

And the profile entry will be included at the bottom of this post. You add this profile entry to the profile list element inside of the profiles.xml file. Mine was located at C:\Users\[Username]\AppData\Local\TVersity\Media Server\profiles.xml

Edit: You will need to restart sharing in TVersity after you make the change to profiles.xml. You can review the status screen in the TVersity gui to confirm that your device appears as "Roku HD PVR." Also note that you will likely have to attempt to connect to TVersity with your device before it will be recognized.

Edit 2: This profile >>> DOES NOT WORK <<<. I'm merely leaving it up so someone can use it as a point of reference to hopefully resolve the issue.

You will also have to make a change to the appMain.brs file in the sources folder in the channel zip. Lines 31 and 32 describe the location for TVersity's RSS feed. Update the IP and port for your TVersity config at line 31. Unless you are running an old version of TVersity, you shouldn't have to update line 32.

You can find how to install the zip in one of the documents in the dev kit (I don't recall which one).

Note in the profile that I have commented out all of the ASF/WMV mimetypes/codecs. I was unable to get any of these to work in WMP, much less on the Roku. I got all the mimetype/codec values from Roku Component Reference.

Also note that in the channel I have hardcoded the stream format as mp4, the bitrate as 1500, and the quality as SD. Also, the organizational structure of navigating through all the feeds needs to be spruced up, but I haven't had it break in the last few revisions.

I have had success with alot of mp4 and avi (mostly xvid/divx) files. I also had one mkv file work (it was one of only two that I had lying around). I don't really have any videos of other formats to test with. It seems like most of the ones that work were lower resolution videos, and the ones that don't are higher.

I don't have any hard numbers as I haven't had a whole lot of time for testing, and it looks like I'll have a lot less going into the future. Which is why I'm posting it in this state, in hopes of someone taking it and running with it.

I'm sure there is a lot of info I'm leaving out, but I've been working on this for a couple of days and may have forgotten to mention it.

I'll try to check in one day this week to answer any questions that are directly related to the programming (again, I don't really think I'll have the time to provide any user support).

Good luck, and I hope someone makes good use of it.


<profile id="ec5b1100-0000-1100-1101-ec5b314a1101"><!-- Roku HD DVP (N1100/N1101) -->
<friendlyName>Roku HD DVP</friendlyName>
<manufacturerName>Roku</manufacturerName>
<modelName>N1100/N1101</modelName>

<HTTPHeader inUASubstr="Roku/DVP" />
<deviceDescription name="UPNP_AV_MediaServer_1.0.default.xml" />
<contentDirectory shortUrl="true" friendlyFilename="true" />
<!--
<transcodeTarget audio="audio/x-ms-wma" video="application/x-ms-asf" photo="image/jpeg"
onlineAudio="audio/x-ms-wma" onlineVideo="application/x-ms-asf" onlinePhoto="image/jpeg" />
-->
<transcodeTarget audio="audio/aac" video="video/mp4" photo="image/jpeg"
onlineAudio="audio/aac" onlineVideo="video/mp4" onlinePhoto="image/jpeg" />
<maxVideoInfo width="1280" height="720" bitrate="20000000" fps="30"></maxVideoInfo>
<minVideoInfo width="0" height="0" bitrate="0" fps="0"></minVideoInfo>
<maxImageInfo width="1280" height="720"></maxImageInfo>
<minImageInfo width="0" height="0"></minImageInfo>
<maxAudioInfo sampleRate="48000" bitsperSample="16" nchannels="6" bitrate="1536000"></maxAudioInfo>
<minAudioInfo sampleRate="8000" bitsperSample="8" nchannels="1" bitrate="32000"></minAudioInfo>
<fileInfo maxVideoSize="4294967295" maxAudioSize="2147483647" />

<mimetypeList>
<!--
<mimetype value="audio/x-ms-wma">
<codec name="WMAV2"/>
</mimetype>
<mimetype value="application/x-ms-asf">
<codec name="WMAV2"/>
<codec name="WMV3"/>
<codec name="WVC1"/>
</mimetype>
-->
<mimetype value="video/mp4">
<!--<codec name="H263"/>-->
<codec name="H264"/>
<codec name="AAC"/>
<codec name="MPEG4AAC"/>
</mimetype>
<mimetype value="video/MP4V-ES" rename="video/mp4" />
</mimetypeList>
</profile>
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

Hey tor1100a,

Thanks for doing this. Quick question. I added the profile info to the profiles.xml.

In TVersity, do I keep it as "Auto Detect"?
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

Oh well. I can't seem to get it to work. It loads the XMLs from TVersity and creates the categories but I can't get it to play anything. It loads the video player and goes to the screen -- but it just stays at retrieving -- the buffer never moves (always 0%).

There's no indication from the debugger that anything is happening.

TVersity isn't reporting any status activity (it does recognize the Roku is connected.)
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

To answer your first post, I leave the media playback device set as auto detect. I'm not certain, but I imagine that setting only applies unrecognized devices.

So your device is being recognized as a "Roku HD PVR" inside of TVersity? Or is is still showing as "Device"?

Something I forgot to mention in my previous post, you have to restart sharing with TVersity after adding the profile to the xml. You can check if your device is being recognized properly by looking at devices in the status screen in the TVersity GUI.

I was getting the blank loading screen with 0 progress whenever I wasn't getting TVersity to properly transcode. Once I got TVersity to transcode the files to the right format, the progress bar will at least partially fill before it gets stuck.

Something I would suggest for testing would be to encode a small file into a format that will play in the sample simple player. Then disable the transcoder in TVersity (you might also have to disable it in the advanced settings of the share in your library) and then load that file with the TVersity channel.

Also, I didn't add any prints to the details screen code, so you may be able to add some debugging info to confirm the feed that is being loaded has an mp4 extension.
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

Oh, and something else that I did when I was testing was to change the line in the profile that was

<HTTPHeader inUASubstr="Roku/DVP" /> 


and changed it to

<HTTPHeader inUASubstr="Roku/DVP|Firefox" /> 


That way I could navigate TVersity's RSS feed with Firefox and test the transcoding by saving small streamed files with VLC and then running the output through a couple of different tools.
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

I know you said you weren't going to support this, so I appreciate you even responding. Smiley Happy

If I were to add a print statement to the scripts to determine if it's getting the right url for the video file, where would I add that?
0 Kudos
Highlighted
Level 7

Re: Organized Local Streaming Development?

I think that's what it might be -- that's it's not grabbing the right url from the enclosure.

If I play one of the videos from mediafly that links to my computer via mediafly -- I can see in the TVersity status window that the video is streaming (even shows it's coming from the Roku device)

I don't see anything in the status messages when I try to play through the tversity channel. I wish I understood brightscript better.
0 Kudos