Thanks to excellent work by wmcbrine (see this thread) it was discovered that since the 9.4 software update and YouTube support, video streaming now works to Series 3 Tivos. I have built a Java based HME video streaming server which can serve up video files on your computer to your Series 3 Tivos. Note that this is different than the traditional TTCB servers which copy (and transcode to mpeg2 if needed) files to your Tivo. Some advantages of streaming over TTCB:
* No copy is made on the Tivo, so you don't have to worry about deleting it after watching
* For mpeg4/h.264 videos you can watch them in their native format without having to transcode to mpeg2 on the fly as Tivo Desktop (or other TTCB applications) currently does.
* Since the HME server is in complete control of remote control functions it's possible to define further navigation options than is possible with normal Tivo video playback such as arbitrary skip n minutes back or forwards and other interesting ideas.

Can this co-exist with pyTivo on a WinXP box, with both of them running?

Haven't tried yet but don't see why not. pyTivo I believe uses port 9032 by default (but you can change that in the config). This application uses port 7288 (the default port for HME applications). I do run pyTivo once in a while (in console mode) so I can try it tonight, but I fully expect it to have no conflicts.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. | To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

But on the flip side this means that if you say, drop to Live TV while watching the stream, you'll have to start it over again, right?

Yes. There are some down sides too. This brings up a limitation I am trying to overcome that currently you cannot jump ahead of the buffer. For a true file stream of course you can jump arbitrarily anywhere into the stream regardless of the buffer. For this case, especially since this app is designed to stream a local file there should be a way to get the byte offset into the file associated with the specified time offset and then start the stream from that offset. It's on my to do list to look at but on the surface doesn't sound impossible.
Once/if I can fix the above limitation, then at least if you stop watching and later want to continue then you can jump back to where you were (and I could implement some bookmarking to remember last position of recent files).

Extending the above thought further, one could potentially also skip commercials automatically during playback by pre-processing the file and building a boomark list of the commercial segments which could be referenced during playback to skip over the commercial blocks. So short of editing out commercials yourself before streaming this could be an interesting option.

I haven't put too much thought into this yet but the more you think about this the more possibilities open up.

Can this co-exist with pyTivo on a WinXP box, with both of them running?

There doesn't appear to be any problem running both on the same box at the same time. However, I did find out that the two mechanisms handle captioning differently. A file sent through pyTivo will show the captioning it contains. The same file streamed back will not. This is mostly of interest to those who require closed captions or use that captioning mechanism to pick up English subtitles from foreign language media.

I'm getting "ERROR: Stream rejected by Tivo" when playing any of my mp4 files on my TiVoHD. The console has the following:

Is "Comedy/Blazing Saddles (1974).mp4" the name of file in this example? If so the "/" spaces and/or parenthesis in the name are probably causing problems. As an experiment rename the file or choose one with a simple name without special characters to try. If still no go then it could be the particular .mp4 encoding is not liked by Tivo. Try choosing an mpeg2 file to stream to confirm the program does work. I haven't tested out a big variety of .mp4 files but several test clips I downloaded from the web have worked OK, though some of them don't fast forward or other trick functions very well.

EDIT: Come to think of it I didn't test out file names and folders with spaces and other special characters in them so it could be those are causing an issue right now too (which I can fix).

There doesn't appear to be any problem running both on the same box at the same time. However, I did find out that the two mechanisms handle captioning differently. A file sent through pyTivo will show the captioning it contains. The same file streamed back will not. This is mostly of interest to those who require closed captions or use that captioning mechanism to pick up English subtitles from foreign language media.

That is interesting. Out of curiosity can you get captions with any YouTube files? Does YouTube even support closed captioning?

If you're talking about TiVo-rendered captions (as opposed to TV-rendered), you'd have to do them yourself in the HME app. They're rendered the same way as menus, etc.

For some reason, this app won't play a certain high-def file that works in my own player. (It's the episode of Systm that's referenced in the "Video Streaming in HME thread". I haven't tried others yet.) The bar appears, and advances, but the video never does.

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

That is interesting. Out of curiosity can you get captions with any YouTube files? Does YouTube even support closed captioning?

I don't think it does. My motivation comes from a slightly different path. I am playing with T2Sami code extensions in house that allow me to dynamically convert English subtitled files (mkv anime files) for pyTivo.

I also have streaming to other platforms such as the Hauppauge MediaMVP boxes working. If Tivo had handled captioning in the same way in a stream as it handles captioning for the "Come Back" path, the ability to stream captioned mpegs or mp4's (such as movie rentals) would have been within an easy experimental reach...

Is "Comedy/Blazing Saddles (1974).mp4" the name of file in this example? If so the "/" spaces and/or parenthesis in the name are probably causing problems. As an experiment rename the file or choose one with a simple name without special characters to try. If still no go then it could be the particular .mp4 encoding is not liked by Tivo. Try choosing an mpeg2 file to stream to confirm the program does work. I haven't tested out a big variety of .mp4 files but several test clips I downloaded from the web have worked OK, though some of them don't fast forward or other trick functions very well.

EDIT: Come to think of it I didn't test out file names and folders with spaces and other special characters in them so it could be those are causing an issue right now too (which I can fix).

Same error. I changed the name to "BlazSadd.mp4" and dropped it into the same folder that I started the jar file in.

If you're talking about TiVo-rendered captions (as opposed to TV-rendered), you'd have to do them yourself in the HME app. They're rendered the same way as menus, etc.

That explains it, I'll have to look into it, thanks.

Quote:

For some reason, this app won't play a certain high-def file that works in my own player. (It's the episode of Systm that's referenced in the "Video Streaming in HME thread". I haven't tried others yet.) The bar appears, and advances, but the video never does.

I just tried the hi def version of the file: systm--0063--dolby--hd.h264.mp4 and it worked fine for me. Can you provide the link of the one you are talking about? The specs on the above file are:
Video: Codec=avc1, Resolution=1280x720, Frame Rate=24 fps
Audio: codec=mp4a, Channels=2, Rate=44100Hz, 16 bits per sample, 1411 kb/s bit rate

The only way "videoserver" appears for me on the TiVo is when the cmd box remains open. As soon as I close it, it disappears.

Dumb question: is it supposed to be that way? Or did I install something incorrectly?

You are supposed to keep it open. As soon as you kill the "cmd" shell window you kill the program. It would be pretty easy to setup to run this program as a service in Windows (and hence no popup window) but that's not a priority for me right now. You can just minimize the cmd window instead of closing it to get it out of the way.

By those specs it should work. Can you provide a link to the above file or a clip from it so I can try it out? Only thing I can think of is I don't provide a type hint to Tivo for the stream (i.e. "video/mpeg4"), but I haven't found an mpeg4 file that didn't at least start for me. If I can get hold of one that should work but doesn't then I can debug further.

P.S. I tried several files and paths with spaces, brackets etc. and had no problem, so no need to rename files as I originally expected could be causing a problem.

By those specs it should work. Can you provide a link to the above file or a clip from it so I can try it out? Only thing I can think of is I don't provide a type hint to Tivo for the stream (i.e. "video/mpeg4"), but I haven't found an mpeg4 file that didn't at least start for me. If I can get hold of one that should work but doesn't then I can debug further.

P.S. I tried several files and paths with spaces, brackets etc. and had no problem, so no need to rename files as I originally expected could be causing a problem.

The full file is 1.03GB. I'm not sure how to get a clip from it. I'll see if I can find a smaller file that has the same problem.

Edit the run_win.bat script and put in the full path to the java.exe that matches your recent installation. My guess is that java.exe in your default path is an older one. For example, for one of my Java installations:
c:\Program Files\Java\jre1.6.0_01\bin\java.exe
So replace "java" in the run_win.bat script with the full path as in example above.

Note that for mpeg4 videos pyTivo transcodes to mpeg2 first before sending to Tivo so the Tivo is not getting same thing in that case. I don't think it's a firewall issue as with firewall blocking you wouldn't be able to get to the initial file browser window either. Give systm--0063--dolby--hd.h264.mp4 file a go as it works for me.

I think I read somewhere that HME doesn't have access to the local video files on the Tivo, but assuming it did (or will in the future), is there any reason that this couldn't be used to get around the CCI protection which makes 2/3rds of my recordings off limits to MRV? Just so we're clear, I'm not talking about making a copy of it.. just streaming from Tivo2Tivo.

Also thinking perhaps the HME app could also write to a log of where it was in a specific stream so when you select it again, it asks if you want to resume from the point you stopped? That's how my D-Link DSM520 works. Seems to do the trick.

Chew: I wonder if you're seeing an idle timeout? That's something I fixed in my streamer; I don't know if it's handled in this one.

BrianAZ: In regard to your first question, there is no reason to ever expect such a capability in HME -- it doesn't really fit the HME model at all. But even if it did, there's even less reason to think that it would let you get around the DRM. The distinction between copying and streaming is pretty much imaginary. If TiVo won't support MRV of DRM'd programs, they're not likely to support transferring them in any other way.

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Oh well. Hopefully DRM will evolve at some point to allow copying across Tivos owned by one person. Maybe they'll be able to allow it if the Tivo's in question are all on the same account, or perhaps have the same public IP showing they're likely to be in the same lan/house. Then again, maybe that's just more wishful thinking.

Will this app run under Linux? I need any video transfer application to run under Linux, because my video server is a Linux machine.

Will it co-exist with Galleon? I have both Galleon and pyTiVo running on the server.

Have you tried any high bandwidth videos? Of course a 20 Mbps MPEG-II video when converted to MPEG-IV probably streams at only 10 Mbps or so, but if the TiVo (S3 or THD) has a problem keeping up with the video content, this could mean trouble.