View Full Version : tivostream - video streaming server for Series 3 Tivos
Ely105
10-03-2008, 09:23 PM
There are glitches in some video files that Tivo just plain rejects and hence the stream halts. A few posts up a user with an mpeg2 file was having the same problem and it turned out it failed in both tivostream and pyTivo, so obviously something the Tivo didn't like. The fix for that problem was to run it through VideoRedo Quickstream fix. For mpeg4 files I don't know of a Quickstream fix like tool however. If the source of that mp4 file is an mpeg2 file then I would suggest running Quickstream fix on it before encoding it to mp4.
Also, personally I found encodings came out better with ffmpeg than with Handbrake, so you may want to try that.
If you like P.M. me and perhaps I can get hold of the offending (and perhaps the source) video file to investigate further.
thanks for the help. The file is one that I edited (removed commercials) in Redo and used it to output to an .MPG before I encoded in handbrake. Let me give ffmpeg a try and see if it does a better job. Should I use the encode string that you have in kmttg? It's actually encoding a full length version of the same clip.
One more question - when you encode using ffmpeg do you prefer to keep source resolution (ie 1080 in my case) or do you downres to 720p? I did the clip in handbrake in 720p and it looked good quality-wise at about 8mbps streaming. I know some folks prefer to use the bits on a smaller file and let the device scale...
moyekj
10-03-2008, 11:28 PM
thanks for the help. The file is one that I edited (removed commercials) in Redo and used it to output to an .MPG before I encoded in handbrake. Let me give ffmpeg a try and see if it does a better job. Should I use the encode string that you have in kmttg? It's actually encoding a full length version of the same clip.
One more question - when you encode using ffmpeg do you prefer to keep source resolution (ie 1080 in my case) or do you downres to 720p? I did the clip in handbrake in 720p and it looked good quality-wise at about 8mbps streaming. I know some folks prefer to use the bits on a smaller file and let the device scale... Try using the kmttg tivostream_hd profile (but maybe lower the bitrate a little). I always try and keep the source resolution figuring the more scaling you do the worse you are going to affect quality.
cmontyburns
10-04-2008, 12:53 AM
Everything's working nicely on the Mac now. I wrote an AppleScript launcher for tivostream and made an application bundle out of the whole thing, so one click and she's off and running.
My only remaining issue is that the <topdir> setting starts at the root of my Home directory no matter what I put there.
/Users/(username)
/Applications/TiVoStream
or no entry at all...
tivostream always starts me at /Users/(username).
Not a big deal though.
ETA: Ah. That's because it completely ignores the config.ini file for some reason.
moyekj
10-04-2008, 10:15 AM
Everything's working nicely on the Mac now. I wrote an AppleScript launcher for tivostream and made an application bundle out of the whole thing, so one click and she's off and running.
My only remaining issue is that the <topdir> setting starts at the root of my Home directory no matter what I put there.
/Users/(username)
/Applications/TiVoStream
or no entry at all...
tivostream always starts me at /Users/(username).
Not a big deal though.
ETA: Ah. That's because it completely ignores the config.ini file for some reason.
If it is still ignoring your config.ini then it's because it can't find config.ini in the directory where the application is starting. If it's starting in /Users/(username) then you should put the config.ini file under /Users/(username)/config.ini
cmontyburns
10-04-2008, 10:55 AM
If it is still ignoring your config.ini then it's because it can't find config.ini in the directory where the application is starting. If it's starting in /Users/(username) then you should put the config.ini file under /Users/(username)/config.ini
Thanks -- yep, I realized that later after I had posted the above. It does work fine with the config.ini in the root of my Home directory. Odd that it doesn't find it in the directory local to the app itself.
Ely105
10-04-2008, 12:29 PM
Try using the kmttg tivostream_hd profile (but maybe lower the bitrate a little). I always try and keep the source resolution figuring the more scaling you do the worse you are going to affect quality.
Ok a little more progress here. I did reencode the clip using ffmpeg and it does do a better job on audio/video than handbrake. I used your tivostream profile and it worked great at 8k bitrate and was able to keep ahead of realtime playback. But I am still seeing a stream error and it stops playing after about 14-17 minutes. I encoded a different file using same profile and the same happened. Not sure what is causing that stream error to occur every time like that. I will do a little more investigating.
fyi - if a file is named ".MP4" (all caps) tivostream ignores it. That had me going for a few minutes. :)
I also discovered that FFMPEG doesn't like the AC3 file on my .mkv files. It gives an error if I try to do a streamcopy. So I need to reencode. The problem I am seeing is that if I reencode to AC3 then my PC doesn't seem to see the AC3 audio track. But the Tivo plays it fine. Not sure if my Haali media splitter doesn't like AC3. If I encode to AAC it seems to work fine. I was thinking that if I have to reencode audio maybe I should just encode to AAC since it's a little more bitrate efficient. The question I have there is the "-ab" option -- is that a "per channel" setting. And then for AAC, what should it be? I think AC3 is 384-CBR, but with AAC it should suffice to use 192 or thereabouts?
Rdian06
10-04-2008, 01:14 PM
I also discovered that FFMPEG doesn't like the AC3 file on my .mkv files. It gives an error if I try to do a streamcopy. So I need to reencode. The problem I am seeing is that if I reencode to AC3 then my PC doesn't seem to see the AC3 audio track. But the Tivo plays it fine. Not sure if my Haali media splitter doesn't like AC3. If I encode to AAC it seems to work fine. I was thinking that if I have to reencode audio maybe I should just encode to AAC since it's a little more bitrate efficient. The question I have there is the "-ab" option -- is that a "per channel" setting. And then for AAC, what should it be? I think AC3 is 384-CBR, but with AAC it should suffice to use 192 or thereabouts?
AC3 inside of MP4 is a relatively new development. It's going to take a while for the various playback programs to catch up.
I wouldn't re-encode the AC3 to AAC if I were you. The savings in space isn't a bit deal, but you will lose 5.1 surround sound when transferred to the Tivo. Then again if you just care about stereo or your sources are all stereo, the point it moot.
Ely105
10-04-2008, 06:54 PM
AC3 inside of MP4 is a relatively new development. It's going to take a while for the various playback programs to catch up.
I wouldn't re-encode the AC3 to AAC if I were you. The savings in space isn't a bit deal, but you will lose 5.1 surround sound when transferred to the Tivo. Then again if you just care about stereo or your sources are all stereo, the point it moot.
ah, ok. I wasn't sure if Tivo supported 6 channel AAC but i guess not. Then AC-3 it is. I will just have to figure out how to get my PCs to realize that it's ok to have AC3 with mp4.
Still having an issue with tivostream (or the tivo) dropping while streaming. it goes along fine for about 18-19 minutes now and then gives a "connection reset by peer: socket write error". This is from a downloaded tivo mpg stream, edited in videoredo and then converted to mp4 with this:
FFMPEG -y -i INFILE.mpg -vcodec libx264 -coder 0 -level 41 -sameq -g 300 -bufsize 14745k -b 8000k -maxrate 10000k -bug "+autodetect+ms" -me_method epzs -threads 4 -trellis 2 -mbd 1 -copyts -acodec copy -f mp4 OUTFILE.mp4
I've tried a couple different videos in the same fashion - starts as a tivo downloaded (HD 1080) program. streams for more than 15min and then chokes. :(
I have been using svn15216 of ffmpeg. Which leads me to another question. On Tripps website he calls that version "buggy x264". Does that mean anything? Also he has a version 15394 posted -- Is that something worth using?
thx.
moyekj
10-05-2008, 12:12 AM
ah, ok. I wasn't sure if Tivo supported 6 channel AAC but i guess not. Then AC-3 it is. I will just have to figure out how to get my PCs to realize that it's ok to have AC3 with mp4.
Still having an issue with tivostream (or the tivo) dropping while streaming. it goes along fine for about 18-19 minutes now and then gives a "connection reset by peer: socket write error". This is from a downloaded tivo mpg stream, edited in videoredo and then converted to mp4 with this:
FFMPEG -y -i INFILE.mpg -vcodec libx264 -coder 0 -level 41 -sameq -g 300 -bufsize 14745k -b 8000k -maxrate 10000k -bug "+autodetect+ms" -me_method epzs -threads 4 -trellis 2 -mbd 1 -copyts -acodec copy -f mp4 OUTFILE.mp4
I've tried a couple different videos in the same fashion - starts as a tivo downloaded (HD 1080) program. streams for more than 15min and then chokes. :(
I have been using svn15216 of ffmpeg. Which leads me to another question. On Tripps website he calls that version "buggy x264". Does that mean anything? Also he has a version 15394 posted -- Is that something worth using?
thx.
While encoding do you see any unusual messages from ffmpeg around the 15 min mark or so? Are you able to transfer the decoded 1080i mpeg2 back to your Tivo (using pyTivo or Tivo Desktop) without issue? Did you run the mpeg2 stream through VRD QS Fix before editing & encoding?
Ely105
10-06-2008, 11:40 AM
While encoding do you see any unusual messages from ffmpeg around the 15 min mark or so? Are you able to transfer the decoded 1080i mpeg2 back to your Tivo (using pyTivo or Tivo Desktop) without issue? Did you run the mpeg2 stream through VRD QS Fix before editing & encoding?
I did see some "underflow" messages from ffmpeg, although i wasn't able to notice where in the stream they showed up.
I did run it back through VRD quick fix after editing, and i got the stream to play to within 15 seconds of the end. Is it better to do a quickfix before editing?
I haven't tried the mpg file back to the tivo yet - My wife is getting sick of this episode of Seinfeld.
I did the same workflow for another program and it worked fine for the whole stream.
Sevenfeet
10-16-2008, 02:03 PM
It appears to be an issue with the JmDNS used in tivostream. I noticed this in the Galleon changelog:
"Update JmDNS package to 1.0 (not using JmDNS from hme-host-sample-1.4.jar anymore); seems to help on Mac OS X 10.5"
I followed windracer's instructions for launching tivostream through Galleon, and the mDNS issue went away on my OS X 10.5 (Leopard) machine.
Thanks for the tip (and sorry it's taken so long to reply). This is not just a Mac issue but it also happens if you run tivostream on Solaris (SPARC). If it's happening on a Sun box (the mother of all Java servers), then it's a problem.
....... Is it better to do a quickfix before editing?
.........
I believe the answer to that is "yes".
moyekj
10-17-2008, 11:59 AM
Thanks for the tip (and sorry it's taken so long to reply). This is not just a Mac issue but it also happens if you run tivostream on Solaris (SPARC). If it's happening on a Sun box (the mother of all Java servers), then it's a problem. Can you give the details of the problem? I am using Tivo's hme-host-sample.jar from HME distribution so currently don't have control over that portion of the code, but since source is available fixes should be possible. I do have access to a Solaris server (though not on my LAN) so if I can reproduce the issue there I may be able to look into this some more.
Sevenfeet
10-17-2008, 02:16 PM
Can you give the details of the problem? I am using Tivo's hme-host-sample.jar from HME distribution so currently don't have control over that portion of the code, but since source is available fixes should be possible. I do have access to a Solaris server (though not on my LAN) so if I can reproduce the issue there I may be able to look into this some more.
This is the same issue I gave earlier. That is, after tivostream has been running for anywhere from several minutes to a few hours, you get the following error:
Exception in thread "JmDNS.SocketListener" java.lang.ArrayIndexOutOfBoundsException: 7 >= 7
at java.util.Vector.elementAt(Vector.java:432)
at javax.jmdns.DNSRecord.suppressedBy(Unknown Source)
at javax.jmdns.DNSOutgoing.addAnswer(Unknown Source)
at javax.jmdns.JmDNS.handleQuery(Unknown Source)
at javax.jmdns.JmDNS$SocketListener.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
The "java.lang.ArrayIndexOutOfBoundsException: 7 >= 7" number varies...I've seen 6, 5 and 7 as output error numbers. But the error itself is always the same. You earlier asked me to set the debug flag and rerun tivostream. This had no effect...I got the same output. This problem happened with either Mac OS X Leopard (PPC) or Solaris 10 SPARC, both running Java 1.5.
Since it looks like the folks maintaining Galleon have recently run into the same issue and offered a fix in the latest version (2.5.3). I downloaded Galleon (not sure why I haven't run Galleon before) and got it working and got tivostream working inside of it. So far, it's been running for about 16 hours without a crash, which is longer than I've ever seen it run.
You may want to check the Galleon project to see what they did with their code.
moyekj
10-17-2008, 03:16 PM
This is the same issue I gave earlier. That is, after tivostream has been running for anywhere from several minutes to a few hours, you get the following error:
Exception in thread "JmDNS.SocketListener" java.lang.ArrayIndexOutOfBoundsException: 7 >= 7
at java.util.Vector.elementAt(Vector.java:432)
at javax.jmdns.DNSRecord.suppressedBy(Unknown Source)
at javax.jmdns.DNSOutgoing.addAnswer(Unknown Source)
at javax.jmdns.JmDNS.handleQuery(Unknown Source)
at javax.jmdns.JmDNS$SocketListener.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
The "java.lang.ArrayIndexOutOfBoundsException: 7 >= 7" number varies...I've seen 6, 5 and 7 as output error numbers. But the error itself is always the same. You earlier asked me to set the debug flag and rerun tivostream. This had no effect...I got the same output. This problem happened with either Mac OS X Leopard (PPC) or Solaris 10 SPARC, both running Java 1.5.
Since it looks like the folks maintaining Galleon have recently run into the same issue and offered a fix in the latest version (2.5.3). I downloaded Galleon (not sure why I haven't run Galleon before) and got it working and got tivostream working inside of it. So far, it's been running for about 16 hours without a crash, which is longer than I've ever seen it run.
You may want to check the Galleon project to see what they did with their code.
I've had tivostream running for the past 4 hours or so on a Solaris 5.10 host (with java 1.5). I don't have a Tivo available on the LAN (this is at work) to use as a client, but I fired off the HME simulator to use as a client and it's just sitting there connected to tivostream Solaris server sitting in file browser mode - occasionally I change directories just to keep some activity going. So far no issues, so I may not be able to reproduce this. Without reproducing the problem it makes it a lot harder to identify and fix the issue. At least it's good to see that you have a workaround by running via Galleon.
EDIT: 8+ hours now without issue. I'll let it run over the weekend but I'm not expecting any problems so looks like I cannot reproduce this. It may be that having Tivos broadcasting on the LAN is necessary to provoke the issue...
elsteve
10-25-2008, 01:25 PM
I have a bunch of .mkv files which contain h.264/ac3 video/audio.
I'd like to convert them to .mp4 so I can stream them to my Tivo HD via tivostream.
I am using FFmpeg version SVN-r15216-rdian06-0.95-win32-x86_32 as follows to get the.mkv to .mp4 format:
ffmpeg -y -i inputfile.mkv -vcodec copy -acodec ac3 -ab 384k -f mp4 outputfile.mp4
(I am using the -acodec ac3 -ab384k parm because for whatever reason, -acodec copy doesn't want to work - codec frame size not set - ??)
At this point the resultant .mp4 file is >playable< on the PC with VLC but is quite choppy.
First question: Why is the playback so poor? the .mkv file plays without a hitch and (to my limited understanding), all I've done is change the container. Any thoughts?
*** I've also tried with the -an option to eliminate audio, just in case, but no luck...
If I continue and run qt-faststart on the resultant .mp4 and then try to access it via tivostream from the Tivo, I get no playback at all and all the tivostream console shows is "unknown event opcode : 8"
Second question: What's going on here? I suspect that if I resolve the first issue, the second will be fixed as well, but wanted to give the complete picture.
Thanks for reading - and thanks for any help!!
Steve
moyekj
10-25-2008, 02:48 PM
elsteve if you have a small sample .mkv H.264+AC3 file somewhere I can get hold of I can try out some things.
elsteve
10-25-2008, 03:56 PM
elsteve if you have a small sample .mkv H.264+AC3 file somewhere I can get hold of I can try out some things.
cool...I sent you a PM with a link...
thanks
muerte33
10-26-2008, 05:09 PM
OK,
I had some firewall issues, but I got this working, and I like it!
Is it possible to play Divx or Xvid files yet?
It failed on an AVI file I created with AVI.net, so I guess not.
moyekj
10-26-2008, 06:27 PM
OK,
I had some firewall issues, but I got this working, and I like it!
Is it possible to play Divx or Xvid files yet?
It failed on an AVI file I created with AVI.net, so I guess not.
This application is streaming only - so will simply send streams to Tivo as is. As documented currently Tivo only supports mpeg4 container decoding of H.264 with AC3 or AAC audio (in addition to mpeg2 of course). So no, Divx/Xvid is not supported. HME/VLC video streamer (http://www.tivocommunity.com/tivo-vb/showthread.php?t=403174) might be able to have VLC transcode to mpeg2 on the fly, and there's always pyTivo TTCB server that also can transcode.
acslater
10-29-2008, 08:11 PM
Just downloaded this tonight. It sounds really promising but I can't get it started. After clicking the bat the DOS window comes up but the application freezes after this line:
MDNS: http://192.168.202.1:7288/videostream/
What am I doing wrong?
moyekj
10-29-2008, 08:38 PM
Just downloaded this tonight. It sounds really promising but I can't get it started. After clicking the bat the DOS window comes up but the application freezes after this line:
MDNS: http://192.168.202.1:7288/videostream/
What am I doing wrong? Sounds like it's working fine. Leave that console window running and now you have to go over to your Tivo(s) and go to Music Photos & More and look for "Video Streamer" as shown in this picture:
http://tivostream.googlecode.com/files/entry.gif
moyekj
10-30-2008, 10:56 AM
With the latest announced upcoming Tivo support for Netflix streaming it would seem that VC-1 will now also be supported for streaming since that's the format used by Netflix. I don't believe the current software allows for VC-1 streaming so looks like it will be potentially in the next software update.
By extension, if VC-1 will be supported then perhaps WMV3 (Windows Media Video 9) will also work.
wmcbrine
10-30-2008, 11:38 AM
Yeah, we've known that capability was in the chip, but it didn't seem to be activated in 9.4. Or else I just didn't find the right incantation...
moyekj
11-02-2008, 12:30 AM
v0p9 - November 01, 2008
-------------------------
* Status bar times are now updated even when status bar is hidden so that
there is no delay in seeing the correct times when first making it
visible.
* Fixed issue with upper vs. lower case file extension filtering
Now the file extensions are case insensitive.
* tivostream now has it's own Main function instead of using Tivo HME
sample one. The implementation now used is a simplified version with a
lot of overhead removed.
NOTE: The run_win.bat and run_unix.sh scripts have been updated to
use com.hme.tivo.videostream.Main
Sevenfeet
11-05-2008, 09:10 AM
Excellent. I'll be upgrading in the next day or so.
moyekj
11-09-2008, 05:42 PM
For those of you having trouble getting tivostream to work on Linux, it looks like ipv6 needs to be disabled for HME apps to work. See the following for reference:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=5640333#post5640333
I keep watching threads like this and i'm all for you guys making the TiVo a better product. However...
The Apple TV hacked and using XBox Media Center (XBMC) is so kickass over the top of TiVo (for streaming your content) that I just cant justify using the TiVo for this.
Anyhow, just some 411 to anyone who wants the best of the best, this is the way to go.
Sevenfeet
11-11-2008, 10:18 AM
I keep watching threads like this and i'm all for you guys making the TiVo a better product. However...
The Apple TV hacked and using XBox Media Center (XBMC) is so kickass over the top of TiVo (for streaming your content) that I just cant justify using the TiVo for this.
Anyhow, just some 411 to anyone who wants the best of the best, this is the way to go.
Do you have a link? The previous times I've looked at XBMC (running on a Mac), the setup process was so awful that it completely undid the pizazz of the interface.
Update...nevermind...found the link to Boxee.
jay0k
11-11-2008, 09:25 PM
I'm running OS X Leopard.
I start and get the following output:
STARTING tivostream...
LOG: added factory
MDNS: http://192.168.158.1:7288/videostream/
What I'm confused about is the MDNS entry? The IP of my machine running this is 10.0.1.193. The Tivo HD is on the same subnet as well.
Video Stream doesn't show up in the "Music Photos & More" section in Tivo Central.
moyekj
11-12-2008, 12:20 AM
I'm running OS X Leopard.
I start and get the following output:
STARTING tivostream...
LOG: added factory
MDNS: http://192.168.158.1:7288/videostream/
What I'm confused about is the MDNS entry? The IP of my machine running this is 10.0.1.193. The Tivo HD is on the same subnet as well.
Video Stream doesn't show up in the "Music Photos & More" section in Tivo Central. I made some changes in last release that may have messed this up. Can you try previous version tivostream_v0p8.zip (http://tivostream.googlecode.com/files/tivostream_v0p8.zip) to see if that's any better?
windracer
11-12-2008, 07:22 AM
Hmmm ... upgraded to Galleon 2.5.4 last night and now I can't get tivostream to run via the launcher.txt file. Here's the error from the log:
13:16:47,990 ERROR [WrapperListener_start_runner] AppFactory - java.lang.NoSuchMethodException: com.hme.tivo.videostream.Main.getAppFactory(java.lang.String , java.lang.ClassLoader, com.tivo.hme.interfaces.IArgumentList): make sure the class is public and has a public default constructor
13:16:47,991 DEBUG [WrapperListener_start_runner] AppFactory - java.lang.NoSuchMethodException: com.hme.tivo.videostream.Main.getAppFactory(java.lang.String , java.lang.ClassLoader, com.tivo.hme.interfaces.IArgumentList)
at java.lang.Class.getMethod(Class.java:1605)
at org.lnicholls.galleon.app.AppHost.createFactory(AppHost.java :367)
at org.lnicholls.galleon.app.AppHost.loadLaunchFile(AppHost.jav a:349)
at org.lnicholls.galleon.app.AppManager.loadApps(AppManager.jav a:80)
at org.lnicholls.galleon.server.Server.start(Server.java:331)
at org.lnicholls.galleon.server.ServiceWrapper.start(ServiceWra pper.java:47)
at org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperMana ger.java:2788)
Am I missing something obvious? I'm using the v0p9 jar.
update: whoops, nevermind ... I had a problem in my launcher.txt file.
jay0k
11-12-2008, 06:11 PM
I made some changes in last release that may have messed this up. Can you try previous version tivostream_v0p8.zip (http://tivostream.googlecode.com/files/tivostream_v0p8.zip) to see if that's any better?
Here is my output with v0p8:
null null (null)
LOG: added factory
MDNS: http://192.168.158.1:7288/videostream/
Am I missing something obvious here? Nothing else is required to make this work?
windracer
11-12-2008, 06:17 PM
Do you maybe have two network adapters in your Mac, a wired and a wireless? Maybe tivostream is latching onto the wrong one?
lynncosbm
11-12-2008, 11:06 PM
Here is another question from a newbie to Macs and no experience in Java programming - I would love to be able to get this application to work, it looks like it's just what I'm looking for but when I try to run the run_unix.sh command in Terminal, I just get output "Exception in thread "main" java.lang.NoClassDefFoundError: com/hme/tivo/videostream/Main". Does this mean there is a problem with my Java? It looks like I have Java 1.5.0 on my Mac, can someone please help me figure out what I'm doing wrong?
moyekj
11-13-2008, 12:27 AM
Here is my output with v0p8:
null null (null)
LOG: added factory
MDNS: http://192.168.158.1:7288/videostream/
Am I missing something obvious here? Nothing else is required to make this work? There must be multiple interfaces available and tivostream is not picking up the one you are expecting. Not sure about OS X but in unix you can run following command to check all available interfaces:
ifconfig -a
It's likely that 192.168.158.1 is one of them. Do you have 2 different domains running on your network?
moyekj
11-13-2008, 12:34 AM
Here is another question from a newbie to Macs and no experience in Java programming - I would love to be able to get this application to work, it looks like it's just what I'm looking for but when I try to run the run_unix.sh command in Terminal, I just get output "Exception in thread "main" java.lang.NoClassDefFoundError: com/hme/tivo/videostream/Main". Does this mean there is a problem with my Java? It looks like I have Java 1.5.0 on my Mac, can someone please help me figure out what I'm doing wrong? Make sure you have tivostream_v0p9.jar file in same directory as the run_unix.sh script (previous versions of tivostream have a different Main so won't work). Also, check your version of java as follows:
java -version
It needs to be 1.5.x or later to work. If you have multiple Java installations on your machine then you may need to replace java with the full path to the appropriate version.
lynncosbm
11-13-2008, 10:40 AM
Make sure you have tivostream_v0p9.jar file in same directory as the run_unix.sh script (previous versions of tivostream have a different Main so won't work). Also, check your version of java as follows:
java -version
It needs to be 1.5.x or later to work. If you have multiple Java installations on your machine then you may need to replace java with the full path to the appropriate version.
Thanks for your suggestions. I still have all the files in the same folder which was created when I unzipped the zip file and have just put that in the Applications folder and then just tried to run it from there. Is that incorrect?
When I ran the java -version command, it came up java version "1.5.0_16"
so that seems to be fine, when I replaced java with the full path, I still got the same message.
jay0k
11-13-2008, 10:57 PM
There must be multiple interfaces available and tivostream is not picking up the one you are expecting. Not sure about OS X but in unix you can run following command to check all available interfaces:
ifconfig -a
It's likely that 192.168.158.1 is one of them. Do you have 2 different domains running on your network?
I do see that particular IP under the "vmnet1" network interface. The actual interface it should use would be either "en0" (wired) or "en1" (wireless).
Rdian06
11-14-2008, 12:41 AM
I do see that particular IP under the "vmnet1" network interface. The actual interface it should use would be either "en0" (wired) or "en1" (wireless).
vmnet1 probably exists because you have VMware Fusion installed.
For the sake of testing, go into your Network preferences and disable all the vmnet# interfaces temporarily and then try tivostream.
moyekj
11-14-2008, 02:29 AM
I do see that particular IP under the "vmnet1" network interface. The actual interface it should use would be either "en0" (wired) or "en1" (wireless). With tivostream_v0p8 you can specify which IP address to use using "--intf IP" option. Using the tivostream_v0p8.jar version edit the "run_unix.sh" script to look like:
java -cp tivostream_v0p8.jar com.tivo.hme.host.sample.Main --intf 10.0.1.193 com.hme.tivo.videostream.videostream
I got over-zealous in v0p9 and removed a lot of overhead including the above option, so probably will need to add it back in next release.
westside_guy
11-15-2008, 03:46 PM
I do see that particular IP under the "vmnet1" network interface. The actual interface it should use would be either "en0" (wired) or "en1" (wireless).
It's sub-optimal as solutions go, but for the moment you can get it to work properly on the Mac by modifying run_unix.sh as shown below - adding the first and third line, bracketing the single pre-existing line:
sudo /Library/Application\ Support/VMware\ Fusion/boot.sh --stop
java -cp tivostream_v0p9.jar com.hme.tivo.videostream.Main com.hme.tivo.videostream.videostream
sudo /Library/Application\ Support/VMware\ Fusion/boot.sh --start
This assumes your account is in the /etc/sudoers file, but most people by default are running as an admin and so will be in there already without having to manually add themself. If you're not Unix-savvy, don't try to edit /etc/sudoers yourself!!
To edit the run_unix.sh file, just use TextWrangler or BBEdit.
Laserfan
11-16-2008, 08:47 AM
...go to Music Photos & More and look for "Video Streamer" as shown in this picture:
http://tivostream.googlecode.com/files/entry.gif
Wow, this is a VERY COOL program moyekj, thanks very much for it! :up:
I wonder if you (or anyone here) knows how to tell the Tivo not to bother with all the other servers off the Internet as some are shown in your screenshot. It seems though like you either switch Home Networking On and get all that other junk, or you switch it Off and then can't use tivostream?
I have a limited (satellite) 'net connection and don't care about YouTube & the rest... :down:
moyekj
11-16-2008, 12:06 PM
Wow, this is a VERY COOL program moyekj, thanks very much for it! :up:
I wonder if you (or anyone here) knows how to tell the Tivo not to bother with all the other servers off the Internet as some are shown in your screenshot. It seems though like you either switch Home Networking On and get all that other junk, or you switch it Off and then can't use tivostream?
I have a limited (satellite) 'net connection and don't care about YouTube & the rest... :down: Short of perhaps blocking certain domains with a router I don't think it's possible to filter out the other HME applications.
cmontyburns
11-16-2008, 03:46 PM
Here is another question from a newbie to Macs and no experience in Java programming - I would love to be able to get this application to work, it looks like it's just what I'm looking for but when I try to run the run_unix.sh command in Terminal, I just get output "Exception in thread "main" java.lang.NoClassDefFoundError: com/hme/tivo/videostream/Main". Does this mean there is a problem with my Java? It looks like I have Java 1.5.0 on my Mac, can someone please help me figure out what I'm doing wrong?
Put the full path to the tivostream jar (Java) file in the run_unix.sh script (you can open it with TextEdit).
So right now it probably says:
java -cp tivostream_v0p9.jar com.hme.tivo.videostream.Main com.hme.tivo.videostream.Main
Instead make it say:
java -cp /Applications/TiVoStream/tivostream_v0p9.jar com.hme.tivo.videostream.Main com.hme.tivo.videostream.videostream
Except instead of "/Applications/TiVoStream/" put the path to where you have the TiVoStream folder stored.
menos
11-17-2008, 10:41 PM
I'm having problems. I can't seem to get any video over a few minutes to completely stream. The videos are all .mp4s encoded with the kmttg program. This is the corresponding entry in the log.
21:46:50,796 INFO [Acceptor] AppHost - 192.168.1.50 Life-(Nov-05-2008)-Jackpot.mp4 HTTP GET - to factory /videostream/
21:52:51,515 INFO [MediaRefreshThread] MediaRefreshThread - Refreshing media took 374 seconds
22:01:36,218 INFO [Acceptor] AppHost - 192.168.1.50 I/O Exception handling HTTP GET Life-(Nov-05-2008)-Jackpot.mp4: Connection reset by peer: socket write error
22:05:25,953 INFO [Acceptor] AppHost - connection to receiver closed
22:05:25,953 INFO [Acceptor] AppHost - HME receiver disconnected
I'm running it through Galleon 2.5.4 but I noticed the problem with previous versions of Galleon.
moyekj
11-17-2008, 11:35 PM
I'm having problems. I can't seem to get any video over a few minutes to completely stream. The videos are all .mp4s encoded with the kmttg program. This is the corresponding entry in the log.
21:46:50,796 INFO [Acceptor] AppHost - 192.168.1.50 Life-(Nov-05-2008)-Jackpot.mp4 HTTP GET - to factory /videostream/
21:52:51,515 INFO [MediaRefreshThread] MediaRefreshThread - Refreshing media took 374 seconds
22:01:36,218 INFO [Acceptor] AppHost - 192.168.1.50 I/O Exception handling HTTP GET Life-(Nov-05-2008)-Jackpot.mp4: Connection reset by peer: socket write error
22:05:25,953 INFO [Acceptor] AppHost - connection to receiver closed
22:05:25,953 INFO [Acceptor] AppHost - HME receiver disconnected
I'm running it through Galleon 2.5.4 but I noticed the problem with previous versions of Galleon. It looks like your Tivo(s) are rejecting the streams after several minutes. Do the original mpeg2 files from which these were encoded stream and/or transfer OK to the Tivos? It helps to run them through VRD QuickStream fix if you didn't before encoding to mpeg4. If one of the samples is not too huge PM me if you like so I can give you a location to deposit a sample so I can try it out.
Are you able to get this sample to stream OK all the way through?
systm--0063--dolby--hd.h264.mp4 (http://www.podtrac.com/pts/redirect.mp4/bitcast-a.bitgravity.com/revision3/web/systm/0063/systm--0063--dolby--hd.h264.mp4)
If that one works OK then that means your setup is OK.
lynncosbm
11-18-2008, 10:24 AM
Put the full path to the tivostream jar (Java) file in the run_unix.sh script (you can open it with TextEdit).
So right now it probably says:
java -cp tivostream_v0p9.jar com.hme.tivo.videostream.Main com.hme.tivo.videostream.Main
Instead make it say:
java -cp /Applications/TiVoStream/tivostream_v0p9.jar com.hme.tivo.videostream.Main com.hme.tivo.videostream.videostream
Except instead of "/Applications/TiVoStream/" put the path to where you have the TiVoStream folder stored.
Thank you so much! It looks like that did it! I'm excited I got this to work! (in case you can't tell from all the exclamation marks!)
ninjaFred
11-18-2008, 01:24 PM
moyekj, the streamer rules. very cool.
one request...how hard would it be to install this as a windows service? my kids often close the cmd window and kill the streamer.
menos
11-18-2008, 01:39 PM
If you have Galleon installed you can set it up to run inside of Galleon. Galleon runs as a service, plus it has a few other cool features. There is a post in this thread showing how to set it up in Galleon.
ninjaFred
11-18-2008, 02:00 PM
i'm using pyTivo, but not galleon. i'll check into it. thanks for the response.
jay0k
11-18-2008, 04:54 PM
There must be multiple interfaces available and tivostream is not picking up the one you are expecting. Not sure about OS X but in unix you can run following command to check all available interfaces:
ifconfig -a
It's likely that 192.168.158.1 is one of them. Do you have 2 different domains running on your network?
I uninstalled VMWare Fusion as I use Parallels now and all is well. It properly detected the correct network interface and all is well. it works like a champ, good work!
Thanks!
jay0k
11-18-2008, 04:55 PM
moyekj, the streamer rules. very cool.
one request...how hard would it be to install this as a windows service? my kids often close the cmd window and kill the streamer.
Hehe, and as a service for OSX that would show up in the Preference pane :)
menos
11-18-2008, 07:25 PM
It looks like your Tivo(s) are rejecting the streams after several minutes. Do the original mpeg2 files from which these were encoded stream and/or transfer OK to the Tivos? It helps to run them through VRD QuickStream fix if you didn't before encoding to mpeg4. If one of the samples is not too huge PM me if you like so I can give you a location to deposit a sample so I can try it out.
Are you able to get this sample to stream OK all the way through?
systm--0063--dolby--hd.h264.mp4 (http://www.podtrac.com/pts/redirect.mp4/bitcast-a.bitgravity.com/revision3/web/systm/0063/systm--0063--dolby--hd.h264.mp4)
If that one works OK then that means your setup is OK.
The test file you provided streams just fine. I'll try one of the .mpg files here in a little while but I'll have to download it again from the tivo. All of the files I'm reencoding have been run through VRD quickstream fix, as part of the kmtgg job.
Is there anyway to check the integrity of a .mp4? Tivostream seems to be dieing on the files, but pytivo doesn't seem to have a problem.
If you've got somewhere I can upload 3gig I'll send you one of the files thats crapping out on me.
moyekj
11-18-2008, 07:39 PM
The test file you provided streams just fine. I'll try one of the .mpg files here in a little while but I'll have to download it again from the tivo. All of the files I'm reencoding have been run through VRD quickstream fix, as part of the kmtgg job.
Is there anyway to check the integrity of a .mp4? Tivostream seems to be dieing on the files, but pytivo doesn't seem to have a problem.
If you've got somewhere I can upload 3gig I'll send you one of the files thats crapping out on me. 3 GB is a little too big to deal with. Since you know about where it is crapping out perhaps you can use VRD to edit out everything but shortly before and after the point it craps out and then send me the resulting mpeg2 clip? If resulting mpeg2 is below 1GB then I can work with that so please PM me and I can give you an upload location (ftp).
EDIT: Of course it's possible that after editing the file as such and re-encoding to mpeg4 that it will work fine, but it's worth a shot.
Laserfan
11-19-2008, 09:06 AM
I installed & ran v0p9 over the weekend and my test mpg streamed & looked great from both my S3 Tivos. Then yesterday I tried it again and it doesn't work anymore:
1. Tivostream appears as usual on the menu
2. My mpg appears there as well
3. When I select the mpg, I get the black screen & "Playing..." displayed
4. But it never goes further, it's just hung
To this point, the tivostream window has shown this:
C:\tivostream>java -cp tivostream_v0p9.jar com.hme.tivo.videostream.Main com.hme
.tivo.videostream.videostream
STARTING tivostream...
LOG: added factory
MDNS: http://192.168.1.108:7288/videostream/
LOG: 192.168.1.109 icon.png HTTP GET - to factory /videostream/
>> Reading config file: config.ini
>>config: topdir=.
>>config: extensions=.mpg .mpeg2 .mp2 .mp4 .mpeg4
>>config: font=medium
>>config: timeout_status_bar=5
>>config: timeout_info=10
>>config: skip_back=8
>>config: skip_forwards=30
>>config: slow_speed=0.125
>> NOTE: No bookmark file found
LOG: HME receiver connected
LOG: unknown event opcode : 8
Now, if I let the Tivo sit on this "Playing..." screen it eventually times-out (5mins feels right) and returns to LiveTV. If I'm stuck on the "Playing..." screen and I left-arrow then the Tivo displays "Can't Run -- An error occurred while running the application. The application closed during a read (0x50006)."
Under both scenarios (timeout and user impatience) the tivostream window adds the following:
LOG: HME receiver disconnected
LOG: Unexpected error: java.lang.NullPointerException
LOG: 192.168.1.109 icon.png HTTP GET - to factory /videostream/
My sense is that these latter msgs are not telling me anything i.e. they don't happen until the hung "Playing..." is aborted. Is there an extended logging mode I can invoke to try to learn more?
I reinstalled tivostream and even reinstalled Java to no help. Can't imagine what might have happened as I say that very mpg played fine the other day--heck I watched most of it tho I was only really testing tivostream! :o
p.s. Both my Tivos played this mpg before via tivostream (from the same computer). Both have the problem now.
moyekj
11-19-2008, 10:21 AM
Laserfan, the console window should show something like the following when starting a stream:
LOG: 192.168.1.107 lost.mpg HTTP GET - to factory /videostream/
url=file:/c:/home/dvd/testing/lost.mpg
To get a lot of debugging information edit the run_win.bat script and add the following as 1st line:
set DEBUG=1
How are you starting mpg playback? Select, right arrow, or play button? The play button will try and start from where you left off while select/right arrow will start from beginning, so they are different which is why I ask.
Laserfan
11-19-2008, 11:44 AM
How are you starting mpg playback? Select, right arrow, or play button?I tried it both ways. Not getting the "URL" msg, must have some glitch in my network?
C:\tivostream_v0p9>set DEBUG=1
C:\tivostream_v0p9>java -cp tivostream_v0p9.jar com.hme.tivo.videostream.Main co
m.hme.tivo.videostream.videostream
STARTING tivostream...
LOG: added factory
MDNS: http://192.168.1.108:7288/videostream/
LOG: 192.168.1.109 icon.png HTTP GET - to factory /videostream/
>> Reading config file: config.ini
>>config: topdir=.
>>config: extensions=.mpg .mpeg2 .mp2 .mp4 .mpeg4
>>config: font=medium
>>config: timeout_status_bar=5
>>config: timeout_info=10
>>config: skip_back=8
>>config: skip_forwards=30
>>config: slow_speed=0.125
>> Reading bookmarks file: bookmarks
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=C:\t
ivostream_v0p9
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2089,
focusable,bounds=0,0,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=C:\tivost
ream_v0p9
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2089,focusable,bounds=0,0,512x30] v2=null
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Top Level
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: HME receiver connected
>>>Listener.java: com.hme.tivo.videostream.Listener.readEvents(line 315): app=vi
deostream[#1,uri=null] in=com.tivo.hme.host.http.server.HttpConnection$InStream@
15fea60
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getLogger(line 91):
LOG: unknown event opcode : 8
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=6 rawcode=16778246
>>>videostream.java: com.hme.tivo.videostream.videostream.handleAction(line 92):
action=push
>>>videostream.java: com.hme.tivo.videostream.videostream.makeFileName(line 87):
name=C:\tivostream_v0p9
>>>videostream.java: com.hme.tivo.videostream.videostream.lastEntryPush(line 197
): name=C:\tivostream_v0p9
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.updateFileList(lin
e 71): DIR=C:\tivostream_v0p9
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=DIR: C:\t
ivostream_v0p9
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.clear(line 39):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=null v2=BView[#-1,focusable,bounds=0,0,512x30]
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.getSortedByName(li
ne 144): DIR=C:\tivostream_v0p9 files=[Ljava.lang.String;@911f71
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream_v0p9 name=Gattaca.mp4
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream_v0p9 name=India Arie - Purify Me.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream_v0p9 name=The Fugitive -- This'll Kill You.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream_v0p9 name=video1.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2118,focusable,bounds=0,0,512x30] index=0
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Gatt
aca.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2118,
focusable,bounds=0,0,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Gattaca.m
p4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2124,focusable,bounds=0,30,512x30] index=1
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Indi
a Arie - Purify Me.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2124,
focusable,bounds=0,30,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=India Ari
e - Purify Me.mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2130,focusable,bounds=0,60,512x30] index=2
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=The
Fugitive -- This'll Kill You.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2130,
focusable,bounds=0,60,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=The Fugit
ive -- This'll Kill You.mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2136,focusable,bounds=0,90,512x30] index=3
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=vide
o1.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2136,
focusable,bounds=0,90,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=video1.mp
4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2118,focusable,bounds=0,0,512x30] v2=null
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=3 rawcode=16777475
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2124,focusable,bounds=0,30,512x30] v2=BView[#2118,focusable,
bounds=0,0,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2124,focusable,bounds=0,30,512x30] v2=BView[#2118,focusable,b
ounds=0,0,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=3 rawcode=16777475
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2130,focusable,bounds=0,60,512x30] v2=BView[#2124,focusable,
bounds=0,30,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2130,focusable,bounds=0,60,512x30] v2=BView[#2124,focusable,b
ounds=0,30,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=6 rawcode=16778246
>>>videostream.java: com.hme.tivo.videostream.videostream.handleAction(line 92):
action=push
>>>videostream.java: com.hme.tivo.videostream.videostream.makeFileName(line 87):
name=The Fugitive -- This'll Kill You.mpg
>>>videostream.java: com.hme.tivo.videostream.videostream.lastEntryPush(line 197
): name=The Fugitive -- This'll Kill You.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=The
Fugitive -- This'll Kill You.mpg
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getBaseURI(line 153):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.startStream(line 52): UR
I=http://192.168.1.108:7288/videostream/The Fugitive -- This'll Kill You.mpg fil
eName=The Fugitive -- This'll Kill You.mpg
>>>MetaData.java: com.hme.tivo.videostream.MetaData.<init>(line 17): fileName=C:
\tivostream_v0p9\The Fugitive -- This'll Kill You.mpg
>>>MetaData.java: com.hme.tivo.videostream.MetaData.parseMetaData(line 25): file
=C:\tivostream_v0p9\The Fugitive -- This'll Kill You.mpg.txt
>>>MetaData.java: com.hme.tivo.videostream.MetaData.exists(line 106):
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2112,
bounds=0,0,640x480] x=32 y=24 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=The Fugit
ive -- This'll Kill You.mpg
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2112,
bounds=0,0,640x480] x=32 y=420 h_multiplier=1 type=
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2112,
bounds=0,0,640x480] x=32 y=320 h_multiplier=6 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=258
>>>VText.java: com.hme.tivo.videostream.VText.setColor(line 61): object=java.awt
.Color[r=255,g=0,b=0]
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2111,
bounds=0,0,640x480] x=32 y=240 h_multiplier=2 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=258
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Starting
The Fugitive -- This'll Kill You.mpg ...
No firewalls anywhere in it. Will keep looking unless you have another idea!?
chlorox
11-19-2008, 01:37 PM
If I'm reading this right, the only h264 video that works is in an MP4 container (MOV wrapper). From what I understand of the MP4 container, the only 5.1 audio it can contain according to spec is AAC 5.1. You can force AC3 5.1 (aka Dolby Digital) into the container (ala -acodec copy), but that violates spec.
So to remain within spec for MP4, you would need to convert the AC3 5.1 to AAC 5.1. To get ffmpeg to do that, your ffmpeg has to be compiled with libfaac support. ffmpeg itself doesn't have a native AAC encoder currently (it's in development, an initial AAC decoder was recently added to ffmpeg trunk), hence the need for the library.
However, even if you create an mp4 file with h264 video and AAC 5.1 audio and the Tivo will play it with tivostream, no one knows what will happen with the audio. If the Tivo just bitstreams the AAC 5.1 signal to your receiver, then chances are your receiver doesn't support AAC 5.1 and won't know what to do with the signal. If you happen to have an AAC 5.1 capable receiver, it just might work.
In my case, my receiver can't handle AAC 5.1 so I would have to hope that Tivo wrote a AAC 5.1 decoder and then set the Tivo unit to decode it to PCM and pass that out to my receiver. If they did that then maybe I could get 5.1 audio.
Has anyone tried playing an EVO or an Mpeg2 TS file with tivostream? Both those support h264 video and AC3 5.1 audio.
an m4v file is an MP4 file with AC3 5.1.... (same exact thing but it's allowed to have AC3)
moyekj
11-19-2008, 02:01 PM
Laserfan, from your logs it looks like tivostream is not reaching the point where it sends the stream to the Tivo(s) for some reason, but there's no Java exception being generated either so it doesn't appear to be crashing.
Perhaps the file naming is causing an issue somewhere (due to a tivostream bug). Try renaming the file to a very simple name without special characters or spaces just to see if that gets any further...
Laserfan
11-19-2008, 04:04 PM
...there's no Java exception being generated either so it doesn't appear to be crashing.
Try renaming the file to a very simple name...Changed the file to Fugitive.mpg and got rid of the others, some of which were attempts to mux .264 files but which failed miserably (thought maybe getting them out of there was prudent). Anyway, same thing.
About Java, when tivostream worked for me I was running 1.5.0.11. Then it stopped working and I un-installed and re-installed to no effect. So I un-installed again and from the initial trouble post(s) above have been running:
C:\>java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
I should ask--is this build OK? Should I go back to 1.5.0.11 (which I think is the last of the 1.5 versions). I at least want to start-over troubleshooting this with the right version of Java that you'd recommend.
I'm maniacal to get this working again, and then next to figure-out how to properly do 264s for my Tivos. Thanks for paying attention here! Appreciated!!! :)
moyekj
11-19-2008, 04:25 PM
Changed the file to Fugitive.mpg and got rid of the others, some of which were attempts to mux .264 files but which failed miserably (thought maybe getting them out of there was prudent). Anyway, same thing.
About Java, when tivostream worked for me I was running 1.5.0.11. Then it stopped working and I un-installed and re-installed to no effect. So I un-installed again and from the initial trouble post(s) above have been running:
C:\>java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
I should ask--is this build OK? Should I go back to 1.5.0.11 (which I think is the last of the 1.5 versions). I at least want to start-over troubleshooting this with the right version of Java that you'd recommend.
I'm maniacal to get this working again, and then next to figure-out how to properly do 264s for my Tivos. Thanks for paying attention here! Appreciated!!! :)
That version of Java matches exactly what I am running on Windows so should work fine. As I said your problem seems rather unique as the application is not crashing but it's not getting to the point where it sends the stream either so something is going wrong.
Perhaps try out tivostream_v0p8 and see if you have same issue there? (There may be extra log commands showing in that version that may help pinpoint the problem further).
EDIT: Another thing to try is reboot your Tivo(s) to see if that makes a difference (I doubt it but worth a shot).
Laserfan
11-19-2008, 05:47 PM
EDIT: Another thing to try is reboot your Tivo(s) to see if that makes a difference (I doubt it but worth a shot).Kevin, I'd tried running tivostream on 2 other computers, turned-off Home Media on one of my Tivos, physically DISCONNECTED a Tivo from my network, messed with router settings, and disconnected other equipment.
I had not tried rebooting a Tivo, but your idea made sense to me, as I recalled that my Popcorn Hour media player needed re-boot when one tried to play the wrong kind of file on it. I had certainly done that with a couple of my attempts at 264 playback.
Well, rebooting worked! Holy bleep! I will sleep tonight, many thanks for that! :up:
It's gonna make finding a muxer that makes tivostream-friendly 264s very difficult, but at least my hours of troubleshooting this problem are over. Jeez, a TiVo reboot, how simple can you get... :o
Thanks again! :)
moyekj
11-19-2008, 05:55 PM
Kevin, I'd tried running tivostream on 2 other computers, turned-off Home Media on one of my Tivos, physically DISCONNECTED a Tivo from my network, messed with router settings, and disconnected other equipment.
I had not tried rebooting a Tivo, but your idea made sense to me, as I recalled that my Popcorn Hour media player needed re-boot when one tried to play the wrong kind of file on it. I had certainly done that with a couple of my attempts at 264 playback.
Well, rebooting worked! Holy bleep! I will sleep tonight, many thanks for that! :up:
It's gonna make finding a muxer that makes tivostream-friendly 264s very difficult, but at least my hours of troubleshooting this problem are over. Jeez, a TiVo reboot, how simple can you get... :o
Thanks again! :) I guess I should know better and always make a reboot my 1st suggestion. :) Anyway glad it's working now.
As far as encoding H.264 if you use "kmttg" there are 2 encoding profiles called "tivostream_sd" and "tivostream_hd" which use ffmpeg to create files that will stream to Tivos (it automatically runs the encodings through qt-faststart after ffmpeg). If you don't want to install kmttg then you can use ffmpeg & qt-faststart directly to do it (I can post the exact ffmpeg commands necessary), but having a GUI makes things easier. For SD files it's best to leave them as mpeg2. H.264 format is handy for HD files as it cuts down the bandwidth needed to stream them and keep up with real time playback.
Laserfan
11-19-2008, 09:59 PM
I guess I should know better and always make a reboot my 1st suggestion.In my own defense neither of my Tivos showed any hint of instability, and in 8+ years of owning Tivo I've had to reboot only a couple of times so I just never think about it!
Re: encoding 264 for Tivo, as I indicated I already have a Popcorn Hour that plays everything I throw at it, but it sure would be nice, for the room I have (only) an HDTV and TivoHD in (not the PCH), if I could re-mux & play Blu-ray discs, both comm'l and homebrew. In particular I like to re-encode HDTV to BD because it's the most efficient way to back-up such programs in full HD glory, and cost-effective too (DVD-5/9).
I need either to figure out how to demux & remux .m2ts files to mp4, or I suppose the alternative might be to start by re-encoding for tivostream mp4, then trying to convert those to BD-compliant (without re-encoding which takes days for me). But I don't know anything about mp4 containers.
P.S. Altho I'm not going to use it this way, I discovered tonight that tivostream works on my 450MHz P3 from, what, 1998? Streaming SD that is. Still, pretty amazing stuff.
menos
11-19-2008, 11:18 PM
3 GB is a little too big to deal with. Since you know about where it is crapping out perhaps you can use VRD to edit out everything but shortly before and after the point it craps out and then send me the resulting mpeg2 clip? If resulting mpeg2 is below 1GB then I can work with that so please PM me and I can give you an upload location (ftp).
EDIT: Of course it's possible that after editing the file as such and re-encoding to mpeg4 that it will work fine, but it's worth a shot.
Initial results are that the .mpg streams fine though way, way slower :(. I've tried cutting a chunk of the video out of the .mp4 and the .mpg +-3 minutes around the failure timecode, but the shorter samples stream fine.
Both of the files I've worked today have had the problem. One died after 21:16 and the other died at 20:50. Coincidence?
Like the last attempt this is the entry in the log
21:17:49,234 INFO [Acceptor] AppHost - 192.168.1.50 I/O Exception handling HTTP GET Terminator The Sarah Connor Chronicles-(Nov-17-2008)-Complications.mp4: Connection reset by peer: socket write error
I guess it's funny but that is the same error you get if you just hit the left arrow and leave the stream. It's like the tivo is killing the stream for some reason.
menos
11-19-2008, 11:36 PM
The plot thickens. Both of the problem children videos have the exact same problem and die in the exact same place when using wcmbrine's hme/vlc streamer. I guess I need some way of verifying the .mp4 file doesn't have any errors.
They play fine in vlc, though quicktime errors when I try and play them through it (should they play through quicktime?).
moyekj
11-19-2008, 11:58 PM
The plot thickens. Both of the problem children videos have the exact same problem and die in the exact same place when using wcmbrine's hme/vlc streamer. I guess I need some way of verifying the .mp4 file doesn't have any errors.
They play fine in vlc, though quicktime errors when I try and play them through it (should they play through quicktime?). That's good information that the hme/vlc streamer also fails which points the finger at some .mp4 incompatibility for Tivo. Which encoding profile did you use? If you used tivostream_hd try using tivostream_sd instead to see if that works.
Laserfan
11-23-2008, 08:39 AM
One minor update... 2 mbits/sec for 1080p is a pretty lousy bit rate, even for upscaled standard def. It looks ok on a standard def TV (32") but it's pretty lousy to my eyes on the 1080i RPTV I have. Compare that to 10 mbits/sec for a Wall-E trailer I have from Pixar (also 1080p). Broadcast HDTV (which is Mpeg-2) is anywhere from 12-19 mbits/sec or 1080i.
I'll try some better rates and see what looks good to the eye.I've made a 1080p .mp4 that plays beautifully (a little over 5Mbps) using MP4Muxer which is a GUI front-end to MP4Creator. It now includes AC3 support, but my first effort results in no sound out of Tivo. Maybe it doesn't like the 640Kbps audio track bitrate--I will try 448 instead to check.
EDIT: Turns out 640Kbps AC3 is OK; I think I just de-selected the "Interleaving" checkbox in MP4Muxer. And the total bitrate is 6600Kbps--I will try to find the upper range of 1080p bitrate the TiVo will handle. This is very exciting stuff!
westside_guy
11-23-2008, 03:16 PM
I'm having a small problem with tivostream and certain mp4 files. I've got a few H.264 / AAC mp4 files that are widescreen 640x360 (they're TV shows we purchased from iTunes maybe a year ago, but recently ran through Requiem so we could play them on the TV rather than our computer). If I use tivostream to stream and watch them (to a Tivo HD feeding a 16:9 Sony Bravia TV), they are displayed as if they have a 4:3 aspect ratio rather than 16:9 - but if I transfer them to the Tivo using pytivo instead, they display correctly.
I don't have very many digital videos to use for comparison; but this aspect ratio problem seems to only effect these particular shows - other files appear to display using the correct aspect ratio. However I don't have any other iTunes-purchased television shows to use for comparison - I don't have any other videos that are 640x360 actually.
Any ideas how I can rectify this? Thank you!
moyekj
11-23-2008, 04:45 PM
I'm having a small problem with tivostream and certain mp4 files. I've got a few H.264 / AAC mp4 files that are widescreen 640x360 (they're TV shows we purchased from iTunes maybe a year ago, but recently ran through Requiem so we could play them on the TV rather than our computer). If I use tivostream to stream and watch them (to a Tivo HD feeding a 16:9 Sony Bravia TV), they are displayed as if they have a 4:3 aspect ratio rather than 16:9 - but if I transfer them to the Tivo using pytivo instead, they display correctly.
I don't have very many digital videos to use for comparison; but this aspect ratio problem seems to only effect these particular shows - other files appear to display using the correct aspect ratio. However I don't have any other iTunes-purchased television shows to use for comparison - I don't have any other videos that are 640x360 actually.
Any ideas how I can rectify this? Thank you! There's probably not a 16:9 flag defined in those videos so Tivo is assuming 4:3. There's probably not an easy way to fix it other than stretching the picture horizontally which if you use Native output mode you may be able to do with TV settings, or if you use some fixed output mode on Tivo then choose "Full" under Aspect Correction Mode. Note, aspect ratio button doesn't work inside tivostream playback so you need to set it externally before starting tivostream if you go that route.
menos
11-23-2008, 08:21 PM
That's good information that the hme/vlc streamer also fails which points the finger at some .mp4 incompatibility for Tivo. Which encoding profile did you use? If you used tivostream_hd try using tivostream_sd instead to see if that works.
Update: The exact same .mpg that was encoded to the tivostream_hd profile and failed was encoded to the tivostream_sd profile and streamed correctly.
Isn't the only difference between the two the bitrate?
moyekj
11-23-2008, 11:27 PM
Update: The exact same .mpg that was encoded to the tivostream_hd profile and failed was encoded to the tivostream_sd profile and streamed correctly.
Isn't the only difference between the two the bitrate? Yes, bitrate is only difference. _hd is 8000k and _sd is 2000k. Perhaps editing the _hd profile and backing down to 6000k will solve the problem and still be a good encode (the file to edit is tivo_mp4_encode.pl).
Laserfan
11-24-2008, 08:17 PM
Does anyone here have a TivoHD with the new update (11.0.P3 I think) and is tivostream working? My S3 w/9.4 sees my tivostream server but not the TivoHD (yes I rebooted it ;)).
BiggieSmalls
11-24-2008, 09:57 PM
This App ROCKS! Is it possible to have multiple instances of this app running on various machines throughout the network?
I suppose each stream server would need to be named differently so there aren't duplicate "Video Streamer" apps listed on the Tivo.
moyekj
11-25-2008, 12:01 AM
This App ROCKS! Is it possible to have multiple instances of this app running on various machines throughout the network?
I suppose each stream server would need to be named differently so there aren't duplicate "Video Streamer" apps listed on the Tivo. Yes you can run multiple instances on different machines. I believe when you have more than 1 of same name the second will be called "Video Streamer [1]", the third "Video Streamer [2]", etc.
NOTE: I know it's not what you are asking, but while technically one instance of this app running on one computer can serve multiple Tivos at once I didn't write the app with that in mind, so while it's possible to start multiple shows playing back from 1 server I don't believe you can exit out of playback mode properly once you do that (the app crashes I believe). It should be possible to fix things so that serving more than 1 Tivo at a time works properly - perhaps a future enhancement if the need is there.
Emillion
11-25-2008, 02:03 PM
1. Posted this on the pyTivo thread but it is common to tivostream and Tivo Desktop too, on a TiVo HD, 9.4. Wondering if this is a known issue and would appreciate any suggestions for a fix... It would apply to any DVD saved as .vob, renamed as .mpg and then tivostreamed.
... most of the 16x9 DVD vob files still show bars on top/bottom on a 16:9 display... they are MPEG2/AC3 files ... looks like a TiVo problem? No matter what TiVo settings I try - the bars are still there. However I have found DVD-vob files that don't show the bars and the only difference between the files looks to be the "player telecine" 3:2 pulldown. The files "with bars" show 23.976 pics/s but with 3:2 pulldown still 29.97 frames/s (NTSC), 720x480, sar 3:2, par 32:27, dar 16:9. The files that play full 16:9 screen are the same except they have 29.97 pics/s and don't require 3:2 pulldown.
2. Any way to fix the "vob rename to mpg" issue the same way you tricked the lower-upper case for extensions? Would be nice not to have to rename the vob files; and internaly they still are DVD-vob files even when renamed as mpgs so that TiVo could play them...
3. Is the "go back to live TV" after five minutes fixed in the new 0.9 tivostream version?
Thank you
moyekj
11-25-2008, 03:45 PM
1. Posted this on the pyTivo thread but it is common to tivostream and Tivo Desktop too, on a TiVo HD, 9.4. Wondering if this is a known issue and would appreciate any suggestions for a fix... It would apply to any DVD saved as .vob, renamed as .mpg and then tivostreamed.
... most of the 16x9 DVD vob files still show bars on top/bottom on a 16:9 display... they are MPEG2/AC3 files ... looks like a TiVo problem? No matter what TiVo settings I try - the bars are still there. However I have found DVD-vob files that don't show the bars and the only difference between the files looks to be the "player telecine" 3:2 pulldown. The files "with bars" show 23.976 pics/s but with 3:2 pulldown still 29.97 frames/s (NTSC), 720x480, sar 3:2, par 32:27, dar 16:9. The files that play full 16:9 screen are the same except they have 29.97 pics/s and don't require 3:2 pulldown.
2. Any way to fix the "vob rename to mpg" issue the same way you tricked the lower-upper case for extensions? Would be nice not to have to rename the vob files; and internaly they still are DVD-vob files even when renamed as mpgs so that TiVo could play them...
3. Is the "go back to live TV" after five minutes fixed in the new 0.9 tivostream version?
Thank you
1. I don't think there's anything that can be done in tivostream to deal with that. The streams are being thrown at Tivo as is and it's deciding aspect ratio to display. I have seen several cases of YouTube playback where the aspect ratio is not right either. So short of possibly adding flags to the mpeg stream itself I'm not sure what can be done.
2. Tivo rejects files with .vob extension last I checked, so while you can add .vob as an extension in tivostream to make the files visible in browse mode I don't think Tivo will accept them. There is a way to pass a mime type to Tivo HME streams but I think it basically ignores that and tries to use file extension to determine file type. I'll have to experiment some more with mime type but I think I tried that before and didn't get far.
3. Timeout to live TV during video playback was fixed several releases ago (v0p3 in August). If you are talking about timeout while in browser mode with no activity then that is still there (intentionally).
Emillion
11-25-2008, 04:06 PM
1. I don't think there's anything that can be done in tivostream to deal with that. The streams are being thrown at Tivo as is and it's deciding aspect ratio to display. I have seen several cases of YouTube playback where the aspect ratio is not right either. So short of possibly adding flags to the mpeg stream itself I'm not sure what can be done.
2. Tivo rejects files with .vob extension last I checked, so while you can add .vob as an extension in tivostream to make the files visible in browse mode I don't think Tivo will accept them. There is a way to pass a mime type to Tivo HME streams but I think it basically ignores that and tries to use file extension to determine file type. I'll have to experiment some more with mime type but I think I tried that before and didn't get far.
3. Timeout to live TV during video playback was fixed several releases ago (v0p3 in August). If you are talking about timeout while in browser mode with no activity then that is still there (intentionally).
Thank you for your prompt reply,
1. That's what I thought with tivostream - unless there is a flag for 3:2 player telecine...
2. Tx for looking into it - it would be a plus for tivostream. BTW - with pyTivo vob files transfer and play - why? is this an indication it could be done?
3. Just great!
wmcbrine mentioned HME based apps could "play folders" theoretically - any thoughts on tivostream being able to stream an entire folder of music videos, in random order, for example?
moyekj
11-25-2008, 04:31 PM
Thank you for your prompt reply,
1. That's what I thought with tivostream - unless there is a flag for 3:2 player telecine...
2. Tx for looking into it - it would be a plus for tivostream. BTW - with pyTivo vob files transfer and play - why? is this an indication it could be done?
3. Just great!
wmcbrine mentioned HME based apps could "play folders" theoretically - any thoughts on tivostream being able to stream an entire folder of music videos, in random order, for example?
Regarding vob files: pyTivo is HMO protocol not HME so different animal.
Regarding "play folder" option: it's probably doable in theory. In practice I foresee the hardest issue would be to correctly identify when a stream has completed playback to know when to stop the stream and start the next one. From what I recall it's pretty hard right now to distinguish between catching up with the end of buffer and reaching end of file. As a result the behavior in tivostream right now is it will pause the stream in either case. There probably are other ways to determine when end of file is reached but it's not trivial by any means. A good suggestion for future enhancements. If you want to get your hands dirty the source code is there :D (I think source code in Google project is up to v0p8 and I need to check in v0p9).
wmcbrine
11-25-2008, 05:50 PM
There is a way to pass a mime type to Tivo HME streams but I think it basically ignores that and tries to use file extension to determine file type.No, it doesn't. The MIME type overrides the extension if you specify it. Only if there's no MIME type does the TiVo check the extension. I use the MIME type in HME/VLC for VLC-encoded streams; it works fine.
Note that the MIME type reported by the http headers is ignored, but the one specified when creating the Stream works. It looks like this in HME/VLC:
self.stream = hme.Stream(self.app, 'http://%s:%d/' %
(host, vlc.SERVER), 'video/mpeg')
because they're encoded to MPEG-1 (it also works for MPEG-2); for h.264, it would be "video/mp4". I haven't found any other working values, although I suspect "video/x-ms-wmv" may start working in 11.0.
TivoMactopia
11-25-2008, 05:55 PM
Are there any options to bind to a specific interface IP address as we had in .8? I can't get this app to bind to the correct IP (Mac OS X)
moyekj
11-25-2008, 07:20 PM
Are there any options to bind to a specific interface IP address as we had in .8? I can't get this app to bind to the correct IP (Mac OS X)
In .9 I was over-zealous in trying to clean up Tivo's sample Main and stripped out all arguments except --port. For current development version I've already added it back in (along with some other changes), but for now just stick with .8. The only big change from .8 to .9 was making file extensions case insensitive, so if you can live with that issue then .8 should be good enough for now until next release.
moyekj
11-25-2008, 07:24 PM
No, it doesn't. The MIME type overrides the extension if you specify it. Only if there's no MIME type does the TiVo check the extension. I use the MIME type in HME/VLC for VLC-encoded streams; it works fine.
Note that the MIME type reported by the http headers is ignored, but the one specified when creating the Stream works. It looks like this in HME/VLC:
self.stream = hme.Stream(self.app, 'http://%s:%d/' %
(host, vlc.SERVER), 'video/mpeg')
because they're encoded to MPEG-1 (it also works for MPEG-2); for h.264, it would be "video/mp4". I haven't found any other working values, although I suspect "video/x-ms-wmv" may start working in 11.0.
That's great information, thanks for confirming. If that's the case I should be able to get .vob extension working then, though Java HME is a lot more convoluted than your nice Python implementation.
BTW, how do you know that the mime type for wmv files is "video/x-ms-wmv"?
wmcbrine
11-25-2008, 09:19 PM
BTW, how do you know that the mime type for wmv files is "video/x-ms-wmv"?I typed "wmv mime" in the search thingie.
Laserfan
11-25-2008, 10:44 PM
No one here w/rev 11? Tivostream's broke!? :eek:
Does anyone here have a TivoHD with the new update (11.0.P3 I think) and is tivostream working? My S3 w/9.4 sees my tivostream server but not the TivoHD (yes I rebooted it ;)).
scronin
11-26-2008, 12:24 AM
I've been looking all over trying over google and this thread trying to determine how to simply launch tivostream via galleon. I'd really like tivostream to always be running, and be in the background as a service on my always on desktop pc. What do I need to do to make this happen? what should my launch.txt file look like? Is there a way to makek tivostream launch as a service in windows vista other than via galleon, or can it be accomplished in another manner? I appreciate your help. I'm just not as techie, as you guys, and I must say i'm EXTREMELY impressed with the capability of both tivostream!!
Steve
moyekj
11-26-2008, 12:48 AM
I've been looking all over trying over google and this thread trying to determine how to simply launch tivostream via galleon. I'd really like tivostream to always be running, and be in the background as a service on my always on desktop pc. What do I need to do to make this happen? what should my launch.txt file look like? Is there a way to makek tivostream launch as a service in windows vista other than via galleon, or can it be accomplished in another manner? I appreciate your help. I'm just not as techie, as you guys, and I must say i'm EXTREMELY impressed with the capability of both tivostream!!
Steve I don't use Galleon but the steps were outlined earlier in this thread:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=6690062#post6690062
moyekj
11-26-2008, 12:55 AM
No one here w/rev 11? Tivostream's broke!? :eek: Don't have it yet, but it's hard to imagine it wouldn't at least show up under Music, Photos & More. My guess is in current state no other non-Tivo HME app will show up either so the Tivo is not getting the MDNS (Bonjour) broadcasts. Are Tivo's HME apps such as YouTube, Swivel Search, etc. working at least?
Another Tivo reboot probably can't hurt either if you haven't tried that already.
Laserfan
11-26-2008, 11:24 AM
Don't have it yet, but it's hard to imagine it wouldn't at least show up under Music, Photos & More. My guess is in current state no other non-Tivo HME app will show up either so the Tivo is not getting the MDNS (Bonjour) broadcasts. Are Tivo's HME apps such as YouTube, Swivel Search, etc. working at least?Works w/my 9.4 S3, not with my v11 TivoHD of several days.
In the new Video on Demand and YouTube menu I'm still "opted-out" so I get nothing there but a screen inviting me to change preferences. On the new Music, Photos, & Showcases menu I still get everything that was there before (in addition to Showcases as No. 1 on the list) including Rhapsody, YouTube (!), Live365, Wordsmith, etc. but no Video Streamer. The other entries work fine still. BTW I disabled Home Networking and re-enabled, still no worky.
Surprised I guess that somehow I scored v11 and no one else here has yet? And dunno either why my 9.4 machine hasn't been "upgraded"--you'd think TiVo would try to update all the machines a family might have, so we wouldn't have to deal with different UIs... :down:
RaGINaR
11-27-2008, 12:17 AM
Alrighty, finally have some free time to try this application out. I made some copies of DVDs that I own and ripped them using Handbrake to an "Ipod hi-res" picture. Then I used the python version of qt-faststart to move the headers to where they need to be. The file seems to start streaming, however it doesn't have any video. I get a prompt at the bottom that looks like a time thing (0:00 on the left and right).
I was pretty stoked to not get the 0xFFFF thing anymore. Any ideas on what I'm doing wrong? Do I need to re-encode?
Thanks,
Chris
moyekj
11-27-2008, 01:05 AM
That's great information, thanks for confirming. If that's the case I should be able to get .vob extension working then... I defined proper mime type for files with .vob extension and now they play fine with tivostream in development version.
westside_guy
11-27-2008, 01:10 AM
Surprised I guess that somehow I scored v11 and no one else here has yet? And dunno either why my 9.4 machine hasn't been "upgraded"--you'd think TiVo would try to update all the machines a family might have, so we wouldn't have to deal with different UIs... :down:
My Series 2 got its "Fall update" a couple days ago; but my Tivo HD just got it this evening.
moyekj
11-27-2008, 01:25 AM
Alrighty, finally have some free time to try this application out. I made some copies of DVDs that I own and ripped them using Handbrake to an "Ipod hi-res" picture. Then I used the python version of qt-faststart to move the headers to where they need to be. The file seems to start streaming, however it doesn't have any video. I get a prompt at the bottom that looks like a time thing (0:00 on the left and right).
I was pretty stoked to not get the 0xFFFF thing anymore. Any ideas on what I'm doing wrong? Do I need to re-encode?
Thanks,
Chris If the status bar at the bottom doesn't move then Tivo is not accepting the stream. I did try a short clip using Handbrake 0.9.3 and the "iPhone & iPod Touch" profile followed by qt-faststart. The result did play back on my Tivo but was a little jumpy. I get better results with the "tivostream_sd" profile in kmttg which uses following ffmpeg recipe (you can up the -b argument for higher quality):
ffmpeg -y -i inputFile.mpg -vcodec libx264 -coder 0 -level 31 -r 29.97 -sameq -g 300 -bufsize 14745k -b 2000k -maxrate 16000k -bug "+autodetect+ms" -me epzs -trellis 2 -mbd 1 -acodec copy -f mp4 outputFile.mp4
Laserfan
11-27-2008, 11:10 AM
My Series 2 got its "Fall update" a couple days ago; but my Tivo HD just got it this evening.So is tivostream working for you on your TivoHD? :confused:
westside_guy
11-27-2008, 03:48 PM
So is tivostream working for you on your TivoHD? :confused:
I had to re-enable it to check, because I stopped using tivostream in favor of pyTivo. But yes - tivostream is working for me on my Tivo HD running 11.x.
moyekj
11-27-2008, 05:48 PM
I hadn't noticed but one of my units got the 11.x update yesterday (rebooted and installed overnight). I can confirm that tivostream works fine.
Also, for .wmv files I see that while the unit accepts the streams now I can't get them to actually play back, and a couple of them caused my unit to reboot. Will have to experiment some more.
moyekj
11-27-2008, 07:49 PM
Also, for .wmv files I see that while the unit accepts the streams now I can't get them to actually play back, and a couple of them caused my unit to reboot. Will have to experiment some more. Experimenting for hours with this now and still no luck getting Tivo with 11.x to play various wmv files back, though I've had a few that actually display the correct total length of video and show some activity but still no audio or video. I'm going to study closely the Netflix blog on encoding to see if I can get any clues from there...
Emillion
11-27-2008, 08:44 PM
I defined proper mime type for files with .vob extension and now they play fine with tivostream in development version.
Many thanks for this, we'll wait for the next release...
Laserfan
11-28-2008, 09:12 AM
I had to re-enable it to check, because I stopped using tivostream in favor of pyTivo. But yes - tivostream is working for me on my Tivo HD running 11.x.
I hadn't noticed but one of my units got the 11.x update yesterday (rebooted and installed overnight). I can confirm that tivostream works fine.Thanks for checking--guess I have some serious troubleshooting to do... :o
Laserfan
11-28-2008, 12:04 PM
EDIT: I found the problem--it is "Turbo" mode on my Airlink101 AR410W access point/AP431W (tivo side) ap client combo. Super G works, Super G with Turbo mode does not. Can't imagine how v11.0.P3 exposed this, but since even HD programs appear to stream w/no issue in G mode, I consider this "case closed"! Whew! :)
Regarding my TivoHD's inability to "see" tivostream, I've tried a CAT5E cable in lieu of my Wireless AP and it works! As soon as I connect the cable, the Video Streamer selection appears in Music, Photos, & Showcases. What is very odd however is that if I do not exit-out of tivostream, I can re-connect the WAP and it works. Only if I exit tivostream altogether while connected via WAP do I lose Video Streamer and can't re-connect again without using the CAT5E cable first. I hope there is something that inspires moyekj or wmcbrine cuz AFAICT there is no filter set-up in my WAP that might account for this.
Below is the log showing what happened when I did the following:
1. Connect CAT5E in place of WAP, Video Streamer appears
2. Play a video (Fugitive) and it starts & plays OK
3. Go Back (left-arrow) to videostream menu
4. Re-plug Wireless AP
5. Select video (Test1nointerleave) and it starts & plays OK
6. Go Back to videostream menu and select again Fugitive video (still connected via WAP) and it plays OK
7. Back all-the-way out of videostream to Music, Photos, & Showcases and Video Streamer has disappeared again
8. Plug-in CAT5E, Video Streamer reappears
9. Re-plug to WAP, VS disappears again
Is there anything about this that exposes a weakness in tivostream, or is my WAP solely to blame here?
p.s. Recall too that other than Video Streamer my Music, Photos, & Showcases menu items all appear & work OK via the WAP, as too does the tivo daily connect...
C:\tivostream>set DEBUG=1
C:\tivostream>java -cp tivostream_v0p9.jar com.hme.tivo.videostream.Main com.hme
.tivo.videostream.videostream
STARTING tivostream...
LOG: added factory
MDNS: http://192.168.1.108:7288/videostream/
LOG: 192.168.1.105 icon.png HTTP GET - to factory /videostream/
LOG: 192.168.1.105 icon.png HTTP GET - to factory /videostream/
>> Reading config file: config.ini
>>config: topdir=.
>>config: extensions=.mpg .mpeg2 .mp2 .mp4 .mpeg4
>>config: font=medium
>>config: timeout_status_bar=5
>>config: timeout_info=10
>>config: skip_back=8
>>config: skip_forwards=30
>>config: slow_speed=0.125
>> Reading bookmarks file: bookmarks
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=C:\t
ivostream
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2089,
focusable,bounds=0,0,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=C:\tivost
ream
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2089,focusable,bounds=0,0,512x30] v2=null
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Top Level
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: HME receiver connected
>>>Listener.java: com.hme.tivo.videostream.Listener.readEvents(line 315): app=vi
deostream[#1,uri=null] in=com.tivo.hme.host.http.server.HttpConnection$InStream@
911f71
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getLogger(line 91):
LOG: unknown event opcode : 8
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getLogger(line 91):
LOG: unknown event opcode : 10
>>>videostream.java: com.hme.tivo.videostream.videostream.handleAction(line 92):
action=push
>>>videostream.java: com.hme.tivo.videostream.videostream.makeFileName(line 87):
name=C:\tivostream
>>>videostream.java: com.hme.tivo.videostream.videostream.lastEntryPush(line 197
): name=C:\tivostream
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.updateFileList(lin
e 71): DIR=C:\tivostream
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=DIR: C:\t
ivostream
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.clear(line 39):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=null v2=BView[#-1,focusable,bounds=0,0,512x30]
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.getSortedByName(li
ne 144): DIR=C:\tivostream files=[Ljava.lang.String;@1f7d134
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Fugitive.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=India Arie - Purify Me.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Lonesome Dove Part 1.mp4
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Test1nointerleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2118,focusable,bounds=0,0,512x30] index=0
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Fugi
tive.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2118,
focusable,bounds=0,0,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Fugitive.
mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2124,focusable,bounds=0,30,512x30] index=1
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Indi
a Arie - Purify Me.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2124,
focusable,bounds=0,30,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=India Ari
e - Purify Me.mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2130,focusable,bounds=0,60,512x30] index=2
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Lone
some Dove Part 1.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2130,
focusable,bounds=0,60,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Lonesome
Dove Part 1.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2136,focusable,bounds=0,90,512x30] index=3
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Test
1nointerleave.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2136,
focusable,bounds=0,90,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Test1noin
terleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2118,focusable,bounds=0,0,512x30] v2=null
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleAction(line 92):
action=push
>>>videostream.java: com.hme.tivo.videostream.videostream.makeFileName(line 87):
name=Fugitive.mpg
>>>videostream.java: com.hme.tivo.videostream.videostream.lastEntryPush(line 197
): name=Fugitive.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Fugi
tive.mpg
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getBaseURI(line 153):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.startStream(line 52): UR
I=http://192.168.1.108:7288/videostream/Fugitive.mpg fileName=Fugitive.mpg
>>>MetaData.java: com.hme.tivo.videostream.MetaData.<init>(line 17): fileName=C:
\tivostream\Fugitive.mpg
>>>MetaData.java: com.hme.tivo.videostream.MetaData.parseMetaData(line 25): file
=C:\tivostream\Fugitive.mpg.txt
>>>MetaData.java: com.hme.tivo.videostream.MetaData.exists(line 106):
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2104,
bounds=0,0,640x480] x=32 y=24 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Fugitive.
mpg
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2104,
bounds=0,0,640x480] x=32 y=420 h_multiplier=1 type=
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2104,
bounds=0,0,640x480] x=32 y=320 h_multiplier=6 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=258
>>>VText.java: com.hme.tivo.videostream.VText.setColor(line 61): object=java.awt
.Color[r=255,g=0,b=0]
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2103,
bounds=0,0,640x480] x=32 y=240 h_multiplier=2 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=258
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Starting
Fugitive.mpg ...
>>>Listener.java: com.hme.tivo.videostream.Listener.handle(line 362): http=HttpR
equest /videostream/Fugitive.mpg
>>>Listener.java: com.hme.tivo.videostream.Listener.factoryCompare(line 334): pa
th=/videostream/Fugitive.mpg uri=/videostream/
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: 192.168.1.105 Fugitive.mpg HTTP GET - to factory /videostream/
>>>videostream.java: com.hme.tivo.videostream.videostream$videostreamFactory.get
Stream(line 53): uri=Fugitive.mpg
url=file:/C:/tivostream/Fugitive.mpg
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.<init>(line 17): parent=BV
iew[#2103,bounds=0,0,640x480]
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.displayStatusBar(line 97
): state=true
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.makeVisible(line 59): stat
e=true
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.makeVisible(line 59): stat
e=false
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.handleKeyPress(line 184)
: code=4 rawcode=16777732
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.updatePositionsHash(line
420): time_position=10460
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 536
): time2byte hash:
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 0=11436180
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 45245=12237720
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 49249=13477260
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 54254=14856960
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 59259=16219140
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 64264=17484960
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 70170=18917220
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 74174=20196180
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 80080=21672240
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 85285=23043180
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.updateFileList(lin
e 71): DIR=C:\tivostream
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=DIR: C:\t
ivostream
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.clear(line 39):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.remove(line 101):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=null v2=BView[#-1,focusable,bounds=0,0,512x30]
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.getSortedByName(li
ne 144): DIR=C:\tivostream files=[Ljava.lang.String;@1813fac
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Fugitive.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=India Arie - Purify Me.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Lonesome Dove Part 1.mp4
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Test1nointerleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2238,focusable,bounds=0,0,512x30] index=0
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Fugi
tive.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2238,
focusable,bounds=0,0,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Fugitive.
mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2244,focusable,bounds=0,30,512x30] index=1
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Indi
a Arie - Purify Me.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2244,
focusable,bounds=0,30,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=India Ari
e - Purify Me.mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2250,focusable,bounds=0,60,512x30] index=2
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Lone
some Dove Part 1.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2250,
focusable,bounds=0,60,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Lonesome
Dove Part 1.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2256,focusable,bounds=0,90,512x30] index=3
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Test
1nointerleave.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2256,
focusable,bounds=0,90,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Test1noin
terleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2238,focusable,bounds=0,0,512x30] v2=null
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.focusOn(line 131):
entry=Fugitive.mpg
videostream[#1,uri=null] warning: resource 2154 not found.
videostream[#1,uri=null] warning: resource 2154 not found.
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getLogger(line 91):
LOG: Received event for unknown resource id. Id = 2154, event = 2154.RESOURCE_IN
FO(closed, {position=0, duration=0, start=0, speed=1})
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: 192.168.1.105 I/O Exception handling HTTP GET Fugitive.mpg: Connection res
et by peer: socket write error
>>>Listener.java: com.hme.tivo.videostream.Listener.handleException(line 214): c
tx=HttpRequest /videostream/Fugitive.mpg t=java.net.SocketException: Connection
reset
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=3 rawcode=16777475
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2244,focusable,bounds=0,30,512x30] v2=BView[#2238,focusable,
bounds=0,0,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2244,focusable,bounds=0,30,512x30] v2=BView[#2238,focusable,b
ounds=0,0,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=3 rawcode=16777475
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2250,focusable,bounds=0,60,512x30] v2=BView[#2244,focusable,
bounds=0,30,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2250,focusable,bounds=0,60,512x30] v2=BView[#2244,focusable,b
ounds=0,30,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=3 rawcode=16777475
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2256,focusable,bounds=0,90,512x30] v2=BView[#2250,focusable,
bounds=0,60,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2256,focusable,bounds=0,90,512x30] v2=BView[#2250,focusable,b
ounds=0,60,512x30]
>>>videostream.java: com.hme.tivo.videostream.videostream.handleAction(line 92):
action=push
>>>videostream.java: com.hme.tivo.videostream.videostream.makeFileName(line 87):
name=Test1nointerleave.mp4
>>>videostream.java: com.hme.tivo.videostream.videostream.lastEntryPush(line 197
): name=Test1nointerleave.mp4
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Test
1nointerleave.mp4
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getBaseURI(line 153):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.startStream(line 52): UR
I=http://192.168.1.108:7288/videostream/Test1nointerleave.mp4 fileName=Test1noin
terleave.mp4
>>>MetaData.java: com.hme.tivo.videostream.MetaData.<init>(line 17): fileName=C:
\tivostream\Test1nointerleave.mp4
>>>MetaData.java: com.hme.tivo.videostream.MetaData.parseMetaData(line 25): file
=C:\tivostream\Test1nointerleave.mp4.txt
>>>MetaData.java: com.hme.tivo.videostream.MetaData.exists(line 106):
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2236,
bounds=0,0,640x480] x=32 y=24 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Test1noin
terleave.mp4
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2236,
bounds=0,0,640x480] x=32 y=420 h_multiplier=1 type=
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2236,
bounds=0,0,640x480] x=32 y=320 h_multiplier=6 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=258
>>>VText.java: com.hme.tivo.videostream.VText.setColor(line 61): object=java.awt
.Color[r=255,g=0,b=0]
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2235,
bounds=0,0,640x480] x=32 y=240 h_multiplier=2 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=258
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Starting
Test1nointerleave.mp4 ...
>>>Listener.java: com.hme.tivo.videostream.Listener.handle(line 362): http=HttpR
equest /videostream/Test1nointerleave.mp4
>>>Listener.java: com.hme.tivo.videostream.Listener.factoryCompare(line 334): pa
th=/videostream/Test1nointerleave.mp4 uri=/videostream/
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: 192.168.1.105 Test1nointerleave.mp4 HTTP GET - to factory /videostream/
>>>videostream.java: com.hme.tivo.videostream.videostream$videostreamFactory.get
Stream(line 53): uri=Test1nointerleave.mp4
url=file:/C:/tivostream/Test1nointerleave.mp4
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.<init>(line 17): parent=BV
iew[#2235,bounds=0,0,640x480]
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.displayStatusBar(line 97
): state=true
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.makeVisible(line 59): stat
e=true
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.makeVisible(line 59): stat
e=false
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.handleKeyPress(line 184)
: code=4 rawcode=16777732
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.updatePositionsHash(line
420): time_position=24691
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 536
): time2byte hash:
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 0=19276380
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 39456=20844420
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 42459=22714680
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 45462=24541140
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 48465=26560320
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 51468=28474380
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 54637=30410340
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 57640=32236800
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 60643=34321680
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 63980=36472260
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 66983=38294340
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 69986=40107660
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 72989=41899080
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 75992=43708020
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 78662=45460020
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 81665=47794560
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 83166=50361240
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 86169=52454880
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 88171=54465300
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 90173=56186640
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.updateFileList(lin
e 71): DIR=C:\tivostream
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=DIR: C:\t
ivostream
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.clear(line 39):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.remove(line 101):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=null v2=BView[#-1,focusable,bounds=0,90,512x30]
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.getSortedByName(li
ne 144): DIR=C:\tivostream files=[Ljava.lang.String;@198dfaf
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Fugitive.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=India Arie - Purify Me.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Lonesome Dove Part 1.mp4
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Test1nointerleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2380,focusable,bounds=0,0,512x30] index=0
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Fugi
tive.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2380,
focusable,bounds=0,0,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Fugitive.
mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2386,focusable,bounds=0,30,512x30] index=1
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Indi
a Arie - Purify Me.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2386,
focusable,bounds=0,30,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=India Ari
e - Purify Me.mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2392,focusable,bounds=0,60,512x30] index=2
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Lone
some Dove Part 1.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2392,
focusable,bounds=0,60,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Lonesome
Dove Part 1.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2398,focusable,bounds=0,90,512x30] index=3
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Test
1nointerleave.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2398,
focusable,bounds=0,90,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Test1noin
terleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2380,focusable,bounds=0,0,512x30] v2=null
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.focusOn(line 131):
entry=Test1nointerleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2398,focusable,bounds=0,90,512x30] v2=BView[#2380,focusable,
bounds=0,0,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2398,focusable,bounds=0,90,512x30] v2=BView[#2380,focusable,b
ounds=0,0,512x30]
videostream[#1,uri=null] warning: resource 2273 not found.
videostream[#1,uri=null] warning: resource 2273 not found.
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getLogger(line 91):
LOG: Received event for unknown resource id. Id = 2273, event = 2273.RESOURCE_IN
FO(closed, {position=0, duration=0, start=0, speed=1})
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: 192.168.1.105 I/O Exception handling HTTP GET Test1nointerleave.mp4: Conne
ction reset by peer: socket write error
>>>Listener.java: com.hme.tivo.videostream.Listener.handleException(line 214): c
tx=HttpRequest /videostream/Test1nointerleave.mp4 t=java.net.SocketException: Co
nnection reset
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=2 rawcode=16777218
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2392,focusable,bounds=0,60,512x30] v2=BView[#2398,focusable,
bounds=0,90,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2392,focusable,bounds=0,60,512x30] v2=BView[#2398,focusable,b
ounds=0,90,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=2 rawcode=16777218
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2386,focusable,bounds=0,30,512x30] v2=BView[#2392,focusable,
bounds=0,60,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2386,focusable,bounds=0,30,512x30] v2=BView[#2392,focusable,b
ounds=0,60,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=2 rawcode=16777218
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=BView[#2380,focusable,bounds=0,0,512x30] v2=BView[#2386,focusable,b
ounds=0,30,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2380,focusable,bounds=0,0,512x30] v2=BView[#2386,focusable,bo
unds=0,30,512x30]
>>>videostream.java: com.hme.tivo.videostream.videostream.handleAction(line 92):
action=push
>>>videostream.java: com.hme.tivo.videostream.videostream.makeFileName(line 87):
name=Fugitive.mpg
>>>videostream.java: com.hme.tivo.videostream.videostream.lastEntryPush(line 197
): name=Fugitive.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Fugi
tive.mpg
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getBaseURI(line 153):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.startStream(line 52): UR
I=http://192.168.1.108:7288/videostream/Fugitive.mpg fileName=Fugitive.mpg
>>>MetaData.java: com.hme.tivo.videostream.MetaData.<init>(line 17): fileName=C:
\tivostream\Fugitive.mpg
>>>MetaData.java: com.hme.tivo.videostream.MetaData.parseMetaData(line 25): file
=C:\tivostream\Fugitive.mpg.txt
>>>MetaData.java: com.hme.tivo.videostream.MetaData.exists(line 106):
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2366,
bounds=0,0,640x480] x=32 y=24 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Fugitive.
mpg
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2366,
bounds=0,0,640x480] x=32 y=420 h_multiplier=1 type=
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2366,
bounds=0,0,640x480] x=32 y=320 h_multiplier=6 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=258
>>>VText.java: com.hme.tivo.videostream.VText.setColor(line 61): object=java.awt
.Color[r=255,g=0,b=0]
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2365,
bounds=0,0,640x480] x=32 y=240 h_multiplier=2 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=258
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Starting
Fugitive.mpg ...
>>>Listener.java: com.hme.tivo.videostream.Listener.handle(line 362): http=HttpR
equest /videostream/Fugitive.mpg
>>>Listener.java: com.hme.tivo.videostream.Listener.factoryCompare(line 334): pa
th=/videostream/Fugitive.mpg uri=/videostream/
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: 192.168.1.105 Fugitive.mpg HTTP GET - to factory /videostream/
>>>videostream.java: com.hme.tivo.videostream.videostream$videostreamFactory.get
Stream(line 53): uri=Fugitive.mpg
url=file:/C:/tivostream/Fugitive.mpg
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.<init>(line 17): parent=BV
iew[#2365,bounds=0,0,640x480]
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.displayStatusBar(line 97
): state=true
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.makeVisible(line 59): stat
e=true
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.makeVisible(line 59): stat
e=false
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.handleKeyPress(line 184)
: code=4 rawcode=16777732
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.updatePositionsHash(line
420): time_position=12028
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 536
): time2byte hash:
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 0=11225940
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 44244=12123840
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 48248=13245120
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 52252=14291940
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 56256=15251160
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 59759=16297980
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 64264=17362320
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 68168=18448560
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 72172=19561080
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 76376=20743680
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 81281=21935040
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.printSortedHash(line 539
): 85285=23003760
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.updateFileList(lin
e 71): DIR=C:\tivostream
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=DIR: C:\t
ivostream
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.clear(line 39):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>StatusBar.java: com.hme.tivo.videostream.StatusBar.remove(line 101):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=null
>>>VText.java: com.hme.tivo.videostream.VText.clearResource(line 71):
>>>VText.java: com.hme.tivo.videostream.VText.remove(line 76):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=null v2=BView[#-1,focusable,bounds=0,0,512x30]
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.getSortedByName(li
ne 144): DIR=C:\tivostream files=[Ljava.lang.String;@14fe5c
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Fugitive.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=India Arie - Purify Me.mpg
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Lonesome Dove Part 1.mp4
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeEntryName(line 72): DIR=C:\t
ivostream name=Test1nointerleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2497,focusable,bounds=0,0,512x30] index=0
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Fugi
tive.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2497,
focusable,bounds=0,0,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Fugitive.
mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2503,focusable,bounds=0,30,512x30] index=1
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Indi
a Arie - Purify Me.mpg
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2503,
focusable,bounds=0,30,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=India Ari
e - Purify Me.mpg
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2509,focusable,bounds=0,60,512x30] index=2
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Lone
some Dove Part 1.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2509,
focusable,bounds=0,60,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Lonesome
Dove Part 1.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2515,focusable,bounds=0,90,512x30] index=3
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=Test
1nointerleave.mp4
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2515,
focusable,bounds=0,90,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Test1noin
terleave.mp4
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2497,focusable,bounds=0,0,512x30] v2=null
>>>VText.java: com.hme.tivo.videostream.VText.setVisible(line 46): visible=false
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.focusOn(line 131):
entry=Fugitive.mpg
videostream[#1,uri=null] warning: resource 2415 not found.
videostream[#1,uri=null] warning: resource 2415 not found.
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getLogger(line 91):
LOG: Received event for unknown resource id. Id = 2415, event = 2415.RESOURCE_IN
FO(closed, {position=0, duration=0, start=0, speed=1})
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: 192.168.1.105 I/O Exception handling HTTP GET Fugitive.mpg: Connection res
et by peer: socket write error
>>>Listener.java: com.hme.tivo.videostream.Listener.handleException(line 214): c
tx=HttpRequest /videostream/Fugitive.mpg t=java.net.SocketException: Connection
reset
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=4 rawcode=16777732
>>>videostream.java: com.hme.tivo.videostream.videostream.handleKeyPress(line 15
6): code=4 rawcode=16777732
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.topDirList(line 49
): topDir=[C:\tivostream]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.clear(line 39):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=false v1=null v2=BView[#-1,focusable,bounds=0,0,512x30]
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.createRow(line 18): pare
nt=BView[#2525,focusable,bounds=0,0,512x30] index=0
>>>GLOBAL.java: com.hme.tivo.videostream.GLOBAL.makeFileName(line 65): name=C:\t
ivostream
>>>VText.java: com.hme.tivo.videostream.VText.<init>(line 13): view=BView[#2525,
focusable,bounds=0,0,512x30] x=25 y=4 h_multiplier=1 type=small
>>>VText.java: com.hme.tivo.videostream.VText.setFlags(line 66): flags=1
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=C:\tivost
ream
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleFocus(line 62): fo
cus=true v1=BView[#2525,focusable,bounds=0,0,512x30] v2=null
>>>VText.java: com.hme.tivo.videostream.VText.setValue(line 51): value=Top Level
>>>videostream.java: com.hme.tivo.videostream.videostream.lastEntryPop(line 203)
: name=Fugitive.mpg
>>>InitialScreen.java: com.hme.tivo.videostream.InitialScreen.focusOn(line 131):
entry=Fugitive.mpg
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>videostream.java: com.hme.tivo.videostream.videostream.handleApplicationError
(line 208): code=4 message=view -1 not found
>>>ScreenList.java: com.hme.tivo.videostream.ScreenList.handleKeyPress(line 70):
code=4 rawcode=16777732
>>>videostream.java: com.hme.tivo.videostream.videostream.handleKeyPress(line 15
6): code=4 rawcode=16777732
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: connection to receiver closed
>>>HostContext.java: com.hme.tivo.videostream.HostContext.close(line 353):
>>>HostContext.java: com.hme.tivo.videostream.HostContext.getSocket(line 143):
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: HME receiver disconnected
>>>Listener.java: com.hme.tivo.videostream.Listener.handle(line 362): http=HttpR
equest /videostream/icon.png
>>>Listener.java: com.hme.tivo.videostream.Listener.factoryCompare(line 334): pa
th=/videostream/icon.png uri=/videostream/
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: 192.168.1.105 icon.png HTTP GET - to factory /videostream/
>>>videostream.java: com.hme.tivo.videostream.videostream$videostreamFactory.get
Stream(line 53): uri=icon.png
>>>Listener.java: com.hme.tivo.videostream.Listener.handle(line 362): http=HttpR
equest /videostream/icon.png
>>>Listener.java: com.hme.tivo.videostream.Listener.factoryCompare(line 334): pa
th=/videostream/icon.png uri=/videostream/
>>>Listener.java: com.hme.tivo.videostream.Listener.getLogger(line 425):
LOG: 192.168.1.105 icon.png HTTP GET - to factory /videostream/
>>>videostream.java: com.hme.tivo.videostream.videostream$videostreamFactory.get
Stream(line 53): uri=icon.png
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.finalize(line 520):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.finalize(line 520):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.finalize(line 520):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.finalize(line 520):
>>>ViewScreen.java: com.hme.tivo.videostream.ViewScreen.remove(line 491):
moyekj
11-28-2008, 03:45 PM
Experimenting for hours with this now and still no luck getting Tivo with 11.x to play various wmv files back, though I've had a few that actually display the correct total length of video and show some activity but still no audio or video. I'm going to study closely the Netflix blog on encoding to see if I can get any clues from there... I finally had a breakthrough. I used Microsoft Windows Media Encoder 9 and tried lots of different encodings without luck. Finally I narrowed it down to a combination that works:
Video must be VC-1 Advanced Profile (WVC1 L2 or L3).
Audio must be WMA2 2-channel Constant Bit Rate. Multi-channel or variable bit rate audio doesn't work, and WMAPro also does not work. i.e. Audio support is very limited.
Only the right combination of video and audio will work. If you generate video without audio it also won't play back.
So in general Tivo's WMW decoding capabilities are very narrow right now and perhaps just sufficient to support Netflix specific encodings. Here's information on an encoding that worked:
Video
Format : VC-1
Format profile : AP@L3
Codec ID : WVC1
Codec ID/Hint : Microsoft
Description of the codec : Windows Media Video 9 Advanced Profile
Duration : 29s 933ms
Bit rate mode : Variable
Bit rate : 5000 Kbps
Width : 1280 pixels
Height : 720 pixels
Display aspect ratio : 16/9
Frame rate : 29.970 fps
Resolution : 24 bits
Bits/(Pixel*Frame) : 0.181
Language : en-us
Audio
Format : WMA2
Format profile : L3
Codec ID : 161
Codec ID/Info : Windows Media Audio 2
Description of the codec : Windows Media Audio 9.2 - 320 kbps, 44 kHz, stereo (A/V) 2-pass CBR
Duration : 29s 952ms
Bit rate mode : Constant
Bit rate : 320 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Language : en-us
So if you have a choice it looks like mpeg4 with H.264 video and AC3 audio are a much better option for generating your own encodings.
In any case I will update the tivostream documentation with my findings and specific settings for Windows Media Encoder 9 that can generate working encodings.
moyekj
11-28-2008, 04:19 PM
v0p10 - November 28, 2008
-------------------------
* Added proper mime type so DVD files with .vob file extension can be played
without having to rename to .mpg
* Added back --intf command line argument and equivalent --ip argument which
allow specification of an IP to use for server instead of binding to the
first one found (which in some cases is not desired if there are multiple
active interfaces).
* When attempting to play back unsupported file types tivostream would crash
(with 0x50006 error) when exiting the video playback screen. This is now fixed.
* Added documentation on .wmv file playback (with VC-1 video & WMA2 audio)
now that Tivo software version 11.x supports limited VC-1 decoding.
Documentation includes details on specific encodings that work as well as
details of how to generate a working encoding using Microsoft Media
Encoder 9.
* tivostream version number is now included after "Video Streamer"
gurdude
11-28-2008, 10:00 PM
Got the tivostream app up and running, but was disappointed to get 0xfff error for an .mp4 movie, yet I had no problem viewing a Tekzilla .mp4 two-minute clip.
The .mp4 movie was encoded using Handbrake on Mac OSX.
Just for the heck of it, I rebooted the Tivo, but it didn't help.
Could it be that I didn't properly make the .mp4 file “streamable” using qt-faststart? How does one run the qt-faststart.exe file "on" the desired .mp4 file? When I double-click the .exe file (in Windows), it just flashes the cmd window and then closes.
moyekj
11-28-2008, 10:03 PM
Got the tivostream app up and running, but was disappointed to get 0xfff error for an .mp4 movie, yet I had no problem viewing a Tekzilla .mp4 two-minute clip.
The .mp4 movie was encoded using Handbrake on Mac OSX.
Just for the heck of it, I rebooted the Tivo, but it didn't help.
Could it be that I didn't properly make the .mp4 file “streamable” using qt-faststart? How does one run the qt-faststart.exe file "on" the desired .mp4 file? When I double-click the .exe file (in Windows), it just flashes the cmd window and then closes. Yes you need to run qt-faststart on it. Bring up a cmd window and run the command:
qt-faststart <full path to your .mp4 file> <name for fixed .mp4 file>
Example:
qt-faststart c:\home\test.mp4 c:\home\test_qt.mp4
If you're going to be doing it a lot you may consider writing a little batch script to do it for you. Something like a script called qt.bat that looks like:
@echo off
c:\tivostream_v0p10\qt-faststart.exe %1 qt_%1
Then to run you simply run:
qt yourFile.mp4
westside_guy
11-29-2008, 03:00 AM
* Added back --intf command line argument and equivalent --ip argument which
allow specification of an IP to use for server instead of binding to the
first one found (which in some cases is not desired if there are multiple
active interfaces).
So how is this used, exactly? I thought it would be something like "./run_unix.sh --intf 10.0.1.10" , but belatedly I realized that shell script isn't looking for any command line parameters at all.
Edit: Nevermind; I found it on a post from 11/14 (http://www.tivocommunity.com/tivo-vb/showthread.php?p=6843322#post6843322).
moyekj
11-29-2008, 08:42 AM
So how is this used, exactly? I thought it would be something like "./run_unix.sh --intf 10.0.1.10" , but belatedly I realized that shell script isn't looking for any command line parameters at all.
Edit: Nevermind; I found it on a post from 11/14 (http://www.tivocommunity.com/tivo-vb/showthread.php?p=6843322#post6843322).
Note that with v0p8 the "Main" function was different than it is now. So now the ./run_unix.sh would look something like:
java -cp tivostream_v0p10.jar com.hme.tivo.videostream.Main --intf 10.0.1.193 com.hme.tivo.videostream.videostream
gurdude
11-29-2008, 01:25 PM
Thanks. Running qt-faststart did the trick, in that I no longer have the error message. Then the movie played, but with audio only. I tried various Handbrake encoding options, each with no success. I can stream some VOB files, but some are missing audio. Regardless, I've spent much of the Thanksgiving break setting this up with little to show the wife (other than an episode of Tekzilla, which she doesn't much care for). So I'll check back in a while to see if the encoding discussions here produce some fail-proof results. Of course, Netflix streaming is also due soon...
Yes you need to run qt-faststart on it. Bring up a cmd window and run the command:
qt-faststart <full path to your .mp4 file> <name for fixed .mp4 file>
Example:
qt-faststart c:\home\test.mp4 c:\home\test_qt.mp4
If you're going to be doing it a lot you may consider writing a little batch script to do it for you. Something like a script called qt.bat that looks like:
@echo off
c:\tivostream_v0p10\qt-faststart.exe %1 qt_%1
Then to run you simply run:
qt yourFile.mp4
moyekj
11-29-2008, 01:58 PM
Thanks. Running qt-faststart did the trick, in that I no longer have the error message. Then the movie played, but with audio only. I tried various Handbrake encoding options, each with no success. I can stream some VOB files, but some are missing audio. Regardless, I've spent much of the Thanksgiving break setting this up with little to show the wife (other than an episode of Tekzilla, which she doesn't much care for). So I'll check back in a while to see if the encoding discussions here produce some fail-proof results. Of course, Netflix streaming is also due soon... Handbrake is really not the best choice for encoding. The easiest way to encode if you start from .mpg (or rename .vob files to .mpg) is to use kmttg and tivostream_sd or tivostream_hd encoding profiles. That will run ffmpeg followed by qt-faststart automatically and has produced good results for me and others and preserves AC3 audio from source .mpg.
cahoon
11-30-2008, 11:07 AM
I've been having some problems recently with streaming mp4 files. It seems that everything works fine until about 1 hour into a movie (around 64 minutes, give or take). Then, the streaming stops, and the console shows a socket write I/O exception (the exact message depends upon the Tivostream version). I've tried a few different sources, and I see the same thing. The 1 hour limit occurs after about 30 minutes of download time. The throughput is around 5.2 Mb/s. I've tried with serveral different mp4 files, and each time the streaming stops at approximately the same time.
I have a Tivo HD with version 9.4. I haven't used the streaming in a while, but I was able to stream the entire file for one of the mp4 files in the past (but I don't recall the software version). I've also tried tivostream versions 8, 9, and 10, so I doubt it's a tivostream issue.
Does Tivo have some sort of limit on the size of the file, or the duration of the download?
Any thoughts? Thanks!
moyekj
11-30-2008, 11:33 AM
I've been having some problems recently with streaming mp4 files. It seems that everything works fine until about 1 hour into a movie (around 64 minutes, give or take). Then, the streaming stops, and the console shows a socket write I/O exception (the exact message depends upon the Tivostream version). I've tried a few different sources, and I see the same thing. The 1 hour limit occurs after about 30 minutes of download time. The throughput is around 5.2 Mb/s. I've tried with serveral different mp4 files, and each time the streaming stops at approximately the same time.
I have a Tivo HD with version 9.4. I haven't used the streaming in a while, but I was able to stream the entire file for one of the mp4 files in the past (but I don't recall the software version). I've also tried tivostream versions 8, 9, and 10, so I doubt it's a tivostream issue.
Does Tivo have some sort of limit on the size of the file, or the duration of the download?
Any thoughts? Thanks!
Is the TivoHD you are streaming to full or close to full? Do you have suggestions enabled?
I don't think it's ever been established what the upper stream buffer limit is, but I'm sure there has to be one. It sounds to me like you are running into some sort of limit.
Just to confirm my understanding, you are saying that once the buffer reaches about 1 hour the stream stops, and that happens for multiple different .mp4 streams right?
I've managed to watch a couple of mpeg2 DVD rips > 1 hour on my S3 before without trouble in the past, though I haven't tried that lately. I'll initiate another one shortly to see if I can get past the 1 hour mark. I don't think I've tried a .mp4 running longer than 1 hour so shall have to try that as well.
moyekj
11-30-2008, 03:03 PM
Hmm. On my S3 running 9.4 software I tried a couple of DVD rips and both cases Tivo closes down the stream at exact same point in each (about 39 min and 44 min points respectively). Those time points in both files correspond to about the 1.1 GB mark in each.
Both of these mpegs transfer completely with pyTivo so it's not some mpeg2 glitch causing the problem. Same problem using wmcbrine's HME/VLC streamer so that seems to rule out any issues with tivostream itself.
So it looks to me right now that there is ~ 1.1GB stream buffer limit. I am doing more experiments including encoding one of these mpeg2 files to .mp4 format to see if it also will stop streaming after buffer builds up to 1.1GB mark.
If this indeed is the case then this is a MAJOR limitation of video streaming to Tivos and very disappointing.
If anyone using this application has been able to stream well over the 1GB mark please post. Conversely if others have noticed a ~ 1GB buffer limit please post as well.
cahoon
11-30-2008, 06:27 PM
Is the TivoHD you are streaming to full or close to full? Do you have suggestions enabled?
I don't think it's ever been established what the upper stream buffer limit is, but I'm sure there has to be one. It sounds to me like you are running into some sort of limit.
I thought it might be because Tivo was full, so I permanently deleted some shows in the Recently Deleted folder. But the problem still occured. I have a 1 TB internal drive, so there were about 270+ shows in the Deleted folder.
Just to confirm my understanding, you are saying that once the buffer reaches about 1 hour the stream stops, and that happens for multiple different .mp4 streams right?
Yep - exactly. I tried 3 different mp4 streams.
I've managed to watch a couple of mpeg2 DVD rips > 1 hour on my S3 before without trouble in the past, though I haven't tried that lately. I'll initiate another one shortly to see if I can get past the 1 hour mark. I don't think I've tried a .mp4 running longer than 1 hour so shall have to try that as well.
I think I have a mpeg2 file that I'll try as well and see if that works.
cahoon
11-30-2008, 06:36 PM
If anyone using this application has been able to stream well over the 1GB mark please post. Conversely if others have noticed a ~ 1GB buffer limit please post as well.
Very interesting. My quick calculation for my last try comes out to 1.167 GB (4.23 Mb/s for 37 min 41 sec). I still need to try a mpeg2 file...
moyekj
11-30-2008, 07:05 PM
I encoded a 4.3GB mpeg2 file to mpeg4 which ended up as 2.2GB. Sure enough streaming that one the buffer goes further (to the 63 min mark) which puts file size limit right around the 1.1 GB mark again.
EDIT: I also just confirmed all the titles fail at the same points when streaming with HME/VLC application.
So I think it's pretty clear there is a ~1GB limit for streaming buffer size. :(
For mpeg2 you can kind of work around it by stopping and playing back from where you left off once you reach end of buffer but still this is very disappointing.
cahoon
11-30-2008, 09:08 PM
So I think it's pretty clear there is a ~1GB limit for streaming buffer size. :(
For mpeg2 you can kind of work around it by stopping and playing back from where you left off once you reach end of buffer but still this is very disappointing.
Thanks for looking in to this and confirming. It is very disappointing.
Emillion
11-30-2008, 09:54 PM
my favorite way to watch DVDs from an external drive since the DVD iso limitation of about 1GB per vob file.
However - wondering if this buffer limit could be handled by keeping it in check and "pause" the buffering when getting close to the 1GB, then later restarting it, and so on, in the background. How does Tivo handle live TV buffering when over 1GB?
Or is there a way to "discard" the beginning of the buffer while streaming?
moyekj
11-30-2008, 11:17 PM
my favorite way to watch DVDs from an external drive since the DVD iso limitation of about 1GB per vob file.
However - wondering if this buffer limit could be handled by keeping it in check and "pause" the buffering when getting close to the 1GB, then later restarting it, and so on, in the background. How does Tivo handle live TV buffering when over 1GB?
Or is there a way to "discard" the beginning of the buffer while streaming? That's the problem, via HME there is no buffer manipulation possible as far as I know so there really is no good/elegant solution to this problem. I suppose since this capability was born out of YouTube streaming and most YouTube videos are short, it makes sense that there is only a 1GB buffer. As I stated in another thread Netflix won't have same limitation and thus probably won't have a large buffer at all. We can only hope that however it's implemented for Netflix streaming can be mimicked in HME SDK, but I don't have high hopes as there seems to be a lot of HME capabilities hidden from SDK.
Sevenfeet
12-01-2008, 09:13 AM
If the status bar at the bottom doesn't move then Tivo is not accepting the stream. I did try a short clip using Handbrake 0.9.3 and the "iPhone & iPod Touch" profile followed by qt-faststart. The result did play back on my Tivo but was a little jumpy. I get better results with the "tivostream_sd" profile in kmttg which uses following ffmpeg recipe (you can up the -b argument for higher quality):
ffmpeg -y -i inputFile.mpg -vcodec libx264 -coder 0 -level 31 -r 29.97 -sameq -g 300 -bufsize 14745k -b 2000k -maxrate 16000k -bug "+autodetect+ms" -me epzs -trellis 2 -mbd 1 -acodec copy -f mp4 outputFile.mp4
I was wondering whether or not that Handbrake 0.9.3 made any appreciable difference with tivostream. What have you found so far? Since Handbrake now uses ffmpeg, you'd think that it would be possible to mimic the results we get out of kmttg.
moyekj
12-01-2008, 09:47 AM
I was wondering whether or not that Handbrake 0.9.3 made any appreciable difference with tivostream. What have you found so far? Since Handbrake now uses ffmpeg, you'd think that it would be possible to mimic the results we get out of kmttg. For h.264 it's using x264 still I believe. I don't use Handbrake (using kmttg is more convenient for me) but if it's possible to create your own profile in Handbrake then you can probably create one that looks like the above ffmpeg recipe.
aesop
12-01-2008, 11:28 AM
I've been running into problems with the video skipping forward by a couple of seconds while streaming. Everything seems to be working fine other than "warning: resource 2134 not found". This is what I'm getting:
C:\tivostream\tivostream_v0p9>java -cp tivostream_v0p9.jar com.hme.tivo.videostr
eam.Main com.hme.tivo.videostream.videostream
STARTING tivostream...
LOG: added factory
MDNS: http://192.168.1.136:2194/videostream/
LOG: 192.168.1.101 icon.png HTTP GET - to factory /videostream/
>> Reading config file: config.ini
>>config: topdir=Tivo Recordings == H:\My TiVo Recordings
>>config: extensions=.mpg .mpeg2 .mp2 .mp4 .mpeg4
>>config: font=medium
>>config: timeout_status_bar=5
>>config: timeout_info=10
>>config: skip_back=8
>>config: skip_forwards=30
>>config: slow_speed=0.125
>> Reading bookmarks file: bookmarks
LOG: HME receiver connected
LOG: unknown event opcode : 8
LOG: 192.168.1.101 Saw 5 2008 R5 LINE H264-KingBen.mp4 HTTP GET - to factory /vi
deostream/
url=file:/H:/My%20TiVo%20Recordings/Saw%205%202008%20R5%20LINE%20H264-KingBen.mp
4
videostream[#1,uri=null] warning: resource 2134 not found.
videostream[#1,uri=null] warning: resource 2134 not found.
LOG: Received event for unknown resource id. Id = 2134, event = 2134.RESOURCE_IN
FO(closed, {position=0, duration=0, start=0, speed=1})
LOG: 192.168.1.101 I/O Exception handling HTTP GET Saw 5 2008 R5 LINE H264-King
Ben.mp4: Connection reset by peer: socket write error
LOG: connection to receiver closed
LOG: HME receiver disconnected
Any help with getting this corrected?
moyekj
12-01-2008, 12:03 PM
I've been running into problems with the video skipping forward by a couple of seconds while streaming. Everything seems to be working fine other than "warning: resource 2134 not found". That warning is normal and nothing to do with skipping problem. The skipping is due to problem in the encoding or the Tivo mp4 decoder, so not much can be done other than changing encoding method if you are encoding your own (including using VRD Quickstream fix if you are starting from an mpeg2 recording).
Sevenfeet
12-01-2008, 01:30 PM
For h.264 it's using x264 still I believe. I don't use Handbrake (using kmttg is more convenient for me) but if it's possible to create your own profile in Handbrake then you can probably create one that looks like the above ffmpeg recipe.
It would seem that although Handbrake 0.9.3 does now use ffmpeg (it even defaults to it for some functions), it doesn't allow you to tweak it nearly as much as the x264 codec. For example, ffmpeg can do H.264 but there's no way to tell it to through Handbrake. Oh well...
On using tivostream v.10, it is nice to have the ability to stream vob files directly...I was able to turn it on my folder of ripped DVDs and have it play some. The real problem is that asking to play a random vob file isn't a great interface. The holy grail of a Tivo playing ripped DVDs off a server will have to wait I guess.
The 1.1GB streaming limit is troubling but hopefully someone will figure a way around it (or Tivo will fix it, whichever comes first).
fatboy15226
12-06-2008, 07:32 PM
Cool app. Thanks to the dev team.
I am having an issue that I have not seen posted. I can get the sample video listed here to work (my sample.mp4 seen in the log) but not my own Handbrake ripped mp4's (even with qtfast).
I have setup a server with 4 files: 2 standard mp4's that work as TV Outs on my ipod (x264 AAC) name Rm.mp4 and test02.mp4. test01.mp4 is test02 with qtfast run and sample.mp4 is the sample from this thread.
Debug log below (running WinXP latest java)
C:\TiVo>java -cp tivostream_v0p10.jar com.hme.tivo.videostream.Main com.hme.tivo
.videostream.videostream --intf 172.16.1.10
STARTING tivostream...
LOG: added factory
MDNS: http://172.16.1.10:7288/videostream/
tivostream ready & listening.
LOG: 172.16.1.101 icon.png HTTP GET - to factory /videostream/
>> Reading config file: config.ini
>>config: topdir=.
>>config: extensions=.mpg .vob .mpeg2 .mp2 .mp4 .mpeg4 .m4v
>>config: font=medium
>>config: timeout_status_bar=5
>>config: timeout_info=10
>>config: skip_back=8
>>config: skip_forwards=30
>>config: slow_speed=0.125
>> Reading bookmarks file: bookmarks
LOG: HME receiver connected
LOG: unknown event opcode : 8
LOG: unknown event opcode : 10
LOG: 172.16.1.101 Rm.mp4 HTTP GET - to factory /videostream/
url=file:/C:/TiVo/Rm.mp4
LOG: 172.16.1.101 I/O Exception handling HTTP GET Rm.mp4: Connection reset by p
eer: socket write error
ERROR code=1 Message: can't create rsrc. unsupported stream type /videostream/30
2.m4v
ERROR code=1 Message: can't create rsrc. unsupported stream type /videostream/30
2-tivo.m4v
LOG: connection to receiver closed
LOG: HME receiver disconnected
LOG: 172.16.1.101 icon.png HTTP GET - to factory /videostream/
>> Reading config file: config.ini
>>config: topdir=.
>>config: extensions=.mpg .vob .mpeg2 .mp2 .mp4 .mpeg4 .m4v
>>config: font=medium
>>config: timeout_status_bar=5
>>config: timeout_info=10
>>config: skip_back=8
>>config: skip_forwards=30
>>config: slow_speed=0.125
>> Reading bookmarks file: bookmarks
LOG: HME receiver connected
LOG: unknown event opcode : 8
LOG: unknown event opcode : 10
LOG: 172.16.1.101 sample.mp4 HTTP GET - to factory /videostream/
url=file:/C:/TiVo/sample.mp4
videostream[#1,uri=null] warning: resource 2154 not found.
videostream[#1,uri=null] warning: resource 2154 not found.
LOG: Received event for unknown resource id. Id = 2154, event = 2154.RESOURCE_IN
FO(playing, {position=108541, duration=1440000, start=0, speed=1, pos=108541/144
0000, span=0/1440})
videostream[#1,uri=null] warning: resource 2154 not found.
videostream[#1,uri=null] warning: resource 2154 not found.
LOG: Received event for unknown resource id. Id = 2154, event = 2154.RESOURCE_IN
FO(closed, {position=0, duration=0, start=0, speed=1})
LOG: 172.16.1.101 I/O Exception handling HTTP GET sample.mp4: Connection reset
by peer: socket write error
LOG: 172.16.1.101 test01.mp4 HTTP GET - to factory /videostream/
url=file:/C:/TiVo/test01.mp4
videostream[#1,uri=null] warning: resource 2700 not found.
videostream[#1,uri=null] warning: resource 2700 not found.
LOG: Received event for unknown resource id. Id = 2700, event = 2700.RESOURCE_IN
FO(closed, {position=0, duration=0, start=0, speed=0})
LOG: 172.16.1.101 I/O Exception handling HTTP GET test01.mp4: Connection reset
by peer: socket write error
LOG: 172.16.1.101 Rm.mp4 HTTP GET - to factory /videostream/
url=file:/C:/TiVo/Rm.mp4
LOG: 172.16.1.101 I/O Exception handling HTTP GET Rm.mp4: Connection reset by p
eer: socket write error
LOG: 172.16.1.101 test02.mp4 HTTP GET - to factory /videostream/
url=file:/C:/TiVo/test02.mp4
LOG: 172.16.1.101 I/O Exception handling HTTP GET test02.mp4: Connection reset
by peer: socket write error
LOG: 172.16.1.101 test01.mp4 HTTP GET - to factory /videostream/
url=file:/C:/TiVo/test01.mp4
videostream[#1,uri=null] warning: resource 2881 not found.
videostream[#1,uri=null] warning: resource 2881 not found.
LOG: Received event for unknown resource id. Id = 2881, event = 2881.RESOURCE_IN
FO(closed, {position=0, duration=0, start=0, speed=0})
LOG: 172.16.1.101 I/O Exception handling HTTP GET test01.mp4: Connection reset
by peer: socket write error
LOG: connection to receiver closed
LOG: HME receiver disconnected
Thoughts? Thanks (sorry if this is dumb)
-dsd
moyekj
12-06-2008, 08:49 PM
fatboy15226: For encoding with Handbrake the documentation lists the formula that worked for me, specifically:
* Choose Xbox 360 profile (this will select H.264 video and AAC audio)
* Change Audio Encoder to AC3
* Be sure to NOT enable “HTTP Optimized MP4” option as that will not work with AC3
* Once Handbrake completes the encoding you must then run qt-faststart on it
NOTE: The .m4v extension is not understood by Tivo and I don't have a mime type defined for it so won't work with that extension. Use .mp4 extension instead.
As I've mentioned in this thread a few times I've had better results using ffmpeg for encoding, specifically the tivostream_sd or tivostream_hd profiles in kmttg.
Laserfan
12-07-2008, 09:18 AM
The 1.1GB streaming limit is troubling but hopefully someone will figure a way around it (or Tivo will fix it, whichever comes first).Yeah I arrived late to this happenin' tivostream party just when we find this turd in the punchbowl! :p :D (Sorry.)
Unless & until there's a workaround developed, would I have to install Tivo Desktop (again) to obtain TTCB functionality i.e. send shows to the Tivo for playback? I've used TivoPlayList to grab shows off'n the Tivo, but forget how to send them back. Can someone here indulge me... :o
fatboy15226
12-07-2008, 10:22 AM
moyekj, thanks for the response.
I will give that a shot. I was hoping to have 1 format that would work on both Tivo and iPod and ideally use my existing files (in the hundreds).
Thanks,
dsd
moyekj
12-07-2008, 11:08 AM
moyekj, thanks for the response.
I will give that a shot. I was hoping to have 1 format that would work on both Tivo and iPod and ideally use my existing files (in the hundreds).
Thanks,
dsd Note that there's a chance if you leave the audio as AAC that it will work on your iPod too. I doubt that with AC3 audio it will work on iPod as that's pretty non-standard (though the Tivo accepts it).
moyekj
12-07-2008, 11:11 AM
Yeah I arrived late to this happenin' tivostream party just when we find this turd in the punchbowl! :p :D (Sorry.)
Unless & until there's a workaround developed, would I have to install Tivo Desktop (again) to obtain TTCB functionality i.e. send shows to the Tivo for playback? I've used TivoPlayList to grab shows off'n the Tivo, but forget how to send them back. Can someone here indulge me... :o I would use pyTivo instead of Tivo Desktop.
I've been trying to go through TivoPony P.M. route to ask about the 1.1GB limitation but I'm not hopeful it will go anywhere as I haven't received a response.
wmcbrine
12-07-2008, 12:46 PM
I'd rather ask them about the specification for video streaming in general (remember, they haven't published anything on this)... if I thought they'd answer... which I don't.
Laserfan
12-08-2008, 07:44 AM
I would use pyTivo instead of Tivo Desktop.Thanks, I'll take a look. Tivo Desktop is such bloatware for what I want to do...
moyekj
12-08-2008, 04:04 PM
I'd rather ask them about the specification for video streaming in general (remember, they haven't published anything on this)... if I thought they'd answer... which I don't. Sadly I think you're right. I don't know how much can be gleamed with some network sniffing of Tivo/Netflix... last time I tried that with YouTube I didn't really get much out of it because of all the encryption in use. It's a pain to do the network sniffing since I have to pull out and connect things to an old hub and use an older computer with Win XP to do the sniffing (wireshark doesn't seem to run properly on Vista 64).
Meklos
12-16-2008, 04:16 PM
Tivo currently only seems to accept H.264 (and of course mpeg2) for video. MP4 V2 is not supported. The AAC audio portion should be fine.
Can I interpret this to mean that the H264_med_rate profile from kmttg will not play back on a TivoHD?
moyekj
12-16-2008, 05:32 PM
Can I interpret this to mean that the H264_med_rate profile from kmttg will not play back on a TivoHD? That is H.264 video, so it should work, but only after running qt-faststart on the resulting encoding.
Meklos
12-16-2008, 07:09 PM
That is H.264 video, so it should work, but only after running qt-faststart on the resulting encoding.
I tried, and it did... so I went back and I thought that I read that the newest version had an option for doing this automatically during the process... ??
Also, do you have to perform the encode process to get the results of the captioning into the final file? Was looking at the logs and it didn't look like it really had completed, but I'm still tracing down other problems related to commercial cuts and mencode.
[edit] Realized I was trying to use the 264 medium rate instead of the tivostream_hd
To clarify, I'm actually trying two things here...
1) Encode DVD-ripped VOB and MPG files to 264-med, no commercial cut
2) Perform commercial cut on OTA-recorded shows, using tivostream-hd
I couldn't use tivostream to stream the 264 medium stuff until I ran it through qt-faststart. Having this run automatically would be nice, but I can work around that for now.
For the OTA stuff, I'm working on that now to see if I can get it to complete a full run without errors.
moyekj
12-16-2008, 08:06 PM
Meklos, the tivostream_sd & tivostream_hd profiles encode to H.264 and run qt-faststart automatically. The h.264 medium rate is similar to tivostream_sd.
NOTE: If you read back a little in this thread we've discovered that Tivo doesn't buffer over 1.1GB worth of video when streaming to it which doesn't make streaming to Tivo very useful for any video > 1.1GB. After it reaches the limit Tivo will close down the stream so you can't watch beyond that point. This put a big damper on my enthusiasm to further enhance this application. I've tried to get more information from Tivo on a workaround to this limitation but no luck thus far...
(I added a note about this limitation on the tivostream web page a while back).
Meklos
12-16-2008, 08:29 PM
I understand the 1.1GB limit, and I understand how frustrating it is... which is why I was trying to find the right codec for my DVD rips. I can get my DVD rips down to about 750MB per ripped episode using the 264-medium.
I figure I can stream ripped DVD episodes, but I'll have to transfer any HD stuff... but I still want to remove the commercials from the HD stuff that I record OTA.
chrisph
01-02-2009, 05:06 PM
Just wanted to give a huge thank you to the dev. of tivostream.
After pulling my hair out dealing with TiVo Desktop (constantly locking up my PC) and not being able to get pyTivo running after many frustrating hours, I was thinking about giving up.
But tivostream does everything I need it to do! So thanks again!
moyekj
01-03-2009, 07:32 PM
v0p11 - January 03, 2009
-------------------------
* Added folder play capability. Pressing "Play" on a folder will setup an
alphabetical playlist of video files under the folder and play them
sequentially. "Channel Up" can be used to jump to next title in playlist and
"Channel Down" to return to previous title. See documentation for details
and limitations.
* Added multiple file play capability. Pressing "Enter" in file browsing
mode will play all video files listed in current folder from the current
cursor position downwards.
* During normal single file mpeg4 streaming the program will now exit to file
browser mode once end of play is reached. (This currently only works for
mpeg4 files, not mpeg2, but see below for mpeg2).
* An optional ffmpeg entry in config.ini can be given to give full path to
ffmpeg executable for your system. When this is set, ffmpeg is used to
determine end times for mpeg2 files so that tivostream can exit back to
file browser mode automatically, or continue automatically to next file
in playlist mode.
NOTE: This is optional only not a requirement. Without this set playback
will simply pause at the end of mpeg2 files instead of exiting automatically.
* Updated documentation explaining new features and to include a summary of all remote button functions supported both in file browser and playback modes.
moyekj
01-04-2009, 01:54 PM
NOTE: There's a bug in v0p11 with the "enter" playlist capability not picking up proper number of video files in folder. There will be a new release shortly (next day or so) to fix that issue along with some other fixes for more obscure bugs.
stag67
01-04-2009, 08:33 PM
Newbie question. Will tivostreaming v0p8 work with Windows XP Media Center Edition?
moyekj
01-04-2009, 08:39 PM
Newbie question. Will tivostreaming v0p8 work with Windows XP Media Center Edition? This application runs on pretty much anything that supports Java 1.5 or later and has ethernet support.
moyekj
01-04-2009, 09:09 PM
v0p12 - January 04, 2009
-------------------------
* Fixed bug with "Enter" function for multiple file playback within a file
not properly detecting all video files in the folder.
* Fixed issues with application crashing when pressing video trick functions
before playback begins.
JerseyRU
01-05-2009, 05:58 PM
Hi moyekj, thanks for your hard work with this.
Just, curious, any word from TiVo reps on the 1.1 GB limit yet? Would be nice to stream bigger files.
moyekj
01-05-2009, 06:13 PM
Hi moyekj, thanks for your hard work with this.
Just, curious, any word from TiVo reps on the 1.1 GB limit yet? Would be nice to stream bigger files. Unfortunately not. I do have a possible workaround in mind which may work for mpeg2 files:
* For mpeg2 files > 1GB split up streaming of the file into up to 1GB segments. i.e. Segment 1 would stream until 1GB limit, then when the 1GB point is reached in playback automatically stop the stream and start new stream of same file, but offset to start playing at the 1GB mark. Repeat for any additional 1GB segments.
Of course the above means there will be an interruption of play between segments and unfortunately only would work for mpeg2 files since Tivo needs to see the start of mpeg4 files (the whole qt-faststart nonsense) to work.
Of course in English it sounds a lot easier than actually programming the above and only would work for mpeg2, so I'm still wondering if it would be worth the effort to implement?
Another possibility is to transcode non-mpeg2 files to mpeg2 using ffmpeg and then adding the above segmenting concept such that capability works for video files in general, but that would take even more effort to integrate ffmpeg transcoding into the application (and make it platform specific for ffmpeg binaries).
wmcbrine's VLC/HME video streamer may be a better/easier platform for adding such capability as he already has integration with VLC built in.
For those reading this thread any opinions/suggestions?
windracer
01-07-2009, 06:21 PM
I guess I never noticed before but on my S2, tivostreamer shows up as "Video Streamer (v0" instead of "Video Streamer (v0p11)". Not a big deal since it's not supported on the S2 anyway but wanted to point it out.
bluehz
01-07-2009, 11:01 PM
Been trying all day but no matter what format I convert video to (mpg, mp4, etc) I can see the video on Tivo box, but any attempts to play it yields:
An error occured while running the application. The application closed during a read (0X50006)
And thats as far as I get. Like I said - have tried several different formtas, qt-quickstart, etc.
Mac OS X 10.5
tivostream (0.12)
Tivo S3 HD
Also - I am currently running streamer from Galleon, but I get same results when launching autonomously.
Any suggesstions? I have tried multipled transcoding to various formats using ffmeg (and others) and stil no luck - I feel that at this point its more to it than the format.
thx
moyekj
01-08-2009, 12:01 AM
Been trying all day but no matter what format I convert video to (mpg, mp4, etc) I can see the video on Tivo box, but any attempts to play it yields:
An error occured while running the application. The application closed during a read (0X50006)
And thats as far as I get. Like I said - have tried several different formtas, qt-quickstart, etc.
Mac OS X 10.5
tivostream (0.12)
Tivo S3 HD
Also - I am currently running streamer from Galleon, but I get same results when launching autonomously.
Any suggesstions? I have tried multipled transcoding to various formats using ffmeg (and others) and stil no luck - I feel that at this point its more to it than the format.
thx
Give a known good file a try:
systm--0063--dolby--hd.h264.mp4 (http://www.podtrac.com/pts/redirect.mp4/bitcast-a.bitgravity.com/revision3/web/systm/0063/systm--0063--dolby--hd.h264.mp4)
If still no luck reboot your Tivo and try again. If that one works and yours do not then it's likely a format issue, though with mpeg2 pretty much anything standard should play.
Laserfan
01-08-2009, 04:12 PM
I do have a possible workaround in mind [for the 1Gb limitation] which may work for mpeg2 files: * For mpeg2 files > 1GB split up streaming of the file into up to 1GB segments.... any opinions/suggestions?Well, I for one have a rather low level of enthusiasm for anything MPEG2 these days. Most of my MPEG2 source is DVD, for which I have plenty of playback options.
But if the MPEG2 is a large file HD off the Tivo originally, my inclination is to re-encode as .264 and archive it as a Blu-ray disc (DVD-5 or -9) given 264's exceptional quality-to-size ratio (rather than keep the MPEG2 around, which for even 1 hour TV shows is ~5Gb in size). So my excitement over Tivostream was that given my new inclination to save everything to BD, I might stream the m2ts files to one of my HDTVs that has a Tivo but no BD player.
Does that make sense...I'd be unlikely to use the feature. :o
moyekj
01-08-2009, 04:55 PM
Well, I for one have a rather low level of enthusiasm for anything MPEG2 these days. Most of my MPEG2 source is DVD, for which I have plenty of playback options.
But if the MPEG2 is a large file HD off the Tivo originally, my inclination is to re-encode as .264 and archive it as a Blu-ray disc (DVD-5 or -9) given 264's exceptional quality-to-size ratio (rather than keep the MPEG2 around, which for even 1 hour TV shows is ~5Gb in size). So my excitement over Tivostream was that given my new inclination to save everything to BD, I might stream the m2ts files to one of my HDTVs that has a Tivo but no BD player.
Does that make sense...I'd be unlikely to use the feature. :o Understood. Unfortunately the same trick can't be applied to mpeg4 files because Tivo has to see the start of the mpeg4 file to read information about the stream, thus using a file offset sent to the Tivo doesn't work as it does for mpeg2.
Given the amount of effort involved and low interest I don't plan on implementing it.
Perhaps better time is spent trying to figure out a way to tell Tivo to allocate a bigger buffer somehow which would be the ultimate solution. Just frustrating that Tivo doesn't seem to want to throw us HME developers a bone to help us out. Maybe I just haven't found the right Tivo contact...
So the only suitable workaround to the 1.1 GB file limit right now is to split up any videos larger than that into multiple parts and then use the folder play or multiple file play option in tivostream v0p12.
windracer
01-08-2009, 06:38 PM
I guess I never noticed before but on my S2, tivostreamer shows up as "Video Streamer (v0" instead of "Video Streamer (v0.11)". Not a big deal since it's not supported on the S2 anyway but wanted to point it out.
Looks like this is a bug in the S2 software. It's the period that's truncating the name of the app ... same behavior with 0.12.
Is it really necessary to have the version number there anyway?
moyekj
01-08-2009, 07:15 PM
Looks like this is a bug in the S2 software. It's the period that's truncating the name of the app ... same behavior with 0.12.
Is it really necessary to have the version number there anyway? Not necessary, but somewhat useful to know what version you are running (or if I'm helping someone debug to have a quick, definite way to know what version they are running).
bluehz
01-08-2009, 09:00 PM
Give a known good file a try:
systm--0063--dolby--hd.h264.mp4]systm--0063--dolby--hd.h264.mp4
If still no luck reboot your Tivo and try again. If that one works and yours do not then it's likely a format issue, though with mpeg2 pretty much anything standard should play.
No luck with the known working file. The exact log message I am seeing in the console at the moment when I attempt to play the files is:
LOG: Unexpected error: java.lang.NoSuchMethodError: java.io.File.canExecute()Z
FWIW - I read somewhere (i think earlier in this thread) to use the full path to the java executable when launching had helped another mac user - but it made no difference here
bluetex
01-08-2009, 09:11 PM
No luck with the known working file. The exact log message I am seeing in the console at the moment when I attempt to play the files is:
LOG: Unexpected error: java.lang.NoSuchMethodError: java.io.File.canExecute()Z
FWIW - I read somewhere (i think earlier in this thread) to use the full path to the java executable when launching had helped another mac user - but it made no difference here
I'm getting the same message when trying to play a .vob. When I go back to v0.10 it plays. I think there may be an issue with the distribution?
bluehz
01-08-2009, 10:15 PM
I'm getting the same message when trying to play a .vob. When I go back to v0.10 it plays. I think there may be an issue with the distribution?
BOOM!! Reverting to v0.10 does indeed work. Tried v.011 with no luck either. Not only does it work, but it is playing back mp4 output from iMovie without having to run them through qt_quickstart!
There is definitely some Mac issue with v0.12...
Thanks for the tip bluetx!
PS - oddly though I am unable to launch v0.11 using the run_unix script, but I can manually run the same cmd inside the run_unix script in the console and it works fine... not sure about that.. perplexing.
PSS - it is also working from within Galleon
moyekj
01-08-2009, 11:32 PM
No luck with the known working file. The exact log message I am seeing in the console at the moment when I attempt to play the files is:
LOG: Unexpected error: java.lang.NoSuchMethodError: java.io.File.canExecute()
FWIW - I read somewhere (i think earlier in this thread) to use the full path to the java executable when launching had helped another mac user - but it made no difference here It's pretty clear from that message the issue, so thanks for the posting. It looks like on Mac platform version of Java the canExecute() method is missing (this is what I use to check for existence of ffmpeg). (works fine on windows & probably unix/linux platform). For next release I can switch to the more conventional exists() method and that should solve the problem for Macs.
Laserfan
01-09-2009, 09:41 AM
Regarding special handling of MPEG2 to work-around the 1.1Gb limit:Understood. Unfortunately the same trick can't be applied to mpeg4 files because Tivo has to see the start of the mpeg4 file to read information about the stream, thus using a file offset sent to the Tivo doesn't work as it does for mpeg2. Given the amount of effort involved and low interest I don't plan on implementing it. Perhaps better time is spent trying to figure out a way to tell Tivo to allocate a bigger buffer somehow which would be the ultimate solution. Just frustrating that Tivo doesn't seem to want to throw us HME developers a bone to help us out. Maybe I just haven't found the right Tivo contact...
So the only suitable workaround to the 1.1 GB file limit right now is to split up any videos larger than that into multiple parts and then use the folder play or multiple file play option in tivostream v0p12.At least my "The Fugitive" episodes stream in their entirety, as they're about 800Mb each! :)
I agree w/your thoughts. I have to wonder though, with all the emphasis TiVo has placed on broadband access lately (isn't there a Netflix option? what of The Dark Knight email I got from them yesterday? I don't use broadband so don't follow this at all) does this mean there is no such limitation for certain TYPES of streaming, only the type you & wmcbrine are utilizing? Not sure what the difference is if any... :confused:
moyekj
01-09-2009, 11:18 AM
I agree w/your thoughts. I have to wonder though, with all the emphasis TiVo has placed on broadband access lately (isn't there a Netflix option? what of The Dark Knight email I got from them yesterday? I don't use broadband so don't follow this at all) does this mean there is no such limitation for certain TYPES of streaming, only the type you & wmcbrine are utilizing? Not sure what the difference is if any... :confused: We are using the YouTube style "streaming" which is really a buffered download but unfortunately with a fixed 1GB buffer. Netflix streaming is more like true streaming since there appears to be little to no buffer on the Tivo, so that implies there must be some HME protocol which allows some control over streaming style but it has not been uncovered (yet). Personally I do like having the buffer on the Tivo since it allows smooth trick function use, just hope to find a way to increase the buffer or at least make it a circular buffer similar to live TV style buffers.
bluehz
01-09-2009, 09:08 PM
It's pretty clear from that message the issue, so thanks for the posting. It looks like on Mac platform version of Java the canExecute() method is missing (this is what I use to check for existence of ffmpeg). (works fine on windows & probably unix/linux platform). For next release I can switch to the more conventional exists() method and that should solve the problem for Macs.
Hey thats great news we were able to give you some clues for a solution. Credit goes to bluetx though for suggesting downgrading. Funny how we forget the simple solutions. Let me know if you want someone to beta test the next release on Mac platform - will be more than happy to help out.
FWIW - v0.10 is running beautifully here under Galleon on an old Mac G4 with Mac OS X 10.5.x
moyekj
01-10-2009, 01:07 AM
v0p13 - January 09, 2009
------------------------
* Macintosh platform compatibility fix (versions v0p11 & v0p12 were not
working on Mac java due to Java.io.File.canExecute method missing for
that platform).
If someone on Mac platform could please confirm the fix that would be great.
bluehz
01-10-2009, 07:33 AM
v0p13 - January 09, 2009
------------------------
* Macintosh platform compatibility fix (versions v0p11 & v0p12 were not
working on Mac java due to Java.io.File.canExecute method missing for
that platform).
If someone on Mac platform could please confirm the fix that would be great.
CONFIRMED WORKING Mac OS X 10.5.6
Thanks moyekj - that was fast! Played darn near everything I could throw at it including all the MP4 I have straight from iMovie edits. No need for qt_quickstart.
One thing on Mac platform there seems to be a problem with the IP identification. I always need to edit the run_unix.sh and add "--intf IP_ADDRESS" to get tivostream to use the proper IP address.
Laserfan
01-10-2009, 01:23 PM
We are using the YouTube style "streaming" which is really a buffered download but unfortunately with a fixed 1GB buffer. Netflix streaming is more like true streaming since there appears to be little to no buffer on the Tivo, so that implies there must be some HME protocol which allows some control over streaming style but it has not been uncovered (yet)...Thanks for your reply, and good luck--glad you are on the case!!! :)
westside_guy
01-11-2009, 03:20 PM
This may be a dumb question - but how can I get the source for the current release version? When I grabbed the source per instructions on the website (using svn), it still has the f.canExecute() line in ViewScreen.java - so it seems like that's not the most current version.
Also, should step 7 in tivostream_build.txt state to create "com/tivo/hme/videostream" rather than "com/hme/tivo/videostream"?
I'm interested in the source because I want to add a "video/mp4" mimetype for .m4v files - it'd be a pain to rename all of them to .mp4 .
Emillion
01-11-2009, 05:06 PM
Thank you for the "play folder" Kevin! Useful for playing DVD folders and Music Video folders. Any thought on the "random list" feature, maybe with the "right" action (since Play and Enter are taken)?
It does not need the ffmpeg setting to create the list - but it needs it to auto-jump to the next list item, right?
moyekj
01-11-2009, 05:19 PM
This may be a dumb question - but how can I get the source for the current release version? When I grabbed the source per instructions on the website (using svn), it still has the f.canExecute() line in ViewScreen.java - so it seems like that's not the most current version.
Also, should step 7 in tivostream_build.txt state to create "com/tivo/hme/videostream" rather than "com/hme/tivo/videostream"?
I'm interested in the source because I want to add a "video/mp4" mimetype for .m4v files - it'd be a pain to rename all of them to .mp4 . Sorry, haven't updated the source to match v0p13 yet (it is a one line change for that plus a one line change in GLOBAL.java for version update). My linux box I do svn from is down this weekend but will be back up tomorrow at which point I'll update the source. com/hme/tivo/videostream is correct as per build instructions.
moyekj
01-11-2009, 05:21 PM
Thank you for the "play folder" Kevin! Useful for playing DVD folders and Music Video folders. Any thought on the "random list" feature, maybe with the "right" action (since Play and Enter are taken)?
It does not need the ffmpeg setting to create the list - but it needs it to auto-jump to the next list item, right? I'll add random play folder order in todo list. Yes, ffmpeg is only needed to help detect end of play for mpeg2 files (so that it can jump to next file in playlist automatically). If you don't specify it then for mpeg2 files you have to use channel down to jump to next title once pause at end of play is reached.
westside_guy
01-11-2009, 06:15 PM
Sorry, haven't updated the source to match v0p13 yet (it is a one line change for that plus a one line change in GLOBAL.java for version update).
Thanks much - I think I know what the two one-line changes are (based on your recent previous posts). I just didn't know if there were other changes as well.
I appreciate the fact that you've made the source available - thank you. I haven't actually done any programming in java for quite a few years; but what I wanted to accomplish was very straightforward.
txporter
01-11-2009, 07:54 PM
I'm interested in the source because I want to add a "video/mp4" mimetype for .m4v files - it'd be a pain to rename all of them to .mp4 .
BTW, if you want to change the extension in windows, I am pretty sure you can make a batch file (rename.bat or something like that), that can change everything in the current directory. It needs to have 'rename * *.mp4' or maybe 'rename *.* *.mp4' in it. Been a while since I have done it.
Jason
Sicklybutsexy
01-11-2009, 07:54 PM
I've downloaded the latest tivostream file and whenever I try to run the .bat file the cmd window comes up for a brief second (not long enough to read it) and then nothing. Anything I'm doing wrong? I've download the latest java.
westside_guy
01-11-2009, 08:56 PM
BTW, if you want to change the extension in windows, I am pretty sure you can make a batch file (rename.bat or something like that), that can change everything in the current directory. It needs to have 'rename * *.mp4' or maybe 'rename *.* *.mp4' in it. Been a while since I have done it.
I could script it - I'm on a Mac, and know the bash shell pretty well. But I'd also have to script around the pyTivo metadata files (the ones I have anyway); plus more importantly it'd kill my ability to use anything Quicktime-based to play those files. VLC and MPlayerOSX have improved by leaps and bounds over the past couple of years, but IMHO they still don't work nearly as well as Quicktime does.
moyekj
01-11-2009, 09:14 PM
I've downloaded the latest tivostream file and whenever I try to run the .bat file the cmd window comes up for a brief second (not long enough to read it) and then nothing. Anything I'm doing wrong? I've download the latest java.
Start a cmd window (Start->Run... and type in cmd) and then go to the directory where the run_win.bat script is (using cd command) and then run the script there (just type run_win). That way you will be able to see the error message.
My guess is you don't have java in your path. If that's the case either add java to your windows path or edit the run_win.bat script and replace "java" with the full path to java.exe.
Sicklybutsexy
01-11-2009, 09:14 PM
I'm an idiot. I didn't have runtime environment. now it works.
bluetex
01-17-2009, 01:26 PM
How is everyone else dealing with the need/want to run the tivostream as a service and not having to have the console window running all the time?
I've downloaded this "wrapper" .. the gpl version.
http://wrapper.tanukisoftware.org
Anyone else have a more elegant solution? This works, but you have to know how to monkey around with java to make it go.
westside_guy
01-17-2009, 01:43 PM
How is everyone else dealing with the need/want to run the tivostream as a service and not having to have the console window running all the time?
I've downloaded this "wrapper" .. the gpl version.
http://wrapper.tanukisoftware.org
Anyone else have a more elegant solution? This works, but you have to know how to monkey around with java to make it go.
I haven't used Windows as my primary OS for several years - but there is/was a freeware tool (FireDaemon) that can be used to add most anything to the list of services. I wouldn't recommend it to someone who's not comfortable administering Windows, since messing with services can cause serious breakage; but I found it very useful on occasion, and think it'd fit the bill perfectly.
wmcbrine
01-17-2009, 02:25 PM
How is everyone else dealing with the need/want to run the tivostream as a service and not having to have the console window running all the time?The minimize button?
windracer
01-17-2009, 04:16 PM
Anyone else have a more elegant solution? This works, but you have to know how to monkey around with java to make it go.
I run tivostream through Galleon (http://www.tivocommunity.com/tivo-vb/showthread.php?p=6690062#post6690062) on Linux (which, coincidentally, uses the same wrapper).
bluetex
01-17-2009, 04:35 PM
The minimize button?
LOL. That's an elegant design? I didn't want to have the command box minimized any more than I want to have it maximized. :rolleyes:
moyekj
01-20-2009, 07:15 PM
Keary has released a new and much improved HME streaming video application. Check it out:
TCF thread (http://www.tivocommunity.com/tivo-vb/showthread.php?t=416858)
streambaby home page (http://code.google.com/p/streambaby/)
For any of you who are using tivostream or tried it before and weren't happy with it this is a must try. Keary did an excellent job adding new features, especially the random access anywhere in a video (even for mpeg4) and the workaround for the 1.1GB limit - stream is automatically restarted at the point where buffer ends while you are playing. The preview method ala Tivo/Netflix implementation is also a very cool feature, not to mention transcoding of incompatible streams such that you can stream a wide variety of videos (similar to pyTivo).
This application obsoletes tivostream so I don't plan any more updates for tivostream.
Laserfan
01-22-2009, 06:58 PM
Keary has released a new and much improved HME streaming video application. Check it out....This application obsoletes tivostream so I don't plan any more updates for tivostream.Lessee if I can spel this rite w/o a dictionary: How very magnanimous of you! Thanks for tivostream (and the memories)! :):):):up:
Sevenfeet
01-23-2009, 07:41 PM
Thank you Moyekj for all your work with Tivostream over the last several months and to allow its use to kick off Streambaby. You're a great developer who always listened to the users and tried your best to give us what we wanted. Thank you. :)
moyekj
01-23-2009, 08:49 PM
Thanks guys. Enjoyed it. My first experience with HME and Java so I learned a lot in the process.
westside_guy
01-24-2009, 08:14 PM
As others have said, thank you moyekj for all the work you did on this, and are continuing to do in collaboration on the streambaby project.
I hope you will leave the tivostream info, source, and downloads available on Google Code for a while. I know that streambaby is likely the future, but IMHO for streaming h.264 video it's not yet quite on par with the current (final) state of tivostream in terms of problem-free viewing.
kearygriffin
01-25-2009, 06:25 PM
Just wanted to throw my 2-cents in here and thank moyekj also, both for all the work on tivostream and his help with streambaby.
I have to admit I was a little nervous when I first contacted him about streambaby, as I wasn't sure how he would react to a fork of tivostream. The offers of support/assistance/testing came immediately (all of which I took advantage of :-)
aburt
01-27-2009, 04:11 PM
I've been looking all over trying over google and this thread trying to determine how to simply launch tivostream via galleon. I'd really like tivostream to always be running, and be in the background as a service on my always on desktop pc. What do I need to do to make this happen? what should my launch.txt file look like? Is there a way to makek tivostream launch as a service in windows vista other than via galleon, or can it be accomplished in another manner? I appreciate your help. I'm just not as techie, as you guys, and I must say i'm EXTREMELY impressed with the capability of both tivostream!!
Steve
If anyone's still looking for an answer to how to launch batch files at boot in the background on XP (without a task bar icon or command window), one way to do it is to put the .bat file into the Scheduled Tasks list (start -> all programs -> accessories -> system tools -> scheduled tasks), set to run at startup and run as user "NT AUTHORITY\SYSTEM" (without quotes; note space after NT and backslash before SYSTEM; this is in the properties dialog for the entry).
Thanks to everyone who's worked on the streamers -- absolutely fabulous.
mbagshaw
12-26-2011, 11:03 PM
It looks like there haven't been any posts on this forum since 2009, but I have just downloaded and installed version of StreamBaby released only recently so I gather it is still an active program.
I installed the program, changed the .ini file to point to my videos and launched the .bat. TiVo then lets me find the videos okay, but when I press PLAY I get an error x0ffff. Looking at the .bat window I get the following message is when I start StreamBaby:
Initializing StreamBaby v20111203-2132...
12/27/11 15:56:04 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
12/27/11 15:56:04 Listener: added factory
12/27/11 15:56:04 Main: streambaby ready & listening.
Is the message about not loading the FFmpeg native libraries the problem? If so, how do I fix this?
windracer
12-27-2011, 09:39 AM
This is the really old thread. Try the current (http://www.tivocommunity.com/tivo-vb/showthread.php?p=8874773) one.
vBulletin® v3.6.8, Copyright ©2000-2012, Jelsoft Enterprises Ltd.