Stream your own media?

Does anybody know if there is channel in the works that would allow us to stream from a windows or samba share?

Several of us are working on home streaming solutions. But you aren’t going to find one that streams from a file share. The Roku SDK requires a HTTP server that recognizes the Byte-Range header so you are going to need a server app of some kind.

Also, the player is a bit picky about what formats it will play. What you have may or may not work with the player.

Do .avi and .mp3 (or unprotected aac files) work?

.avi does not work. Roku only supports h264 mpeg4 (mp4,m4v,mov) and VC-1 (.wmv).

Mp3’s work fine. Roku supports mp3 and wma.

I have successfully converted AVI files to MP4 files useing ffmpeg and gotten them to stream fine.

The AVI quality was not spectacular to begin with, and I don’t think I did it any favors converting it again. But it wasn’t any worse than it would have been to begin with.

I have also successfully streamed YouTube videos that were downloaded as MP4 files. I have not yet gotten a direct link to YouTube bookmarked videos to stream (ok I haven’t tried yet).

-Shlep’

Streaming from an http server rather than a share actually sounds better!

With the use of open source software like ffmpeg you would be able to convert most popular media formats and you could use thttpd as the server to stream the media, and yes thttpd does support “Byte-Range” headers.

http://acme.com/software/thttpd/
http://ffmpeg.org/
http://en.wikipedia.org/wiki/Thttpd

“w1ndy” wrote:
Streaming from an http server rather than a share actually sounds better!

With the use of open source software like ffmpeg you would be able to convert most popular media formats and you could use thttpd as the server to stream the media, and yes thttpd does support “Byte-Range” headers.

http://acme.com/software/thttpd/
http://ffmpeg.org/
http://en.wikipedia.org/wiki/Thttpd

Why run a server for the client when you could just mount the share?

Does anyone know if the box can support UPnP, I assume not.

Matt,

Does anyone know if the box can support UPnP, I assume not.
your assumption is right. There’s no UPnP(-AV) support in the firmware, and IMO it’s unlikely that it will be added because the DVP’s memory is very limited.

Greetings
dupondt

It seems to have the same abount of memory as the older Roku DVP. The latter had 64MB of DRAM (and 16MB of internal flash for the firmware) and worked great with UPnP and could mount network shares and such untill the cows came home. however, that FLASH RAM was shared between the system and video and I don’t know how the N-Series does it. However, some of the larger apps needed more DRAM and could bog the system down so the REV-B version (with 128MB verse 64MB)came out. The work around was a swap file. The Roku-XR has a USB port, would be need to use a flash drive for a swap file.

Let me check the specs on the N-Series and see if the DRAM is shared between the system and video.

“dupondt” wrote:
Matt,

Does anyone know if the box can support UPnP, I assume not.
your assumption is right. There’s no UPnP(-AV) support in the firmware, and IMO it’s unlikely that it will be added because the DVP’s memory is very limited.

Greetings
dupondt

“Burkhardi” wrote:

Why run a server for the client when you could just mount the share?

Because you can’t mount a share. :?

The other problem is that there is a wide range of formats that people already have their media stored in, and it is stored on a wide range of devices and operating systems.

Ideally what I want to come up with is a Python based application that handles serving up the content and allowing the user to manage the feeds via a web interface.

Matt,

here’s what RokuTaylor stated in this thread:

“There is very little memory on the board. Just enough to buffer a few minutes of video if your bandwidth gets congested temporarily. Just enough flash memory for the software.”

I don’t think that you can compare the old HD1000 with the new DVP as the concepts and the designs are completely different. Furthermore for safety reasons the N1000’s flash memory is divided into two partitions. The DRAM is only used for buffering.

Adding SMB/CIFS and/or LIBUPNP might thus be difficult if not impossible.

Greetings
dupondt

well since i’m using freenas that has a webserver service, i’m assuming i can access the media on my drive if it’s compatible/if i have a web address for it? how would i go about doing this? is there a way to do it in the firmware as is, or has someone developed a private app? are there any private apps other than the porn app right now?

As long as you have a http url for the file, you can play it through the Roku (if it’s in the correct format).

Yes, but how would I go about doing that?

Please see the simplevideoplayer example app for the minimum app required to stream video from a URL on the Roku box.

Please see the videoplayer example app for a more realistic channel that would organize your content into a feed that could be processed by an app on the Roku box.

With a little programming on your web server and some modifications to the videoplayer example app, you could organize your content in a direcory on your web server and auto-generate a feed for this content that your Roku channel understands.

wow i’m surprised i eventually figured it out. i’m now streaming a video from my nas just by putting in the ip of my nas and the video file. if only the file support wasn’t so limited (most of my collection is vob/avi). well hopefully shared file access and/or greater file support will be added by roku/developer sometime soon (and some type of internet video/network tv show aggregator/hulu,clicker,channels.com,etc would be awesome). i would love to be able to stick to roku vs having to buy popbox/boxee.

“shshchch” wrote:
wow i’m surprised i eventually figured it out. i’m now streaming a video from my nas just by putting in the ip of my nas and the video file. if only the file support wasn’t so limited (most of my collection is vob/avi). well hopefully shared file access and/or greater file support will be added by roku/developer sometime soon (and some type of internet video/network tv show aggregator/hulu,clicker,channels.com,etc would be awesome). i would love to be able to stick to roku vs having to buy popbox/boxee.

No doubt about that… if their video player would play all kinds of formats like VLC does…wow…there would be no stopping this thing. You’d think they could snag some of the codecs from VLC since it is open source and has a Linux version, but I’m not sure of the legalities of that.

Does anyone have the correct parameters for ffmpeg or mencoder to transcode into an optimal Roku stream?

It’d be really nice if someone wrote a tutorial for this.

Brunson,

Here’s what I’m doing to make a stream that works on the Roku (and doesn’t start rebuffering after an hour). I’m pulling from a single VOB file ripped from a DVD.

ffmpeg -i INPUT.vob -vn -acodec copy INPUT.ac3

BeSweet.exe -core( -input "INPUT.ac3" -output "INPUT.wav" -2ch ) -azid( -n1 -c normal -L -3db --maximize ) -profile( ~~~~~ Default Profile ~~~~~ )

del INPUT.ac3

ffmpeg -i INPUT.vob -i INPUT.wav -map 0:0 -map 1:0 -acodec aac -ab 160k -ac 2 -vcodec libx264 -vpre normal -crf 21 -threads 0 -s 720x480 -t 1:39:39 -aspect 4:3 -r 29.97 OUTPUT.mp4

del INPUT.wav

The rebuffering issue appears to be tied to something that happens during the transcoding of the ac3 stream into aac. The only thing that I’ve found that works reliably to overcome the rebuffering issue is to move the audio to an interim format (wav in this case).

The first step splits the ac3 stream from the VOB file into it’s own file. The second step (using BeSweet) does a downmix from 5.1 to a stereo wav. I then use the original VOB file as the source for the video and the newly created wav as the source for the audio. I’m also doing cleanup along the way (deleting the ac3 and wav files when they’re no longer needed). You’ll need to adjust the size (-s), duration (-t), aspect ratio (-aspect) and framerate (-r) values to match those of your source video. I’ve been shaving a second or so off the end of the videos too. I thought this was necessary at one time, but I’m not sure it actually is. I haven’t been willing to spend the encoding time to test and verify yet.

If anybody tries this, please post back and let me know if it works for you.