tivostream - video streaming server for Series 3 Tivos

Discussion in 'TiVo Home Media Features & TiVoToGo' started by moyekj, Aug 22, 2008.

  1. Aug 22, 2008 #1 of 436
    moyekj

    moyekj Well-Known Member

    12,321
    958
    Jan 23, 2006
    Mission...

    Advertisements

    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.

    Home Page:
    http://code.google.com/p/tivostream/
     
  2. Aug 22, 2008 #2 of 436
    StanSimmons

    StanSimmons Senior Moment Member

    4,717
    3
    Jun 10, 2000
    Flower...
    Very nice.

    Can this co-exist with pyTivo on a WinXP box, with both of them running?
     
  3. Aug 22, 2008 #3 of 436
    moyekj

    moyekj Well-Known Member

    12,321
    958
    Jan 23, 2006
    Mission...
    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.
     
  4. Aug 22, 2008 #4 of 436
    windracer

    windracer joined the 10k club

    12,320
    241
    Jan 3, 2003
    St. Pete, FL
    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?
     
  5. Aug 22, 2008 #5 of 436
    moyekj

    moyekj Well-Known Member

    12,321
    958
    Jan 23, 2006
    Mission...

    Advertisements

    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.
     
    ClearToLand likes this.
  6. Aug 22, 2008 #6 of 436
    StanSimmons

    StanSimmons Senior Moment Member

    4,717
    3
    Jun 10, 2000
    Flower...
    I'm getting "ERROR: Stream rejected by Tivo" when playing any of my mp4 files on my TiVoHD. The console has the following:

     
  7. Aug 22, 2008 #7 of 436
    jmemmott

    jmemmott New Member

    393
    0
    Jul 12, 2003
    Santa Cruz, CA
    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.
     
  8. Aug 22, 2008 #8 of 436
    moyekj

    moyekj Well-Known Member

    12,321
    958
    Jan 23, 2006
    Mission...
    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).
     
  9. Aug 22, 2008 #9 of 436
    Da Goon

    Da Goon Registered Abuser

    1,396
    0
    Oct 22, 2006
    :up::up: good stuff! works great streaming hd files to my THD. Much better than using the cumbersome TD software.
     
  10. Aug 22, 2008 #10 of 436
    moyekj

    moyekj Well-Known Member

    12,321
    958
    Jan 23, 2006
    Mission...
    That is interesting. Out of curiosity can you get captions with any YouTube files? Does YouTube even support closed captioning?
     
  11. Aug 22, 2008 #11 of 436
    wmcbrine

    wmcbrine Well-Known Mumbler

    11,929
    958
    Aug 2, 2003
    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.
     
  12. Aug 22, 2008 #12 of 436
    jmemmott

    jmemmott New Member

    393
    0
    Jul 12, 2003
    Santa Cruz, CA
    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...
     
  13. Aug 22, 2008 #13 of 436
    StanSimmons

    StanSimmons Senior Moment Member

    4,717
    3
    Jun 10, 2000
    Flower...
    Same error. I changed the name to "BlazSadd.mp4" and dropped it into the same folder that I started the jar file in.
    Video Lan says that the file info is:

    Code:
    Stream 0
     Codec: avc1
     Type: Video
     Resolution: 706x480
     Frame Rate: 23.988005
    Stream 1
     Codec: mp4a
     Type: Audio
     Channels: 2
     Sample Rate: 48000 Hz
     Bits Per Sample: 16
     Bitrate: 1536kb/s
     
  14. Aug 22, 2008 #14 of 436
    moyekj

    moyekj Well-Known Member

    12,321
    958
    Jan 23, 2006
    Mission...
    That explains it, I'll have to look into it, thanks.

    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
     
  15. Aug 22, 2008 #15 of 436
    Chew

    Chew New Member

    284
    0
    Jan 22, 2003
    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?
     
  16. Aug 22, 2008 #16 of 436
    moyekj

    moyekj Well-Known Member

    12,321
    958
    Jan 23, 2006
    Mission...
    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.
     
  17. Aug 22, 2008 #17 of 436
    moyekj

    moyekj Well-Known Member

    12,321
    958
    Jan 23, 2006
    Mission...
    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.
     
  18. Aug 23, 2008 #18 of 436
    wmcbrine

    wmcbrine Well-Known Mumbler

    11,929
    958
    Aug 2, 2003
    That's the one. I renamed it to "systm.mp4", but that's all.
     
  19. Aug 23, 2008 #19 of 436
    StanSimmons

    StanSimmons Senior Moment Member

    4,717
    3
    Jun 10, 2000
    Flower...
    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.
     
  20. Aug 23, 2008 #20 of 436
    rfryar

    rfryar My Media, My Way

    244
    5
    Feb 15, 2008
    Cottage...
    EDIT: Nevermind.. My java on my HTPC was only 1.5. Will download 1.6 and see if that fixes the issue.

    Just downloaded and tried to run the windows batch file and Java is throwing an unsupported class exception. Here is the stack trace. Any clues?

    Rick

    E:\Program Files\tivostream_v0p2>java -cp tivostream_v0p2.jar com.tivo.hme.host.
    sample.Main com.hme.tivo.videostream.videostream
    Instance ID = 0002dcbbfba7c4c1
    hme-host-sample version: 1.4.1 threadsafe-experimental
    Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n
    umber in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
     

Share This Page

spam firewall

Advertisements